summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ipset.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ipset.c b/src/ipset.c
index ce1b73f..14a351a 100644
--- a/src/ipset.c
+++ b/src/ipset.c
@@ -176,7 +176,7 @@ build_argv(char *buffer)
if ((newargc + 1) == (int)(sizeof(newargv)/sizeof(char *))) {
exit_error(PARAMETER_PROBLEM,
"Line is too long to parse.");
- return;
+ goto out;
}
switch (*tmp) {
case '"':
@@ -200,7 +200,7 @@ build_argv(char *buffer)
}
if (!*(tmp+1) && quoted) {
exit_error(PARAMETER_PROBLEM, "Missing close quote!");
- return;
+ goto out;
}
if (!*arg)
continue;
@@ -209,6 +209,7 @@ build_argv(char *buffer)
memset(arg, 0, strlen(arg) + 1);
i = 0;
}
+out:
free(arg);
}