fix char signedness bug in dynlinker hash function
authorRich Felker <dalias@aerifal.cx>
Tue, 17 Jan 2012 05:34:58 +0000 (00:34 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 17 Jan 2012 05:34:58 +0000 (00:34 -0500)
this only affects non-ascii symbol names, which are probably not in
use anyway..

src/ldso/dynlink.c

index 1b55e07..86d4b80 100644 (file)
@@ -73,8 +73,9 @@ static void decode_vec(size_t *v, size_t *a, size_t cnt)
        }
 }
 
-static uint32_t hash(const char *s)
+static uint32_t hash(const char *s0)
 {
+       const unsigned char *s = (void *)s0;
        uint_fast32_t h = 0;
        while (*s) {
                h = 16*h + *s++;