fix missing flushing bits also in thinfilm fct

This commit is contained in:
iceman1001 2025-06-17 18:20:04 +02:00
commit 7a9b3383d4
2 changed files with 7 additions and 1 deletions

View file

@ -2,6 +2,8 @@
All notable changes to this project will be documented in this file.
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
## [unreleased][unreleased]
## [Daddy Iceman.4.20469][2025-06-16]
- Fixed edge case in fm11rf08s key recovery tools (@doegox)
- Removed `--par` from `lf em 4x70` commands.

View file

@ -697,6 +697,9 @@ RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non_real_t
static RAMFUNC int ManchesterDecoding_Thinfilm(uint8_t bit) {
if (Demod.len == Demod.output_len) {
// Flush last parity bits
Demod.parityBits <<= (8 - (Demod.len & 0x0007)); // left align remaining parity bits
Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them
return true;
}
@ -2903,8 +2906,9 @@ int iso14443a_select_cardEx(uint8_t *uid_ptr, iso14a_card_select_t *p_card, uint
if (anticollision) {
// clear uid
if (uid_ptr)
if (uid_ptr) {
memset(uid_ptr, 0, 10);
}
}
if (hf14aconfig.forceanticol == 0) {