This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
hv_func.h - fix seed initialization in sdbm and djb2 hashing algorithms.
authorYves Orton <demerphq@gmail.com>
Sun, 13 Apr 2014 10:54:12 +0000 (12:54 +0200)
committerYves Orton <demerphq@gmail.com>
Sun, 1 Jun 2014 22:33:19 +0000 (00:33 +0200)
commit54e07e2b21cb1f58c04d67bca2a311715ba8815e
tree362a330b97d3c3b1de32cbf9acf7eff49e2e3041
parent3ca75eca84b9d0987b69e271b2c50cae574df77e
hv_func.h - fix seed initialization in sdbm and djb2 hashing algorithms.

In a previous commit I added code to "mix in" the length of the
string into the seed used by these functions, to avoid issues with
zero seeds, and with the hope that it makes it harder to create
multicollision attacks against these hash functions.

Unfortunately when I restructured the seed logic for the inline
functions in hv_func.h I messed it up, and these hash functions
were broken. I never noticed because they are both such bad hash
functions for our needs that I never built with them, and we have
no infrastructure to make it easy to test building with non-standard
hash functions so it never got automatically tested. Hopefully
at some point someone will find a round-tuit and teach Configure
about selecting alternate hash functions.
hv_func.h