From dc59444cd120e38d0babaeb3a7ad3d36f63225e6 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 19 Jun 2007 17:23:29 -0300 Subject: [PATCH] strong collision for very small numbers used as table keys --- bugs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/bugs b/bugs index adf118d4..f1af3721 100644 --- a/bugs +++ b/bugs @@ -1475,6 +1475,23 @@ ldebug.c: ]], } +Bug{ +what = [[Very small numbers all collide in the hash function. +(This creates only performance problems; the behavoir is correct.)]], +report = [[, on ]], +since = [[Lua 5.0]], +example = [[ ]], +patch = [[ +ltable.c: +87,88c87,88 +< n += 1; /* normalize number (avoid -0) */ +< lua_assert(sizeof(a) <= sizeof(n)); +--- +> if (luai_numeq(n, 0)) /* avoid problems with -0 */ +> return gnode(t, 0); +]], +} + Bug{ what = [[ ]], report = [[ , on ]],