From 9f6d685c05c9f71ba842f65fb2139ebbd30bd606 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 16 Nov 2009 11:15:44 +0000 Subject: [PATCH] I made a complete horlicks of the last change, fix it so it doesn't either lead to a double free or free the item after the end of the array. --- cmd-string.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/cmd-string.c b/cmd-string.c index 7af34fb0..1a380e50 100644 --- a/cmd-string.c +++ b/cmd-string.c @@ -151,10 +151,6 @@ cmd_string_parse(const char *s, struct cmd_list **cmdlist, char **cause) if (*cmdlist == NULL) goto out; - do - xfree(argv[argc - 1]); - while (--argc > 0); - rval = 0; goto out; case '~': @@ -189,7 +185,7 @@ out: if (argv != NULL) { for (i = 0; i < argc; i++) - xfree(argv[argc]); + xfree(argv[i]); xfree(argv); }