aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authoraldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-04-05 09:21:24 +0000
committeraldot <aldot@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-04-05 09:21:24 +0000
commit20522c2c938824f6a34ffbe55c4039ca9b7df28b (patch)
tree2e465cd3b7d5f61f9eb318c1675ef27e164098de /libbb
parente46352cebe5849bea1e2e837ee1572b01422e972 (diff)
downloadbusybox-w32-20522c2c938824f6a34ffbe55c4039ca9b7df28b.tar.gz
busybox-w32-20522c2c938824f6a34ffbe55c4039ca9b7df28b.tar.bz2
busybox-w32-20522c2c938824f6a34ffbe55c4039ca9b7df28b.zip
- fix segfault in reset_ino_dev_hashtable() when *hashtable was null.
Seen in the testsuite for du -l .../testsuite on exit with CLEAN_UP enabled. git-svn-id: svn://busybox.net/trunk/busybox@18331 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r--libbb/inode_hash.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libbb/inode_hash.c b/libbb/inode_hash.c
index 0705102b8..78c1b0f9e 100644
--- a/libbb/inode_hash.c
+++ b/libbb/inode_hash.c
@@ -77,7 +77,7 @@ void reset_ino_dev_hashtable(void)
77 int i; 77 int i;
78 ino_dev_hashtable_bucket_t *bucket; 78 ino_dev_hashtable_bucket_t *bucket;
79 79
80 for (i = 0; i < HASH_SIZE; i++) { 80 for (i = 0; ino_dev_hashtable && i < HASH_SIZE; i++) {
81 while (ino_dev_hashtable[i] != NULL) { 81 while (ino_dev_hashtable[i] != NULL) {
82 bucket = ino_dev_hashtable[i]->next; 82 bucket = ino_dev_hashtable[i]->next;
83 free(ino_dev_hashtable[i]); 83 free(ino_dev_hashtable[i]);
@@ -87,4 +87,6 @@ void reset_ino_dev_hashtable(void)
87 free(ino_dev_hashtable); 87 free(ino_dev_hashtable);
88 ino_dev_hashtable = NULL; 88 ino_dev_hashtable = NULL;
89} 89}
90#else
91void reset_ino_dev_hashtable(void);
90#endif 92#endif