From b0c322ec9045cbb5e93622314353ea25af081c02 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:03:01 +0300 Subject: [PATCH] Fix crash on second emulation NFC V --- lib/nfc/protocols/nfcv.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/nfc/protocols/nfcv.c b/lib/nfc/protocols/nfcv.c index 6b0928ea7..f9848ae06 100644 --- a/lib/nfc/protocols/nfcv.c +++ b/lib/nfc/protocols/nfcv.c @@ -410,6 +410,9 @@ void nfcv_emu_free(NfcVData* nfcv_data) { digital_sequence_free(nfcv_data->emu_air.nfcv_signal); } if(nfcv_data->emu_air.reader_signal) { + // Stop pulse reader and disable bus before free + pulse_reader_stop(nfcv_data->emu_air.reader_signal); + // Free pulse reader pulse_reader_free(nfcv_data->emu_air.reader_signal); } @@ -1372,13 +1375,15 @@ bool nfcv_emu_loop( pulse_reader_start(nfcv_data->emu_air.reader_signal); ret = true; - } else { - if(frame_state != NFCV_FRAME_STATE_SOF1) { + + } #ifdef NFCV_VERBOSE + else { + if(frame_state != NFCV_FRAME_STATE_SOF1) { FURI_LOG_T(TAG, "leaving while in state: %lu", frame_state); -#endif } } +#endif #ifdef NFCV_DIAGNOSTIC_DUMPS if(period_buffer_pos) {