diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-10-12 10:02:37 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2020-10-12 12:29:09 -0300 |
commit | 9a89fb1c9dfeda4640780111f9e9437f08cfad88 (patch) | |
tree | 63b47c65d3881929d45fe63156816157356920a6 /ltests.c | |
parent | c23cc86c542449db47bdb21e9550203309bef045 (diff) | |
download | lua-9a89fb1c9dfeda4640780111f9e9437f08cfad88.tar.gz lua-9a89fb1c9dfeda4640780111f9e9437f08cfad88.tar.bz2 lua-9a89fb1c9dfeda4640780111f9e9437f08cfad88.zip |
Hash always use all characters in a long string
Hashes for long strings are computed only when they are used as keys
in a table, not a too common case. And, in that case, it is to easy to
force collisions changing only the characters which are not part of the
hash.
Diffstat (limited to '')
-rw-r--r-- | ltests.c | 1 |
1 files changed, 0 insertions, 1 deletions
@@ -523,7 +523,6 @@ static lu_mem checkgraylist (global_State *g, GCObject *o) { | |||
523 | ((void)g); /* better to keep it available if we need to print an object */ | 523 | ((void)g); /* better to keep it available if we need to print an object */ |
524 | while (o) { | 524 | while (o) { |
525 | lua_assert(!!isgray(o) ^ (getage(o) == G_TOUCHED2)); | 525 | lua_assert(!!isgray(o) ^ (getage(o) == G_TOUCHED2)); |
526 | //lua_assert(isgray(o) || getage(o) == G_TOUCHED2); | ||
527 | lua_assert(!testbit(o->marked, TESTBIT)); | 526 | lua_assert(!testbit(o->marked, TESTBIT)); |
528 | if (keepinvariant(g)) | 527 | if (keepinvariant(g)) |
529 | l_setbit(o->marked, TESTBIT); /* mark that object is in a gray list */ | 528 | l_setbit(o->marked, TESTBIT); /* mark that object is in a gray list */ |