From: Micah Elizabeth Scott Date: Sat, 8 Mar 2014 05:19:54 +0000 (-0800) Subject: Fix overflow if more than two frames are queued X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=b6c3445785d7d68e23caf8f73da953f51ed6e5cf;p=SugarCubes.git Fix overflow if more than two frames are queued --- diff --git a/OpenPixelControl.pde b/OpenPixelControl.pde index 118eb2a..830ba6c 100644 --- a/OpenPixelControl.pde +++ b/OpenPixelControl.pde @@ -46,9 +46,10 @@ class OpenPixelControl extends SCPattern { bufferedByteCount = client.readBytes(buffer); } else { // Append to an earlier partial frame - byte[] additional = client.readBytes(); - arrayCopy(additional, 0, buffer, bufferedByteCount, additional.length); - bufferedByteCount += additional.length; + byte[] additional = new byte[buffer.length - bufferedByteCount]; + int additionalLength = client.readBytes(additional); + arrayCopy(additional, 0, buffer, bufferedByteCount, additionalLength); + bufferedByteCount += additionalLength; } // Extract OPC packets from buffer