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 1b55e0774b9818c0f4807bab35d46876977ba0c7..86d4b80397ddb61c6a9360564a1824d8c6c249e5 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++;