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
This commit is contained in:
Matthew Fredrickson
2018-06-15 15:21:27 -05:00
parent bb0ce22b2b
commit 3570a62b32

View File

@@ -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)) {