gdbm/Fix-gdbmtool-import-command.patch
2021-12-09 16:57:42 +08:00

46 lines
1.4 KiB
Diff

From f3c7872fed5e0782438d186ac88c63035a637462 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org>
Date: Thu, 18 Nov 2021 12:22:59 +0200
Subject: Fix gdbmtool import command
* src/gdbmshell.c (import_handler): Fix option addressing (see
https://puszcza.gnu.org.ua/bugs/?535).
Fix freeing of the uninitialized variable.
---
src/gdbmshell.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/gdbmshell.c b/src/gdbmshell.c
index 08042ce..96b5844 100644
--- a/src/gdbmshell.c
+++ b/src/gdbmshell.c
@@ -661,7 +661,7 @@ err_printer (void *data GDBM_ARG_UNUSED, char const *fmt, ...)
fprintf (stderr, "\n");
}
-/* recover sumamry verbose backup max-failed-keys=N max-failed-buckets=N max-failures=N */
+/* recover summary verbose backup max-failed-keys=N max-failed-buckets=N max-failures=N */
static int
recover_handler (struct command_param *param, struct command_environ *cenv)
{
@@ -1585,7 +1585,7 @@ import_handler (struct command_param *param,
int rc = GDBMSHELL_OK;
char *file_name;
- for (i = 0; i < param->argc; i++)
+ for (i = 1; i < param->argc; i++)
{
if (strcmp (PARAM_STRING (param, i), "replace") == 0)
flag = GDBM_REPLACE;
@@ -1637,7 +1637,6 @@ import_handler (struct command_param *param,
return GDBMSHELL_GDBM_ERR;
}
- free (file_name);
if (gdbm_setopt (gdbm_file, GDBM_GETDBNAME, &file_name, sizeof (file_name)))
{
dberror ("%s", "GDBM_GETDBNAME");
--
cgit v1.2.1