From 3570a62b3236c359f0ff36ada921df1641a5e3db Mon Sep 17 00:00:00 2001 From: Matthew Fredrickson Date: Fri, 15 Jun 2018 15:21:27 -0500 Subject: [PATCH] menuselect/menuselect_curses: Resolves sprintf usage error Acccording to the man page for sprintf, using the same buffer for output as one used as an input yields undefined behavior. This patch should work around this problem. ASTERISK-27903 Reported-by: Alexander Traud Change-Id: I2213dcb454aff26457e2e4cc9c6821276463ae3a --- menuselect/menuselect_curses.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menuselect/menuselect_curses.c b/menuselect/menuselect_curses.c index 97f1f17149..0917eba62b 100644 --- a/menuselect/menuselect_curses.c +++ b/menuselect/menuselect_curses.c @@ -227,7 +227,7 @@ static void display_mem_info(WINDOW *menu, struct member *mem, int start_y, int buf[0] = '\0'; new_line = 1; } - sprintf(buf, "%s%*.*s%s", buf, new_line ? 0 : 1, new_line ? 0 : 1, " ", word); + sprintf(buf + strlen(buf), "%*.*s%s", new_line ? 0 : 1, new_line ? 0 : 1, " ", word); new_line = 0; } if (strlen(buf)) {