From da9e3571f686816c07159fb834ec8b9e6eaa3cda Mon Sep 17 00:00:00 2001 From: Evgeny S Maksimov Date: Thu, 31 Jan 2019 12:57:36 +0300 Subject: Review fixes --- src/org/traccar/protocol/NavisFrameDecoder.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/org/traccar/protocol/NavisFrameDecoder.java') diff --git a/src/org/traccar/protocol/NavisFrameDecoder.java b/src/org/traccar/protocol/NavisFrameDecoder.java index ff367ba77..9a3b3d45c 100644 --- a/src/org/traccar/protocol/NavisFrameDecoder.java +++ b/src/org/traccar/protocol/NavisFrameDecoder.java @@ -44,6 +44,10 @@ public class NavisFrameDecoder extends BaseFrameDecoder { return null; } + if (buf.readableBytes() > MAX_FRAME_LENGTH) { + throw new TooLongFrameException(); + } + if (buf.getByte(buf.readerIndex()) == 0x7F) { // FLEX keep alive frame return buf.readRetainedSlice(1); @@ -51,10 +55,6 @@ public class NavisFrameDecoder extends BaseFrameDecoder { if (protocolDecoder.getFlexDataSize() > 0) { // FLEX frame - if (buf.readableBytes() > MAX_FRAME_LENGTH) { - throw new TooLongFrameException(); - } - if (buf.readableBytes() > FLEX_HEADER_LENGTH) { int length = 0; String type = buf.toString(buf.readerIndex(), 2, StandardCharsets.US_ASCII); @@ -101,9 +101,6 @@ public class NavisFrameDecoder extends BaseFrameDecoder { int length = buf.getUnsignedShortLE(buf.readerIndex() + NTCB_LENGTH_OFFSET); if (buf.readableBytes() >= NTCB_HEADER_LENGTH + length) { - if (buf.readableBytes() > MAX_FRAME_LENGTH) { - throw new TooLongFrameException(); - } return buf.readRetainedSlice(NTCB_HEADER_LENGTH + length); } } -- cgit v1.2.3