Commit b9bc8c7b authored by Richard Weinberger's avatar Richard Weinberger

ubifs: Make r5 hash binary string aware

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: default avatarRichard Weinberger <richard@nod.at>
parent 304790c0
...@@ -69,7 +69,7 @@ static inline uint32_t key_r5_hash(const char *s, int len) ...@@ -69,7 +69,7 @@ static inline uint32_t key_r5_hash(const char *s, int len)
uint32_t a = 0; uint32_t a = 0;
const signed char *str = (const signed char *)s; const signed char *str = (const signed char *)s;
while (*str) { while (len--) {
a += *str << 4; a += *str << 4;
a += *str >> 4; a += *str >> 4;
a *= 11; a *= 11;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment