diff options
Diffstat (limited to 'src/gdbmopen.c')
-rw-r--r-- | src/gdbmopen.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gdbmopen.c b/src/gdbmopen.c index 5d59f65..b84ad63 100644 --- a/src/gdbmopen.c +++ b/src/gdbmopen.c @@ -105,12 +105,16 @@ validate_header (gdbm_file_header const *hdr, struct stat const *st) if (!(hdr->bucket_size > 0 && hdr->bucket_size > sizeof(hash_bucket))) return GDBM_BAD_HEADER; if (hdr->bucket_elems != bucket_element_count (hdr)) return GDBM_BAD_HEADER; + + /* Validate the avail block */ + if (!gdbm_avail_block_valid_p (&hdr->avail)) + return GDBM_BAD_HEADER; return 0; } GDBM_FILE gdbm_fd_open (int fd, const char *file_name, int block_size, |