From aa93498f6187f4ca19cfbe1dc3caa73644f8237f Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Wed, 6 Jun 2007 17:35:46 +0200 Subject: [PATCH] iptables plugin: Fix a segfault when a comment is passed in the configuration. --- src/iptables.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/iptables.c b/src/iptables.c index c48199ad..8dc57109 100644 --- a/src/iptables.c +++ b/src/iptables.c @@ -152,8 +152,12 @@ static int iptables_config (const char *key, const char *value) } else { - strncpy (temp.rule.comment, comment, - sizeof (temp.rule.comment) - 1); + temp.rule.comment = strdup (comment); + if (temp.rule.comment == NULL) + { + free (value_copy); + return (1); + } temp.rule_type = RTYPE_COMMENT; } } @@ -336,6 +340,10 @@ static int iptables_shutdown (void) for (i = 0; i < chain_num; i++) { + if ((chain_list[i] != NULL) && (chain_list[i]->rule_type == RTYPE_COMMENT)) + { + sfree (chain_list[i]->rule.comment); + } sfree (chain_list[i]); } sfree (chain_list); -- 2.30.2