[ros-diffs] [fireball] 40781: - Handle failure case correctly in *_submit_urb: remove URB from an endpoint's linked list, instead of corrupting this URB's memory. Thanks to Gregor Schneider for spotting the suspicious place. See issue #4279 for more details.

fireball at svn.reactos.org fireball at svn.reactos.org
Mon May 4 11:32:03 CEST 2009


Author: fireball
Date: Mon May  4 13:32:02 2009
New Revision: 40781

URL: http://svn.reactos.org/svn/reactos?rev=40781&view=rev
Log:
- Handle failure case correctly in *_submit_urb: remove URB from an endpoint's linked list, instead of corrupting this URB's memory. Thanks to Gregor Schneider for spotting the suspicious place.
See issue #4279 for more details.

Modified:
    trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c
    trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c

Modified: trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c?rev=40781&r1=40780&r2=40781&view=diff
==============================================================================
--- trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c [iso-8859-1] Mon May  4 13:32:02 2009
@@ -798,7 +798,7 @@
 
   LBL_OUT2:
     pdev->ref_count--;
-    RemoveEntryList((PLIST_ENTRY) purb);
+    RemoveEntryList(&purb->urb_link);
 
   LBL_OUT:
     unlock_dev(pdev, TRUE);

Modified: trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c?rev=40781&r1=40780&r2=40781&view=diff
==============================================================================
--- trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c [iso-8859-1] Mon May  4 13:32:02 2009
@@ -1436,7 +1436,7 @@
 
 LBL_OUT2:
     pdev->ref_count--;
-    RemoveEntryList((PLIST_ENTRY) purb);
+    RemoveEntryList(&purb->urb_link);
 
 LBL_OUT:
     unlock_dev(pdev, TRUE);



More information about the Ros-diffs mailing list