From 7eb71e0b06dd55eaaf352bb54e09f4555d7f3b9b Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sat, 31 Aug 2024 15:16:45 +0200 Subject: [PATCH] grabber: make sure grabbed_output always return a string --- client/pyscripts/fm11rf08s_recovery.py | 8 ++++---- client/src/pm3.c | 14 +++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/client/pyscripts/fm11rf08s_recovery.py b/client/pyscripts/fm11rf08s_recovery.py index 6d2400dcb..fe313f410 100755 --- a/client/pyscripts/fm11rf08s_recovery.py +++ b/client/pyscripts/fm11rf08s_recovery.py @@ -65,10 +65,10 @@ p = pm3.pm3() p.console("hf 14a read") uid = None -if p.grabbed_output is not None: - for line in p.grabbed_output.split('\n'): - if "UID:" in line: - uid = int(line[10:].replace(' ', '')[-8:], 16) +for line in p.grabbed_output.split('\n'): + print(line) + if "UID:" in line: + uid = int(line[10:].replace(' ', '')[-8:], 16) if uid is None: print("Card not found") diff --git a/client/src/pm3.c b/client/src/pm3.c index d1e17da69..af0654bfb 100644 --- a/client/src/pm3.c +++ b/client/src/pm3.c @@ -74,11 +74,15 @@ const char *pm3_name_get(pm3_device_t *dev) { } const char *pm3_grabbed_output_get(pm3_device_t *dev) { - char *tmp = g_grabbed_output.ptr; - tmp[g_grabbed_output.size] = 0; - g_grabbed_output.idx = 0; - g_grabbed_output.size = 0; - return tmp; + if (g_grabbed_output.ptr != NULL) { + char *tmp = g_grabbed_output.ptr; + tmp[g_grabbed_output.size] = 0; + g_grabbed_output.idx = 0; + g_grabbed_output.size = 0; + return tmp; + } else { + return ""; + } } pm3_device_t *pm3_get_current_dev(void) {