aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/wusbcore
diff options
context:
space:
mode:
authorThomas Pugliese <thomas.pugliese@gmail.com>2013-09-26 15:08:16 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-26 19:31:37 -0400
commit6741448eb01a1844b78c83fa8faf0c95524fc09b (patch)
tree93b1ab4c7a81045a47f49371354f55759e73ebb1 /drivers/usb/wusbcore
parentd5b5c9f228bf15d134b0ac8d493b119417f5f9e9 (diff)
usb: wusbcore: set pointers to NULL after freeing in error cases
This patch fixes two cases where error handling code was freeing memory but not setting the pointer to NULL. This could lead to a double free in the HWA shutdown code. Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/wusbcore')
-rw-r--r--drivers/usb/wusbcore/wa-xfer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c
index 61b0597c399b..0b27146b5bc1 100644
--- a/drivers/usb/wusbcore/wa-xfer.c
+++ b/drivers/usb/wusbcore/wa-xfer.c
@@ -1560,6 +1560,7 @@ error_submit_buf_in:
1560 xfer, seg_idx, result); 1560 xfer, seg_idx, result);
1561 seg->result = result; 1561 seg->result = result;
1562 kfree(wa->buf_in_urb->sg); 1562 kfree(wa->buf_in_urb->sg);
1563 wa->buf_in_urb->sg = NULL;
1563error_sg_alloc: 1564error_sg_alloc:
1564 __wa_xfer_abort(xfer); 1565 __wa_xfer_abort(xfer);
1565error_complete: 1566error_complete:
@@ -1859,6 +1860,7 @@ out:
1859 1860
1860error_dti_urb_submit: 1861error_dti_urb_submit:
1861 usb_put_urb(wa->buf_in_urb); 1862 usb_put_urb(wa->buf_in_urb);
1863 wa->buf_in_urb = NULL;
1862error_buf_in_urb_alloc: 1864error_buf_in_urb_alloc:
1863 usb_put_urb(wa->dti_urb); 1865 usb_put_urb(wa->dti_urb);
1864 wa->dti_urb = NULL; 1866 wa->dti_urb = NULL;