if (nlh->nlmsg_type != TCPDIAG_GETSOCK) 
if (nlh->nlmsg_type != TCPDIAG_GETSOCK #if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE) && nlh->nlmsg_type != DCCPDIAG_GETSOCK #endif ) 
tcpdiag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh){	if (!(nlh->nlmsg_flags&NLM_F_REQUEST))		return 0;	if (nlh->nlmsg_type != TCPDIAG_GETSOCK)		goto err_inval;	if (NLMSG_LENGTH(sizeof(struct tcpdiagreq)) > skb->len)		goto err_inval;	if (nlh->nlmsg_flags&NLM_F_DUMP) {		if (nlh->nlmsg_len > 4 + NLMSG_SPACE(sizeof(struct tcpdiagreq))) {			struct rtattr *rta = (struct rtattr*)(NLMSG_DATA(nlh) + sizeof(struct tcpdiagreq));			if (rta->rta_type != TCPDIAG_REQ_BYTECODE ||			    rta->rta_len < 8 ||			    rta->rta_len > nlh->nlmsg_len - NLMSG_SPACE(sizeof(struct tcpdiagreq)))				goto err_inval;			if (tcpdiag_bc_audit(RTA_DATA(rta), RTA_PAYLOAD(rta)))				goto err_inval;		}		return netlink_dump_start(tcpnl, skb, nlh,					  tcpdiag_dump,					  tcpdiag_dump_done);	} else {		return tcpdiag_get_exact(skb, nlh);	}err_inval:	return -EINVAL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/540722ffc3a0d7e11d97a13e1ce6f3bc23b061c1/tcp_diag.c/buggy/net/ipv4/tcp_diag.c