
10 Feb
2019
10 Feb
'19
2:08 p.m.
On Wed, Jan 30, 2019 at 11:39:54AM +0100, Roman Kapl wrote:
Only first previously deleted entry was recognized, leading hsearch_r to think that there was no previously deleted entry. It then conluded that a free entry was found, even if there were no free entries and it overwrote a random entry.
This patch makes sure all deleted or free entries are always found and also introduces constants for the 0 and -1 numbers. Unit tests to excersise a simple hash table usage and catch the corruption were added.
To trash your environment, simply run this loop:
setenv i 0 while true; do setenv v_$i $i setenv v_$i setexpr i $i + 1 done
Signed-off-by: Roman Kapl rka@sysgo.com
Applied to u-boot/master, thanks!
--
Tom