Fix MiniFinder2 string length

This commit is contained in:
Anton Tananaev
2026-06-01 21:28:38 -07:00
parent f733dbb3af
commit 98e1cea20e
2 changed files with 5 additions and 2 deletions

View File

@@ -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:

View File

@@ -11,6 +11,9 @@ public class Minifinder2ProtocolDecoderTest extends ProtocolTest {
var decoder = inject(new Minifinder2ProtocolDecoder(null));
verifyPositions(decoder, binary(
"ab104b00cab208010110013836323232313038373738303438310d24d0b71d6a0800f864000000000d0200100000d0b71d6a000000001c23c69b531448e06ed4e621e254cf084d696e6946696e646572204851"));
verifyPositions(decoder, binary(
"ab105b0063ca28000110013836323737313037363837383334300d246eaeb2690103fb2b030001001620eacce6217a59cf0800001e01a600050000000000160b2c00d14699811df7d600640b2c0187442817d4fdd100640b2c020a2f7f89cfc8cc0064"));