From f16d4a0947c00f5256aad67ddca906948a25b4a4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 20 Dec 2011 14:54:06 -0800 Subject: Critical regression. Hash lookup was crashing on some platforms due to negative hashing values being reduced modulo table size to a negative array index. * hash.c (equal_hash, eql_hash): Ensure that value returned is in the range [0,NUM_MAX]. (hash_obj): Unused function removed. (cobj_hash_op): Use hashing similar to eql hash for other kinds of references. (hash_eql, hash_equal): Removed bogus % NUM_MAX reduction. * hash.h (hash_obj): Declaration removed. --- ChangeLog | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 11edcfce..c5851292 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2011-12-20 Kaz Kylheku + + Critical regression. Hash lookup was crashing on some platforms + due to negative hashing values being reduced modulo table size + to a negative array index. + + * hash.c (equal_hash, eql_hash): Ensure + that value returned is in the range [0,NUM_MAX]. + (hash_obj): Unused function removed. + (cobj_hash_op): Use hashing similar to eql hash for + other kinds of references. + (hash_eql, hash_equal): Removed bogus % NUM_MAX reduction. + + * hash.h (hash_obj): Declaration removed. + 2011-12-20 Kaz Kylheku * eval.c (eval_init): New functions registered as intrinsics. -- cgit v1.2.3