Prechádzať zdrojové kódy

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>
Thomas Pugliese 12 rokov pred
rodič
commit
6741448eb0
1 zmenil súbory, kde vykonal 2 pridanie a 0 odobranie
  1. 2 0
      drivers/usb/wusbcore/wa-xfer.c

+ 2 - 0
drivers/usb/wusbcore/wa-xfer.c

@@ -1560,6 +1560,7 @@ error_submit_buf_in:
 			xfer, seg_idx, result);
 	seg->result = result;
 	kfree(wa->buf_in_urb->sg);
+	wa->buf_in_urb->sg = NULL;
 error_sg_alloc:
 	__wa_xfer_abort(xfer);
 error_complete:
@@ -1859,6 +1860,7 @@ out:
 
 error_dti_urb_submit:
 	usb_put_urb(wa->buf_in_urb);
+	wa->buf_in_urb = NULL;
 error_buf_in_urb_alloc:
 	usb_put_urb(wa->dti_urb);
 	wa->dti_urb = NULL;