From b1ee7eed6589860b9aff964bedcf12520523a067 Mon Sep 17 00:00:00 2001
From: marshmellow42 <marshmellowrf@gmail.com>
Date: Tue, 28 Feb 2017 13:32:23 -0500
Subject: [PATCH 1/1] fix em410x XL bug

and make it rule out more false positives.
---
 common/lfdemod.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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);
-- 
2.39.5