when using -fsanitize=undefined (which flags signed overflow which is UB), a crash can be reproduced when building the linux kernel with BTF info. cast to unsigned first to make the overflow not invoke UB semantics- the result is the same. Signed-off-by: psykose <alice@xxxxxxxxx> --- src/btf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/btf.c b/src/btf.c index 2d0840e..60cd412 100644 --- a/src/btf.c +++ b/src/btf.c @@ -3317,7 +3317,7 @@ struct btf_dedup { static long hash_combine(long h, long value) { - return h * 31 + value; + return (long)((unsigned long)h * 31 + (unsigned long)value); } #define for_each_dedup_cand(d, node, hash) \ base-commit: 42065ea6627ff6e1ab4c65e51042a70fbf30ff7c -- 2.45.2