diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-01-17 00:34:58 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-01-17 00:34:58 -0500 |
commit | 2adf2fb372745a406544188029d3f769f71a9f2c (patch) | |
tree | bb0930f6d8bcb0df04276dbb705a368cab5f77d2 | |
parent | c07daf0f2f696392c01ad97ad23ef01aa3cdf263 (diff) | |
download | musl-2adf2fb372745a406544188029d3f769f71a9f2c.tar.gz musl-2adf2fb372745a406544188029d3f769f71a9f2c.tar.xz musl-2adf2fb372745a406544188029d3f769f71a9f2c.zip |
fix char signedness bug in dynlinker hash function
this only affects non-ascii symbol names, which are probably not in use anyway..
-rw-r--r-- | src/ldso/dynlink.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 1b55e077..86d4b803 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -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++; |