- crash with invalid device_handle for usb_release_interface fixed
git-svn-id: https://svn.code.sf.net/p/libusbjava/code/trunk@155 94ad28fe-ef68-46b1-9651-e7ae4fcf1c4c
This commit is contained in:
@@ -146,11 +146,9 @@ public class Device {
|
|||||||
}
|
}
|
||||||
release_interface(usb_dev_handle, interface_);
|
release_interface(usb_dev_handle, interface_);
|
||||||
if (LibusbWin.usb_close(usb_dev_handle) < 0) {
|
if (LibusbWin.usb_close(usb_dev_handle) < 0) {
|
||||||
usb_dev_handle = 0;
|
|
||||||
throw new USBException("LibusbWin.usb_close: "
|
throw new USBException("LibusbWin.usb_close: "
|
||||||
+ LibusbWin.usb_strerror());
|
+ LibusbWin.usb_strerror());
|
||||||
}
|
}
|
||||||
usb_dev_handle = 0;
|
|
||||||
maxPacketSize = -1;
|
maxPacketSize = -1;
|
||||||
logger.info("device closed");
|
logger.info("device closed");
|
||||||
}
|
}
|
||||||
@@ -167,6 +165,7 @@ public class Device {
|
|||||||
throw new USBException("invalid device handle");
|
throw new USBException("invalid device handle");
|
||||||
}
|
}
|
||||||
if (LibusbWin.usb_reset(usb_dev_handle) < 0) {
|
if (LibusbWin.usb_reset(usb_dev_handle) < 0) {
|
||||||
|
usb_dev_handle = 0;
|
||||||
throw new USBException("LibusbWin.usb_reset: "
|
throw new USBException("LibusbWin.usb_reset: "
|
||||||
+ LibusbWin.usb_strerror());
|
+ LibusbWin.usb_strerror());
|
||||||
}
|
}
|
||||||
@@ -342,6 +341,7 @@ public class Device {
|
|||||||
private void release_interface(int dev_handle, int interface_)
|
private void release_interface(int dev_handle, int interface_)
|
||||||
throws USBException {
|
throws USBException {
|
||||||
if (LibusbWin.usb_release_interface(dev_handle, interface_) < 0) {
|
if (LibusbWin.usb_release_interface(dev_handle, interface_) < 0) {
|
||||||
|
usb_dev_handle = 0;
|
||||||
throw new USBException("LibusbWin.usb_release_interface: "
|
throw new USBException("LibusbWin.usb_release_interface: "
|
||||||
+ LibusbWin.usb_strerror());
|
+ LibusbWin.usb_strerror());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user