staging: frontier: use after free in disconnect()
Subsystems (2)
PATCH 1/1 staging: frontier: use after free in disconnect()
usb_alphatrack_delete() frees "dev" so we can't use it on that path.
Signed-off-by Dan Carpenter <[email protected]>
drivers/staging/frontier/alphatrack.c +1 -1
@@ -827,11 +827,11 @@ static void usb_alphatrack_disconnect(struct usb_interface *intf)mutex_unlock (&dev->mtx);usb_alphatrack_delete (dev); }else { +atomic_set (&dev->writes_pending,0 ); dev->intf =NULL ;mutex_unlock (&dev->mtx); } -atomic_set (&dev->writes_pending,0 );mutex_unlock (&disconnect_mutex); dev_info(&intf->dev, "Alphatrack Surface #%d now disconnected\n",