[Crash-utility] [PATCH v4 2/4] Get the absolute value of SYMNAME_HASH_INDEX

Tao Liu ltao at redhat.com
Sat Sep 18 07:59:30 UTC 2021


SYMNAME_HASH_INDEX is used as the index of symname hash table. It will
be out of range if SYMNAME_HASH_INDEX is negative. Let's get its absolute
value to avoid such risk.

Signed-off-by: Tao Liu <ltao at redhat.com>
Reviewed-by: Philipp Rudo <prudo at redhat.com>
---
 defs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/defs.h b/defs.h
index c10ebff..3129f06 100644
--- a/defs.h
+++ b/defs.h
@@ -2725,7 +2725,7 @@ struct downsized {
 
 #define SYMNAME_HASH (512)
 #define SYMNAME_HASH_INDEX(name) \
- ((name[0] ^ (name[strlen(name)-1] * name[strlen(name)/2])) % SYMNAME_HASH)
+ (abs((name[0] ^ (name[strlen(name)-1] * name[strlen(name)/2])) % SYMNAME_HASH))
 
 #define PATCH_KERNEL_SYMBOLS_START  ((char *)(1))
 #define PATCH_KERNEL_SYMBOLS_STOP   ((char *)(2))
-- 
2.29.2




More information about the Crash-utility mailing list