|
@@ -642,6 +642,8 @@ static int ping_v4_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh,
|
|
{
|
|
{
|
|
struct sk_buff *skb = skb_peek(&sk->sk_write_queue);
|
|
struct sk_buff *skb = skb_peek(&sk->sk_write_queue);
|
|
|
|
|
|
|
|
+ if (!skb)
|
|
|
|
+ return 0;
|
|
pfh->wcheck = csum_partial((char *)&pfh->icmph,
|
|
pfh->wcheck = csum_partial((char *)&pfh->icmph,
|
|
sizeof(struct icmphdr), pfh->wcheck);
|
|
sizeof(struct icmphdr), pfh->wcheck);
|
|
pfh->icmph.checksum = csum_fold(pfh->wcheck);
|
|
pfh->icmph.checksum = csum_fold(pfh->wcheck);
|