ath9k_htc: dereferencing before check in hif_usb_tx_cb()
PATCH 1/2 ath9k_htc: dereferencing before check in hif_usb_tx_cb()
After c11d8f89d3b7: "ath9k_htc: Simplify TX URB management" we no longer assume that tx_buf is a non-null pointer.
Signed-off-by Dan Carpenter <[email protected]>
drivers/net/wireless/ath/ath9k/hif_usb.c +4 -2
@@ -107,12 +107,14 @@ static inline void ath9k_skb_queue_purge(struct hif_device_usb *hif_dev,static void hif_usb_tx_cb (struct urb *urb) {struct tx_buf *tx_buf = (struct tx_buf *) urb->context; -struct hif_device_usb *hif_dev = tx_buf->hif_dev; +struct hif_device_usb *hif_dev;struct sk_buff *skb; -if (!hif_dev || !tx_buf) +if (!tx_buf || !tx_buf->hif_dev)return ; + hif_dev = tx_buf->hif_dev; +switch (urb->status) {case 0 :break ;
PATCH 1/2 ath9k_htc: dereferencing before check in hif_usb_tx_cb()
Quoted 4 lines · Dan Carpenter
After
c11d8f89d3b7: "ath9k_htc: Simplify TX URB management" we no longer assume thattx_bufis a non-null pointer.Signed-off-by Dan Carpenter <[email protected]>
Thanks.
Acked-by Sujith <[email protected]>
Quoted 21 lines
drivers/net/wireless/ath/ath9k/hif_usb.c +4
-2@@ -107,12 +107,14 @@ static inline void ath9k_skb_queue_purge(struct hif_device_usb *hif_dev,static void hif_usb_tx_cb (struct urb *urb) {struct tx_buf *tx_buf = (struct tx_buf *) urb->context; -struct hif_device_usb *hif_dev = tx_buf->hif_dev; +struct hif_device_usb *hif_dev;struct sk_buff *skb; -if (!hif_dev || !tx_buf) +if (!tx_buf || !tx_buf->hif_dev)return ; + hif_dev = tx_buf->hif_dev; +switch (urb->status) {case 0 :break ;