summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@eurodev.net>2005-08-10 05:06:11 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-30 00:40:17 +0200
commit37012f7fd326eb3c959428a4fe7e203e6304fe43 (patch)
tree018066c05be0924990ed9a79ccef0ab553f6b710
parent[NETFILTER]: ctnetlink: make sure event order is correct (diff)
downloadlinux-37012f7fd326eb3c959428a4fe7e203e6304fe43.tar.xz
linux-37012f7fd326eb3c959428a4fe7e203e6304fe43.zip
[NETFILTER]: fix conntrack refcount leak in unlink_expect()
In unlink_expect(), the expectation is removed from the list so the refcount must be dropped as well. Signed-off-by: Pablo Neira Ayuso <pablo@eurodev.net> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/netfilter/ip_conntrack_core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_core.c b/net/ipv4/netfilter/ip_conntrack_core.c
index dace93eacc5c..9261388d5ac2 100644
--- a/net/ipv4/netfilter/ip_conntrack_core.c
+++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -204,6 +204,7 @@ static void unlink_expect(struct ip_conntrack_expect *exp)
list_del(&exp->list);
CONNTRACK_STAT_INC(expect_delete);
exp->master->expecting--;
+ ip_conntrack_expect_put(exp);
}
void __ip_ct_expect_unlink_destroy(struct ip_conntrack_expect *exp)