diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index 72b89efc76154d..6d94351fd28cf6 100755 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c @@ -644,6 +644,8 @@ static int ping_v4_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);