From: marshmellow42 Date: Tue, 28 Feb 2017 18:32:23 +0000 (-0500) Subject: fix em410x XL bug X-Git-Tag: v3.0.0~62^2~4 X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/commitdiff_plain/b1ee7eed6589860b9aff964bedcf12520523a067?hp=62a38cc8835cc7b98a30ee3e670e6eb582ddd8cd fix em410x XL bug and make it rule out more false positives. --- diff --git a/common/lfdemod.c b/common/lfdemod.c index 12511208..fee55c92 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -218,8 +218,8 @@ uint8_t Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx, uint32_ uint8_t FmtLen = 10; // sets of 4 bits = end data *startIdx = 0; errChk = preambleSearch(BitStream, preamble, sizeof(preamble), size, startIdx); - if (errChk == 0 || *size < 64) return 0; - if (*size == 110) FmtLen = 22; // 22 sets of 4 bits + if ( errChk == 0 || (*size != 64 && *size != 128) ) return 0; + if (*size == 128) FmtLen = 22; // 22 sets of 4 bits //skip last 4bit parity row for simplicity *size = removeParity(BitStream, *startIdx + sizeof(preamble), 5, 0, FmtLen * 5);