diff options
-rw-r--r-- | src/bucket.c | 5 | ||||
-rw-r--r-- | src/gdbmtool.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/bucket.c b/src/bucket.c index e17019c..a3e8f4e 100644 --- a/src/bucket.c +++ b/src/bucket.c | |||
@@ -143,7 +143,10 @@ _gdbm_get_bucket (GDBM_FILE dbf, int dir_index) | |||
143 | } | 143 | } |
144 | /* Validate the bucket */ | 144 | /* Validate the bucket */ |
145 | bucket = dbf->bucket_cache[lru].ca_bucket; | 145 | bucket = dbf->bucket_cache[lru].ca_bucket; |
146 | if (!(bucket->count >= 0 && bucket->count <= dbf->header->bucket_elems)) | 146 | if (!(bucket->count >= 0 |
147 | && bucket->count <= dbf->header->bucket_elems | ||
148 | && bucket->bucket_bits >= 0 | ||
149 | && bucket->bucket_bits <= GDBM_HASH_BITS)) | ||
147 | { | 150 | { |
148 | GDBM_SET_ERRNO (dbf, GDBM_BAD_BUCKET, TRUE); | 151 | GDBM_SET_ERRNO (dbf, GDBM_BAD_BUCKET, TRUE); |
149 | return -1; | 152 | return -1; |
diff --git a/src/gdbmtool.c b/src/gdbmtool.c index dbb7510..6d56578 100644 --- a/src/gdbmtool.c +++ b/src/gdbmtool.c | |||
@@ -300,7 +300,7 @@ _gdbm_print_avail_list (FILE *fp, GDBM_FILE dbf) | |||
300 | /* Print the block! */ | 300 | /* Print the block! */ |
301 | fprintf (fp, _("\nblock = %d\nsize = %d\ncount = %d\n"), temp, | 301 | fprintf (fp, _("\nblock = %d\nsize = %d\ncount = %d\n"), temp, |
302 | av_stk->size, av_stk->count); | 302 | av_stk->size, av_stk->count); |
303 | if (gdbm_avail_block_validate (dbf, av_stk)) | 303 | if (gdbm_avail_block_validate (dbf, av_stk) == 0) |
304 | av_table_display (av_stk->av_table, av_stk->count, fp); | 304 | av_table_display (av_stk->av_table, av_stk->count, fp); |
305 | else | 305 | else |
306 | terror (_("invalid avail_block")); | 306 | terror (_("invalid avail_block")); |