aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-06-19 17:22:53 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-06-19 17:22:53 +0000
commit95ce326e5b47b4b841849f8a2ac7b96d6e204dfb (patch)
treef1f8fce3073ae00b372d26b4aaf681355a82cfd0
parenta5448a7de5bb35553a97c4e337ef2ef6fe8d3ccc (diff)
buffer overflow fix - printf format fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@931 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--monitor.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/monitor.c b/monitor.c
index d3c51e6574..a17e45af3d 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1437,7 +1437,7 @@ static void term_show_prompt(void)
static void term_print_cmdline (const char *cmdline)
{
term_show_prompt();
- term_printf(cmdline);
+ term_printf("%s", cmdline);
term_flush();
}
@@ -1521,7 +1521,8 @@ static void term_up_char(void)
}
term_hist_entry--;
if (term_hist_entry >= 0) {
- strcpy(term_cmd_buf, term_history[term_hist_entry]);
+ pstrcpy(term_cmd_buf, sizeof(term_cmd_buf),
+ term_history[term_hist_entry]);
term_printf("\n");
term_print_cmdline(term_cmd_buf);
term_cmd_buf_index = term_cmd_buf_size = strlen(term_cmd_buf);
@@ -1533,7 +1534,8 @@ static void term_down_char(void)
if (term_hist_entry == TERM_MAX_CMDS - 1 || term_hist_entry == -1)
return;
if (term_history[++term_hist_entry] != NULL) {
- strcpy(term_cmd_buf, term_history[term_hist_entry]);
+ pstrcpy(term_cmd_buf, sizeof(term_cmd_buf),
+ term_history[term_hist_entry]);
} else {
term_hist_entry = -1;
}