 if (!proto || !proto->to_nfattr) 
 if (!proto->to_nfattr) { ip_conntrack_proto_put(proto); 
ctnetlink_dump_protoinfo(struct sk_buff *skb, const struct ip_conntrack *ct){	struct ip_conntrack_protocol *proto = ip_conntrack_proto_find_get(ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum);	struct nfattr *nest_proto;	int ret;		if (!proto || !proto->to_nfattr)		return 0;		nest_proto = NFA_NEST(skb, CTA_PROTOINFO);	ret = proto->to_nfattr(skb, nest_proto, ct);	ip_conntrack_proto_put(proto);	NFA_NEST_END(skb, nest_proto);	return ret;nfattr_failure:	return -1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/00cb277a4a1fb76aafb2fb28aa99f30546e619c5/ip_conntrack_netlink.c/clean/net/ipv4/netfilter/ip_conntrack_netlink.c