- 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:
schlaepfer
2006-08-09 13:47:22 +00:00
parent 9daac51e8b
commit be8cedc232

View File

@@ -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());
} }