From 6b1edd9e299806d34faec9198cf52d4e4d489107 Mon Sep 17 00:00:00 2001 From: rusefi Date: Tue, 25 Jun 2019 18:03:40 -0400 Subject: [PATCH] https://rusefi.com/forum/viewtopic.php?p=33568#p33576 --- .../src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java b/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java index ce88f089c1..5ec836df7b 100644 --- a/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java +++ b/java_console/io/src/com/rusefi/io/serial/SerialIoStreamJSerialComm.java @@ -33,7 +33,10 @@ public class SerialIoStreamJSerialComm implements IoStream { { if (event.getEventType() != SerialPort.LISTENING_EVENT_DATA_AVAILABLE) return; - byte[] newData = new byte[sp.bytesAvailable()]; + int bytesAvailable = sp.bytesAvailable(); + if (bytesAvailable <= 0) + return; // sometimes negative value is returned at least on Mac + byte[] newData = new byte[bytesAvailable]; int numRead = sp.readBytes(newData, newData.length); byte[] data = new byte[numRead]; System.arraycopy(newData, 0, data, 0, numRead);