From 98e1cea20ef329c96847635883b71daa2c8149ea Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Mon, 1 Jun 2026 21:28:38 -0700 Subject: [PATCH] Fix MiniFinder2 string length --- .../java/org/traccar/protocol/Minifinder2ProtocolDecoder.java | 4 ++-- .../org/traccar/protocol/Minifinder2ProtocolDecoderTest.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java b/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java index 0118631eb..c0e51db63 100644 --- a/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/Minifinder2ProtocolDecoder.java @@ -267,9 +267,9 @@ public class Minifinder2ProtocolDecoder extends BaseProtocolDecoder { if (key == 0x26) { position.set(Position.KEY_HDOP, buf.readUnsignedShortLE() / 10.0); position.setAltitude(buf.readShortLE()); - } else if (length > 15) { + } else if (buf.readerIndex() < endIndex) { position.set("description", buf.readCharSequence( - length, StandardCharsets.US_ASCII).toString()); + endIndex - buf.readerIndex(), StandardCharsets.US_ASCII).toString()); } break; case 0x24: diff --git a/src/test/java/org/traccar/protocol/Minifinder2ProtocolDecoderTest.java b/src/test/java/org/traccar/protocol/Minifinder2ProtocolDecoderTest.java index 932e1bedc..265fdb0b4 100644 --- a/src/test/java/org/traccar/protocol/Minifinder2ProtocolDecoderTest.java +++ b/src/test/java/org/traccar/protocol/Minifinder2ProtocolDecoderTest.java @@ -11,6 +11,9 @@ public class Minifinder2ProtocolDecoderTest extends ProtocolTest { var decoder = inject(new Minifinder2ProtocolDecoder(null)); + verifyPositions(decoder, binary( + "ab104b00cab208010110013836323232313038373738303438310d24d0b71d6a0800f864000000000d0200100000d0b71d6a000000001c23c69b531448e06ed4e621e254cf084d696e6946696e646572204851")); + verifyPositions(decoder, binary( "ab105b0063ca28000110013836323737313037363837383334300d246eaeb2690103fb2b030001001620eacce6217a59cf0800001e01a600050000000000160b2c00d14699811df7d600640b2c0187442817d4fdd100640b2c020a2f7f89cfc8cc0064"));