err = key_pol_get_resp(sk, xp, hdr, pol->sadb_x_policy_dir-1); 
err = key_pol_get_resp(sk, xp, hdr, dir); 
static int pfkey_spdget(struct sock *sk, struct sk_buff *skb, struct sadb_msg *hdr, void **ext_hdrs){	int err;	struct sadb_x_policy *pol;	struct xfrm_policy *xp;	struct km_event c;	if ((pol = ext_hdrs[SADB_X_EXT_POLICY-1]) == NULL)		return -EINVAL;	xp = xfrm_policy_byid(0, pol->sadb_x_policy_id,			      hdr->sadb_msg_type == SADB_X_SPDDELETE2);	if (xp == NULL)		return -ENOENT;	err = 0;	c.seq = hdr->sadb_msg_seq;	c.pid = hdr->sadb_msg_pid;	if (hdr->sadb_msg_type == SADB_X_SPDDELETE2) {		c.data.byid = 1;		c.event = XFRM_MSG_DELPOLICY;		km_policy_notify(xp, pol->sadb_x_policy_dir-1, &c);	} else {		err = key_pol_get_resp(sk, xp, hdr, pol->sadb_x_policy_dir-1);	}	xfrm_pol_put(xp);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/77d8d7a6848c81084f413e1ec4982123a56e2ccb/af_key.c/buggy/net/key/af_key.c