diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-05-25 14:17:11 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-05-25 15:00:01 +0300 |
commit | 655cd193549e20ea8a8e77125adec7c5909c067e (patch) | |
tree | d59f997331bfcec8c0c17afb7bc8438215f09102 /NEWS | |
parent | 8d2f483b28f8418703982658b3e7dda7a96ad335 (diff) | |
download | gdbm-655cd193549e20ea8a8e77125adec7c5909c067e.tar.gz gdbm-655cd193549e20ea8a8e77125adec7c5909c067e.tar.bz2 |
More database consistency checks
* NEWS: Update.
* THANKS: Update.
* src/bucket.c (_gdbm_get_bucket): Check if directory entry is
valid. Don't cache invalid buckets.
* src/gdbm.h.in (GDBM_BAD_DIR_ENTRY): New error code.
* src/gdbmerrno.c: Likewise.
* src/gdbmopen.c (validate_header): Compute expected
number of bucket elements based on the bucket size, not on
the block size.
(_gdbm_init_cache_entry): New function.
* src/proto.h (_gdbm_init_cache_entry): New proto.
* src/recover.c (gdbm_recover): Clear error state after return
from check_db indicating failure.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1,4 +1,4 @@ -GNU dbm NEWS -- history of user-visible changes. 2018-05-24 +GNU dbm NEWS -- history of user-visible changes. 2018-05-25 Copyright (C) 1990-2018 Free Software Foundation, Inc. See the end of file for copying conditions. @@ -10,6 +10,9 @@ FIXME: BUMP VI_MAJOR * Implement database consistency checks +Special thanks to Lionel Debroux and Craig Young for investing +their time and efforts in testing and providing valuable feedback. + * Improved error checking * Removed gdbm-1.8.3 compatibility layer @@ -40,6 +43,7 @@ recovered_keys - duplicate_keys. GDBM_BAD_HEADER "Malformed database file header" GDBM_BAD_AVAIL "Malformed avail_block" GDBM_BAD_HASH_TABLE "Malformed hash table" + GDBM_BAD_DIR_ENTRY "Invalid directory entry" Version 1.14.1 - 2018-01-03 |