From b09ece0836e0267b86f37defec267aa3806cb03a Mon Sep 17 00:00:00 2001 From: Alexandru Gagniuc Date: Tue, 4 Apr 2017 10:42:31 -0700 Subject: [PATCH] common/xyzModem.c: Do not use hard-coded address for debug buffer Under the plethora of #ifdefs, the xyzModem code hid this pearl: static char *zm_out = (char *) 0x00380000; This was only enabled when DEBUG is defined, so it's probably why it went unnoticed for so long. No idea what platform had memory at that exact location, but the this approach is extremely hacky. Use a static buffer instead. Signed-off-by: Alexandru Gagniuc --- common/xyzModem.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/common/xyzModem.c b/common/xyzModem.c index 6ded958e89..a0c5dfeece 100644 --- a/common/xyzModem.c +++ b/common/xyzModem.c @@ -176,16 +176,10 @@ parse_num (char *s, unsigned long *val, char **es, char *delim) /* * Note: this debug setup works by storing the strings in a fixed buffer */ -#define FINAL -#ifdef FINAL -static char *zm_out = (char *) 0x00380000; -static char *zm_out_start = (char *) 0x00380000; -#else -static char zm_buf[8192]; -static char *zm_out = zm_buf; -static char *zm_out_start = zm_buf; +static char zm_debug_buf[8192]; +static char *zm_out = zm_debug_buf; +static char *zm_out_start = zm_debug_buf; -#endif static int zm_dprintf (char *fmt, ...) {