From 1f5544330c77073ec5a40c542e68f07cca2386dc Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Wed, 22 Apr 2020 09:32:32 +0200 Subject: [PATCH] prompt: filter ansi before calling readline --- client/src/proxmark3.c | 4 +++- client/src/proxmark3.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/client/src/proxmark3.c b/client/src/proxmark3.c index c3f5de60a..eae7d7b84 100644 --- a/client/src/proxmark3.c +++ b/client/src/proxmark3.c @@ -280,7 +280,9 @@ check_script: } else { prompt = PROXPROMPT_OFFLINE; } - cmd = readline(prompt); + char prompt_filtered[PROXPROMPT_MAX_SIZE] = {0}; + memcpy_filter_ansi(prompt_filtered, prompt, sizeof(prompt_filtered), !session.supports_colors); + cmd = readline(prompt_filtered); fflush(NULL); } } diff --git a/client/src/proxmark3.h b/client/src/proxmark3.h index 015b34ec3..313e87edf 100644 --- a/client/src/proxmark3.h +++ b/client/src/proxmark3.h @@ -22,6 +22,8 @@ #define PROXPROMPT_OFFLINE "[" _BOLD_RED_("offline") "] pm3 --> " +#define PROXPROMPT_MAX_SIZE sizeof(PROXPROMPT_OFFLINE) + #define PROXHISTORY "history.txt" #define PROXLOG "log_%Y%m%d.txt" #define MAX_NESTED_CMDSCRIPT 10