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. 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... 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] ## [Daddy Iceman.4.20469][2025-06-16]
- Fixed edge case in fm11rf08s key recovery tools (@doegox) - Fixed edge case in fm11rf08s key recovery tools (@doegox)
- Removed `--par` from `lf em 4x70` commands. - 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) { static RAMFUNC int ManchesterDecoding_Thinfilm(uint8_t bit) {
if (Demod.len == Demod.output_len) { 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; return true;
} }
@ -2903,9 +2906,10 @@ int iso14443a_select_cardEx(uint8_t *uid_ptr, iso14a_card_select_t *p_card, uint
if (anticollision) { if (anticollision) {
// clear uid // clear uid
if (uid_ptr) if (uid_ptr) {
memset(uid_ptr, 0, 10); memset(uid_ptr, 0, 10);
} }
}
if (hf14aconfig.forceanticol == 0) { if (hf14aconfig.forceanticol == 0) {
// check for proprietary anticollision: // check for proprietary anticollision: