From ef13784f4f150c7643baf8b5112f042c226081c3 Mon Sep 17 00:00:00 2001 From: mike w Date: Mon, 10 Nov 2014 10:24:53 -0500 Subject: [PATCH] Fix off-by-one error in `filterStatusBytes`. Closes #74. --- .../com/hoho/android/usbserial/driver/FtdiSerialDriver.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/FtdiSerialDriver.java b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/FtdiSerialDriver.java index 3950ddd..1a9a66b 100644 --- a/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/FtdiSerialDriver.java +++ b/usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/FtdiSerialDriver.java @@ -210,7 +210,7 @@ public class FtdiSerialDriver implements UsbSerialDriver { * @return The number of payload bytes */ private final int filterStatusBytes(byte[] src, byte[] dest, int totalBytesRead, int maxPacketSize) { - final int packetsCount = totalBytesRead / maxPacketSize + 1; + final int packetsCount = totalBytesRead / maxPacketSize + (totalBytesRead % maxPacketSize == 0 ? 0 : 1); for (int packetIdx = 0; packetIdx < packetsCount; ++packetIdx) { final int count = (packetIdx == (packetsCount - 1)) ? (totalBytesRead % maxPacketSize) - MODEM_STATUS_HEADER_LENGTH