diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index 459b957104a8b1..431d597515d25b 100644 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c @@ -450,6 +450,8 @@ static int ping_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh, { struct sk_buff *skb = skb_peek(&sk->sk_write_queue); + if (!skb) + return 0; pfh->wcheck = csum_partial((char *)&pfh->icmph, sizeof(struct icmphdr), pfh->wcheck); pfh->icmph.checksum = csum_fold(pfh->wcheck);