From 3ea6826e8e4ea39d0521a3a44ccbad322eaed73c Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Tue, 4 Mar 2025 08:55:36 -0500 Subject: make sure to AND chars of key with 255 to prevent sign extension --- shash.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shash.h b/shash.h index 69f5d61..e039ebb 100644 --- a/shash.h +++ b/shash.h @@ -43,7 +43,7 @@ StrHashEntry *shash_find(StrHashTable *h, strv_t key); #define FNV_OFFSET_BASIS (hash_t)14695981039346656037LU hash_t shash(strv_t s) { hash_t h = FNV_OFFSET_BASIS; - for (size_t i = 0; i < s.n; i++) h = (h ^ s.s[i]) * FNV_64_PRIME; + for (size_t i = 0; i < s.n; i++) h = (h ^ (s.s[i] & 255)) * FNV_64_PRIME; return h; } -- cgit 1.4.1-2-gfad0