As of now all filenames known by UBIFS are strings with a NUL
terminator. With encrypted filenames a filename can be any binary
string and the r5 function cannot search for the NUL terminator.
UBIFS always knows how long a filename is, therefore we can change
the hash function to iterate over the filename length to work
correctly with binary strings.
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
{
uint32_t a = 0;
const signed char *str = (const signed char *)s;
- (void)len;
- while (*str) {
+ while (len--) {
a += *str << 4;
a += *str >> 4;
a *= 11;