summaryrefslogtreecommitdiffstats
path: root/extensions/libipt_ULOG.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-10-10 06:18:40 +0000
committerPatrick McHardy <kaber@trash.net>2006-10-10 06:18:40 +0000
commited26b7b0cedcdb9621ae7d4e225048614f52dc0f (patch)
tree7b7f68498d37bef33fc6ad83b8931af5af8dec0d /extensions/libipt_ULOG.c
parentb34bef5f9ff4ee20cd46df1e26f6d6efe0bb5380 (diff)
iptables segfaults when given "" to --log-prefix (Mike Frysinger <vapier@gentoo.org>)
Bugzilla #516
Diffstat (limited to 'extensions/libipt_ULOG.c')
-rw-r--r--extensions/libipt_ULOG.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/extensions/libipt_ULOG.c b/extensions/libipt_ULOG.c
index f4b7a14a..a73b685f 100644
--- a/extensions/libipt_ULOG.c
+++ b/extensions/libipt_ULOG.c
@@ -110,6 +110,14 @@ static int parse(int c, char **argv, int invert, unsigned int *flags,
"Maximum prefix length %u for --ulog-prefix",
(unsigned int)sizeof(loginfo->prefix) - 1);
+ if (strlen(optarg) == 0)
+ exit_error(PARAMETER_PROBLEM,
+ "No prefix specified for --ulog-prefix");
+
+ if (strlen(optarg) != strlen(strtok(optarg, "\n")))
+ exit_error(PARAMETER_PROBLEM,
+ "Newlines not allowed in --ulog-prefix");
+
strcpy(loginfo->prefix, optarg);
*flags |= IPT_LOG_OPT_PREFIX;
break;