diff options
author | Michael Snyder <msnyder@vmware.com> | 2007-07-05 22:47:27 +0000 |
---|---|---|
committer | Michael Snyder <msnyder@vmware.com> | 2007-07-05 22:47:27 +0000 |
commit | 2ed23f5f14b63a2a9b4afd9355c86dbb283657c0 (patch) | |
tree | ef8e245fdbb5c8d46a78f05eb2ce430e3f041e6b /gdb | |
parent | 033ca630f7075c04c60f6ba5dad815ecf5a64a15 (diff) | |
download | gdb-2ed23f5f14b63a2a9b4afd9355c86dbb283657c0.zip gdb-2ed23f5f14b63a2a9b4afd9355c86dbb283657c0.tar.gz gdb-2ed23f5f14b63a2a9b4afd9355c86dbb283657c0.tar.bz2 |
2007-07-05 Michael Snyder <msnyder@access-company.com>
* event-top.c (cli_command_loop): Prompt string can (and should)
be freed after call to readline (Coverity). Also move local var
declarations into block where they are used.
* tui/tui-interp.c (tui_command_loop): Prompt string can (and
should) be freed after call to readline (Coverity). Also move
local var declarations into block where they are used.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/event-top.c | 13 | ||||
-rw-r--r-- | gdb/tui/tui-interp.c | 13 |
3 files changed, 24 insertions, 12 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1b617a2..b14389c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2007-07-05 Michael Snyder <msnyder@access-company.com> + + * event-top.c (cli_command_loop): Prompt string can (and should) + be freed after call to readline (Coverity). Also move local var + declarations into block where they are used. + + * tui/tui-interp.c (tui_command_loop): Prompt string can (and + should) be freed after call to readline (Coverity). Also move + local var declarations into block where they are used. + 2007-07-03 Andreas Schwab <schwab@suse.de> * linux-nat.c (linux_nat_info_proc_cmd): Fix parsing of columns in diff --git a/gdb/event-top.c b/gdb/event-top.c index 7765767..eecff5a 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -186,19 +186,20 @@ rl_callback_read_char_wrapper (gdb_client_data client_data) void cli_command_loop (void) { - int length; - char *a_prompt; - char *gdb_prompt = get_prompt (); - /* If we are using readline, set things up and display the first prompt, otherwise just print the prompt. */ if (async_command_editing_p) { + int length; + char *a_prompt; + char *gdb_prompt = get_prompt (); + /* Tell readline what the prompt to display is and what function it will need to call after a whole line is read. This also displays the first prompt. */ - length = strlen (PREFIX (0)) + strlen (gdb_prompt) + strlen (SUFFIX (0)) + 1; - a_prompt = (char *) xmalloc (length); + length = strlen (PREFIX (0)) + + strlen (gdb_prompt) + strlen (SUFFIX (0)) + 1; + a_prompt = (char *) alloca (length); strcpy (a_prompt, PREFIX (0)); strcat (a_prompt, gdb_prompt); strcat (a_prompt, SUFFIX (0)); diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c index a344754..292c7db 100644 --- a/gdb/tui/tui-interp.c +++ b/gdb/tui/tui-interp.c @@ -119,19 +119,20 @@ tui_exec (void *data, const char *command_str) static void tui_command_loop (void *data) { - int length; - char *a_prompt; - char *gdb_prompt = get_prompt (); - /* If we are using readline, set things up and display the first prompt, otherwise just print the prompt. */ if (async_command_editing_p) { + int length; + char *a_prompt; + char *gdb_prompt = get_prompt (); + /* Tell readline what the prompt to display is and what function it will need to call after a whole line is read. This also displays the first prompt. */ - length = strlen (PREFIX (0)) + strlen (gdb_prompt) + strlen (SUFFIX (0)) + 1; - a_prompt = (char *) xmalloc (length); + length = strlen (PREFIX (0)) + + strlen (gdb_prompt) + strlen (SUFFIX (0)) + 1; + a_prompt = (char *) alloca (length); strcpy (a_prompt, PREFIX (0)); strcat (a_prompt, gdb_prompt); strcat (a_prompt, SUFFIX (0)); |