if (skb2) kfree_skb(skb2); 
ctnetlink_get_conntrack(struct sock *ctnl, struct sk_buff *skb, 			struct nlmsghdr *nlh, struct nfattr *cda[], int *errp){	struct ip_conntrack_tuple_hash *h;	struct ip_conntrack_tuple tuple;	struct ip_conntrack *ct;	struct sk_buff *skb2 = NULL;	int err = 0;	DEBUGP("entered %s\n", __FUNCTION__);	if (nlh->nlmsg_flags & NLM_F_DUMP) {		struct nfgenmsg *msg = NLMSG_DATA(nlh);		u32 rlen;		if (msg->nfgen_family != AF_INET)			return -EAFNOSUPPORT;		if (NFNL_MSG_TYPE(nlh->nlmsg_type) ==					IPCTNL_MSG_CT_GET_CTRZERO) {#ifdef CONFIG_IP_NF_CT_ACCT			if ((*errp = netlink_dump_start(ctnl, skb, nlh,						ctnetlink_dump_table_w,						ctnetlink_done)) != 0)				return -EINVAL;#else			return -ENOTSUPP;#endif		} else {			if ((*errp = netlink_dump_start(ctnl, skb, nlh,		      		                        ctnetlink_dump_table,		                                	ctnetlink_done)) != 0)			return -EINVAL;		}		rlen = NLMSG_ALIGN(nlh->nlmsg_len);		if (rlen > skb->len)			rlen = skb->len;		skb_pull(skb, rlen);		return 0;	}	if (cda[CTA_TUPLE_ORIG-1])		err = ctnetlink_parse_tuple(cda, &tuple, CTA_TUPLE_ORIG);	else if (cda[CTA_TUPLE_REPLY-1])		err = ctnetlink_parse_tuple(cda, &tuple, CTA_TUPLE_REPLY);	else		return -EINVAL;	if (err < 0)		return err;	h = ip_conntrack_find_get(&tuple, NULL);	if (!h) {		DEBUGP("tuple not found in conntrack hash");		return -ENOENT;	}	DEBUGP("tuple found\n");	ct = tuplehash_to_ctrack(h);	err = -ENOMEM;	skb2 = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC);	if (!skb2) {		ip_conntrack_put(ct);		return -ENOMEM;	}	NETLINK_CB(skb2).dst_pid = NETLINK_CB(skb).pid;	err = ctnetlink_fill_info(skb2, NETLINK_CB(skb).pid, nlh->nlmsg_seq, 				  IPCTNL_MSG_CT_NEW, 1, ct);	ip_conntrack_put(ct);	if (err <= 0)		goto out;	err = netlink_unicast(ctnl, skb2, NETLINK_CB(skb).pid, MSG_DONTWAIT);	if (err < 0)		goto out;	DEBUGP("leaving\n");	return 0;out:	if (skb2)		kfree_skb(skb2);	return -1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/0f81eb4db4f1cc560318b6e7762a7a1d7d8c7095/ip_conntrack_netlink.c/buggy/net/ipv4/netfilter/ip_conntrack_netlink.c