about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-01-17 00:34:58 -0500
committerRich Felker <dalias@aerifal.cx>2012-01-17 00:34:58 -0500
commit2adf2fb372745a406544188029d3f769f71a9f2c (patch)
treebb0930f6d8bcb0df04276dbb705a368cab5f77d2
parentc07daf0f2f696392c01ad97ad23ef01aa3cdf263 (diff)
downloadmusl-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.c3
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++;