ath6kl: fix null skb dereference in ath6kl_rx()
authorKalle Valo <kvalo@qca.qualcomm.com>
Thu, 6 Oct 2011 11:32:32 +0000 (14:32 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 11 Nov 2011 10:50:56 +0000 (12:50 +0200)
smatch found that skb might be null in some cases in ath6kl_rx():

ath6kl/txrx.c +1252 ath6kl_rx(222) error: potential null derefence 'skb'.

This will happen when ath6kl is in AP mode and two clients send traffic
to each other.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/txrx.c

index bcf7b01..a9dff01 100644 (file)
@@ -1247,6 +1247,11 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet)
                }
                if (skb1)
                        ath6kl_data_tx(skb1, ar->net_dev);
+
+               if (skb == NULL) {
+                       /* nothing to deliver up the stack */
+                       return;
+               }
        }
 
        datap = (struct ethhdr *) skb->data;