[NETFILTER]: refcount leak of proto when ctnetlink dumping tuple
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
46998f59c0
commit
eaae4fa45e
|
@ -58,14 +58,17 @@ ctnetlink_dump_tuples_proto(struct sk_buff *skb,
|
|||
const struct ip_conntrack_tuple *tuple)
|
||||
{
|
||||
struct ip_conntrack_protocol *proto;
|
||||
int ret = 0;
|
||||
|
||||
NFA_PUT(skb, CTA_PROTO_NUM, sizeof(u_int8_t), &tuple->dst.protonum);
|
||||
|
||||
proto = ip_conntrack_proto_find_get(tuple->dst.protonum);
|
||||
if (proto && proto->tuple_to_nfattr)
|
||||
return proto->tuple_to_nfattr(skb, tuple);
|
||||
if (likely(proto && proto->tuple_to_nfattr)) {
|
||||
ret = proto->tuple_to_nfattr(skb, tuple);
|
||||
ip_conntrack_proto_put(proto);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
|
||||
nfattr_failure:
|
||||
return -1;
|
||||
|
|
Loading…
Reference in New Issue