From: Florian Forster Date: Wed, 6 Jun 2007 15:35:46 +0000 (+0200) Subject: iptables plugin: Fix a segfault when a comment is passed in the configuration. X-Git-Tag: collectd-4.0.1~4 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=aa93498f6187f4ca19cfbe1dc3caa73644f8237f;p=collectd.git iptables plugin: Fix a segfault when a comment is passed in the configuration. --- 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);