mik3y / usb-serial-for-android

Android USB host serial driver library for CDC, FTDI, Arduino and other devices.
MIT License
4.81k stars 1.58k forks source link

Update CommonUsbSerialPort.java #528

Closed ExPl0siF closed 1 year ago

ExPl0siF commented 1 year ago

Fixed a bug where mUsbRequest can be null due to port being closed before SerialInputOutputManager is stopped. So calling queue on a null object create an error:

08-22 19:06:40.111 D/UsbDeviceConnectionJNI( 7787): close 08-22 19:06:40.112 I/SerialInputOutputManager( 7787): Stop requested 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): Run ending due to exception: Attempt to invoke virtual method 'boolean android.hardware.usb.UsbRequest.queue(java.nio.ByteBuffer, int)' on a null object reference 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.hardware.usb.UsbRequest.queue(java.nio.ByteBuffer, int)' on a null object reference 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): at com.hoho.android.usbserial.driver.CommonUsbSerialPort.read(CommonUsbSerialPort.java:199) 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): at com.hoho.android.usbserial.driver.CommonUsbSerialPort.read(CommonUsbSerialPort.java:169) 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): at com.hoho.android.usbserial.util.SerialInputOutputManager.step(SerialInputOutputManager.java:225) 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): at com.hoho.android.usbserial.util.SerialInputOutputManager.run(SerialInputOutputManager.java:203) 08-22 19:06:40.112 W/SerialInputOutputManager( 7787): at java.lang.Thread.run(Thread.java:923)