summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-20 14:54:06 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-20 14:54:06 -0800
commitf16d4a0947c00f5256aad67ddca906948a25b4a4 (patch)
treeb25dbd64901c2ea4b2d3e3295d46fc5eff701cf3 /ChangeLog
parentd19d3af151798c90e967276bd4f03d7db5536056 (diff)
downloadtxr-f16d4a0947c00f5256aad67ddca906948a25b4a4.tar.gz
txr-f16d4a0947c00f5256aad67ddca906948a25b4a4.tar.bz2
txr-f16d4a0947c00f5256aad67ddca906948a25b4a4.zip
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 11edcfce..c5851292 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
2011-12-20 Kaz Kylheku <kaz@kylheku.com>
+ 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 <kaz@kylheku.com>
+
* eval.c (eval_init): New functions registered as intrinsics.
* lib.c (copy_vec, sub_vec): New functions.