2011-03-09 Michael Snyder <msnyder@vmware.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 9 Mar 2011 20:31:50 +0000 (20:31 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 9 Mar 2011 20:31:50 +0000 (20:31 +0000)
* mi-cmd-disas.c (mi_cmd_disassemble): Fix memory leak.

gdb/ChangeLog
gdb/mi/mi-cmd-disas.c

index c263053..c6472e8 100644 (file)
@@ -1,3 +1,7 @@
+2011-03-09  Michael Snyder  <msnyder@vmware.com>
+
+       * mi-cmd-disas.c (mi_cmd_disassemble): Fix memory leak.
+
 2011-03-09  Pedro Alves  <pedro@codesourcery.com>
 
        * nto-tdep.c (nto_find_and_open_solib): Constify local `base'.
index bfe1769..28e84f6 100644 (file)
@@ -73,6 +73,7 @@ mi_cmd_disassemble (char *command, char **argv, int argc)
   int how_many = -1;
   CORE_ADDR low = 0;
   CORE_ADDR high = 0;
+  struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
 
   /* Options processing stuff. */
   int optind = 0;
@@ -103,6 +104,7 @@ mi_cmd_disassemble (char *command, char **argv, int argc)
        case FILE_OPT:
          file_string = xstrdup (optarg);
          file_seen = 1;
+         make_cleanup (xfree, file_string);
          break;
        case LINE_OPT:
          line_num = atoi (optarg);
@@ -169,4 +171,6 @@ mi_cmd_disassemble (char *command, char **argv, int argc)
                   file_string,
                   disasm_flags,
                   how_many, low, high);
+
+  do_cleanups (cleanups);
 }