2007-07-05 Michael Snyder <msnyder@access-company.com>
authorMichael Snyder <msnyder@vmware.com>
Thu, 5 Jul 2007 22:47:27 +0000 (22:47 +0000)
committerMichael Snyder <msnyder@vmware.com>
Thu, 5 Jul 2007 22:47:27 +0000 (22:47 +0000)
* 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.

gdb/ChangeLog
gdb/event-top.c
gdb/tui/tui-interp.c

index 1b617a2..b14389c 100644 (file)
@@ -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
index 7765767..eecff5a 100644 (file)
@@ -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));
index a344754..292c7db 100644 (file)
@@ -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));