This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfa] add_symbol_file_command, avoid memory leak.
Jan Kratochvil wrote:
On Sun, 27 Feb 2011 21:35:46 +0100, Michael Snyder wrote:
Jan Kratochvil wrote:
While a nitpick it is a regression, that dont_repeat should be called even
in the case of that error.
No, it's a fix. I moved the error before dont_repeat.
Why? The manual says:
`add-symbol-file' does not repeat if you press <RET> after using it.
Other part of the manual says:
and you can repeat certain GDB commands by typing just <RET>.
There is nothing said that whether the command is / is not repated depends on
its entered arguments.
(Not sure if it matters to continue the discussion, I do not mind either way.)
Ah, sorry, I misunderstood you. I'm with you now.
How about this?
2011-02-26 Michael Snyder <msnyder@vmware.com>
* symfile.c (add_symbol_file_command): Avoid memory leak.
Index: symfile.c
===================================================================
RCS file: /cvs/src/src/gdb/symfile.c,v
retrieving revision 1.307
diff -u -p -u -p -r1.307 symfile.c
--- symfile.c 26 Feb 2011 02:07:09 -0000 1.307
+++ symfile.c 27 Feb 2011 21:56:20 -0000
@@ -2169,15 +2169,15 @@ add_symbol_file_command (char *args, int
size_t num_sect_opts = 0;
struct cleanup *my_cleanups = make_cleanup (null_cleanup, NULL);
- num_sect_opts = 16;
- sect_opts = (struct sect_opt *) xmalloc (num_sect_opts
- * sizeof (struct sect_opt));
-
dont_repeat ();
if (args == NULL)
error (_("add-symbol-file takes a file name and an address"));
+ num_sect_opts = 16;
+ sect_opts = (struct sect_opt *) xmalloc (num_sect_opts
+ * sizeof (struct sect_opt));
+
argv = gdb_buildargv (args);
make_cleanup_freeargv (argv);