diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-05-16 22:02:53 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-05-16 22:02:53 +0300 |
commit | 48733c9aca3d12fc07a791d24fb3e6890de9c01f (patch) | |
tree | 95d483c9738e83ea30cedd8b75ea93cdd7876bff /src/gdbmerrno.c | |
parent | bbfd14e24d0c288bff351a9ed4cdac217e6cbe4d (diff) | |
download | gdbm-48733c9aca3d12fc07a791d24fb3e6890de9c01f.tar.gz gdbm-48733c9aca3d12fc07a791d24fb3e6890de9c01f.tar.bz2 |
Improve database file safety checks.
* src/bucket.c (_gdbm_get_bucket): Verify bucket consistency.
* src/gdbm.h.in (GDBM_BAD_BUCKET, GDBM_WRONG_ARCH): New error
codes.
* src/gdbmerrno.c (gdbm_errlist): New error codes.
* src/gdbmopen.c (gdbm_fd_open): Improve header consistency checks.
Diffstat (limited to 'src/gdbmerrno.c')
-rw-r--r-- | src/gdbmerrno.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gdbmerrno.c b/src/gdbmerrno.c index 1962d1a..0c8c8e5 100644 --- a/src/gdbmerrno.c +++ b/src/gdbmerrno.c @@ -131,7 +131,9 @@ const char * const gdbm_errlist[_GDBM_MAX_ERRNO+1] = { [GDBM_ERR_FILE_MODE] = N_("Failed to restore file mode"), [GDBM_NEED_RECOVERY] = N_("Database needs recovery"), [GDBM_BACKUP_FAILED] = N_("Failed to create backup copy"), - [GDBM_DIR_OVERFLOW] = N_("Bucket directory overflow") + [GDBM_DIR_OVERFLOW] = N_("Bucket directory overflow"), + [GDBM_BAD_BUCKET] = N_("Malformed bucket header"), + [GDBM_WRONG_OFF_T] = N_("File header assumes wrong off_t size") }; const char * |