diff options
author | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org> | 2006-10-10 06:18:40 +0000 |
---|---|---|
committer | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org> | 2006-10-10 06:18:40 +0000 |
commit | 689107ec4d1f15e872b859f4ac9e1bffd06be9fe (patch) | |
tree | 7b7f68498d37bef33fc6ad83b8931af5af8dec0d /extensions/libipt_ULOG.c | |
parent | d128b2b3b044b8005b2f7c2a46196c3376eac7ad (diff) |
[PATCH]: 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.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/extensions/libipt_ULOG.c b/extensions/libipt_ULOG.c index f4b7a14..a73b685 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; |