Skip to content
Snippets Groups Projects
Commit a2985754 authored by Florian Fittkau's avatar Florian Fittkau
Browse files

hopefully fixed worker issue #1 buffer underflow

parent c34d3603
Branches
Tags
No related merge requests found
...@@ -163,7 +163,7 @@ public class TCPReaderOneClient extends Thread implements IPeriodicTimeSignalRec ...@@ -163,7 +163,7 @@ public class TCPReaderOneClient extends Thread implements IPeriodicTimeSignalRec
return; return;
} }
case Trace.CLAZZ_ID: { case Trace.CLAZZ_ID: {
if (buffer.remaining() >= 9) { if (buffer.remaining() >= Trace.BYTE_LENGTH) {
final byte validByte = buffer.get(); final byte validByte = buffer.get();
boolean valid = true; boolean valid = true;
if (validByte == (byte) 0) { if (validByte == (byte) 0) {
...@@ -171,15 +171,13 @@ public class TCPReaderOneClient extends Thread implements IPeriodicTimeSignalRec ...@@ -171,15 +171,13 @@ public class TCPReaderOneClient extends Thread implements IPeriodicTimeSignalRec
} }
final int eventsLength = buffer.getInt(); final int eventsLength = buffer.getInt();
final int byteLength = buffer.getInt(); final int byteLength = buffer.getInt();
if (buffer.remaining() >= byteLength) { if ((buffer.remaining() >= byteLength) && (eventsLength > 0)) {
final List<AbstractEventRecord> events = new ArrayList<AbstractEventRecord>( final List<AbstractEventRecord> events = new ArrayList<AbstractEventRecord>(
eventsLength); eventsLength);
for (int i = 0; i < eventsLength; i++) { for (int i = 0; i < eventsLength; i++) {
AbstractEventRecord eventRecord;
try { try {
eventRecord = AbstractEventRecord.createFromByteBuffer(buffer, events.add(AbstractEventRecord.createFromByteBuffer(buffer,
stringRegistry); stringRegistry));
events.add(eventRecord);
} catch (final IdNotAvailableException e) { } catch (final IdNotAvailableException e) {
// should not happen // should not happen
e.printStackTrace(); e.printStackTrace();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment