Commit 4dc2a5a8 authored by 蒋家盛's avatar 蒋家盛 Committed by Steffen Klassert
Browse files

net: af_key: add check for pfkey_broadcast in function pfkey_process



If skb_clone() returns null pointer, pfkey_broadcast() will
return error.
Therefore, it should be better to check the return value of
pfkey_broadcast() and return error if fails.

Fixes: 1da177e4 ("Linux-2.6.12-rc2")
Signed-off-by: default avatarJiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
parent e6175a2e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2826,8 +2826,10 @@ static int pfkey_process(struct sock *sk, struct sk_buff *skb, const struct sadb
	void *ext_hdrs[SADB_EXT_MAX];
	int err;

	pfkey_broadcast(skb_clone(skb, GFP_KERNEL), GFP_KERNEL,
	err = pfkey_broadcast(skb_clone(skb, GFP_KERNEL), GFP_KERNEL,
			      BROADCAST_PROMISC_ONLY, NULL, sock_net(sk));
	if (err)
		return err;

	memset(ext_hdrs, 0, sizeof(ext_hdrs));
	err = parse_exthdrs(skb, hdr, ext_hdrs);