aboutsummaryrefslogtreecommitdiff
path: root/src/gdbm.h.in
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-05-25 14:17:11 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-05-25 15:00:01 +0300
commit655cd193549e20ea8a8e77125adec7c5909c067e (patch)
treed59f997331bfcec8c0c17afb7bc8438215f09102 /src/gdbm.h.in
parent8d2f483b28f8418703982658b3e7dda7a96ad335 (diff)
downloadgdbm-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 'src/gdbm.h.in')
-rw-r--r--src/gdbm.h.in3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gdbm.h.in b/src/gdbm.h.in
index e576c69..e6bdc58 100644
--- a/src/gdbm.h.in
+++ b/src/gdbm.h.in
@@ -224,9 +224,10 @@ extern int gdbm_copy_meta (GDBM_FILE dst, GDBM_FILE src);
# define GDBM_BAD_HEADER 33
# define GDBM_BAD_AVAIL 34
# define GDBM_BAD_HASH_TABLE 35
+# define GDBM_BAD_DIR_ENTRY 36
# define _GDBM_MIN_ERRNO 0
-# define _GDBM_MAX_ERRNO GDBM_BAD_HASH_TABLE
+# define _GDBM_MAX_ERRNO GDBM_BAD_DIR_ENTRY
/* This one was never used and will be removed in the future */
# define GDBM_UNKNOWN_UPDATE GDBM_UNKNOWN_ERROR

Return to:

Send suggestions and report system problems to the System administrator.