summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ip6tables.c4
-rw-r--r--iptables.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ip6tables.c b/ip6tables.c
index 6afe68fd..e2c514e2 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -1691,8 +1691,10 @@ void clear_rule_matches(struct ip6tables_rule_match **matches)
for (matchp = *matches; matchp;) {
tmp = matchp->next;
- if (matchp->match->m)
+ if (matchp->match->m) {
free(matchp->match->m);
+ matchp->match->m = NULL;
+ }
free(matchp);
matchp = tmp;
}
diff --git a/iptables.c b/iptables.c
index e22b9ea1..b66e5e1b 100644
--- a/iptables.c
+++ b/iptables.c
@@ -1800,8 +1800,10 @@ void clear_rule_matches(struct iptables_rule_match **matches)
for (matchp = *matches; matchp;) {
tmp = matchp->next;
- if (matchp->match->m)
+ if (matchp->match->m) {
free(matchp->match->m);
+ matchp->match->m = NULL;
+ }
free(matchp);
matchp = tmp;
}