aboutsummaryrefslogtreecommitdiff
path: root/src/gdbmtool.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2018-10-18 17:23:07 +0300
committerSergey Poznyakoff <gray@gnu.org>2018-10-18 17:23:07 +0300
commit852ff1b6e81ce13fdcd1fd4fb272b17d760760b3 (patch)
tree3113d09e84353d47dfd48b237c8b5e2c62eed869 /src/gdbmtool.c
parent2ff4ae9c745d4b9e6ee36468c81554027f66c35b (diff)
downloadgdbm-852ff1b6e81ce13fdcd1fd4fb272b17d760760b3.tar.gz
gdbm-852ff1b6e81ce13fdcd1fd4fb272b17d760760b3.tar.bz2
Attempt recovery in case of invalid next_block header field
* src/gdbmopen.c (validate_header): Return GDBM_NEED_RECOVERY if next_block is invalid. (_gdbm_validate_header): New function. (gdbm_fd_open): Set need_recovery depending on return from validate_header. (gdbm_open): Bail out on invalid value of GDBM_OPENMASK bits. * src/proto.h (_gdbm_validate_header): New proto. * src/recover.c (check_db): Re-validate the header. * src/gdbmtool.c (export_handler): Fix option processing.
Diffstat (limited to 'src/gdbmtool.c')
-rw-r--r--src/gdbmtool.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gdbmtool.c b/src/gdbmtool.c
index 8c97e1e..bbadbae 100644
--- a/src/gdbmtool.c
+++ b/src/gdbmtool.c
@@ -969,7 +969,7 @@ export_handler (struct handler_param *param)
int i;
int filemode;
- for (i = 0; i < param->argc; i++)
+ for (i = 1; i < param->argc; i++)
{
if (strcmp (PARAM_STRING (param, i), "truncate") == 0)
flags = GDBM_NEWDB;

Return to:

Send suggestions and report system problems to the System administrator.