This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] sim: Be sure of calling freeargv() after successfully call buildargv().
- From: Michael Eager <eager at eagerm dot com>
- To: Chen Gang S <gang dot chen at sunrus dot com dot cn>, gdb-patches at sourceware dot org
- Cc: binutils at sourceware dot org
- Date: Wed, 28 Jan 2015 16:04:15 -0800
- Subject: Re: [PATCH] sim: Be sure of calling freeargv() after successfully call buildargv().
- Authentication-results: sourceware.org; auth=none
- References: <54C8CBC8 dot 90102 at sunrus dot com dot cn> <54C905FE dot 6020207 at eagerm dot com> <54C9607B dot 5060304 at sunrus dot com dot cn>
On 01/28/15 14:19, Chen Gang S wrote:
On 1/28/15 23:53, Michael Eager wrote:
On 01/28/15 03:45, Chen Gang S wrote:
buildargv() and freeargv() are pairs, so need be sure of them always
paired to avoid memory leak.
2015-01-28 Chen Gang <email@example.com>
* common/sim-options.c (sim_args_command): Call freeargv() when
* mcore/interp.c (sim_do_command): Call freeargv() before return.
* microblaze/interp.c (sim_do_command): Call freeargv() before
OK for Microblaze.
There appear to be other places where buildargv() is not followed by
freeargv(). See sim/common/run.c. There may be others.
For me, I intended to skip buildargv() in "sim/common/run.c", because it
may contents read only memory. It is in main(), also main() often uses
exit(), so I skip it, it doesn't matter.
gdb also uses buildargv(), but it just wraps buildargv() and freeargv(),
so at least it is another patch (either, at least now, I do not find any
issues about it in gdb).
Except the above 2, for me, there are no any other places to use
Does the patch comments need to mention about the contents above?
No, you don't need to mention what is not modified.
Michael Eager firstname.lastname@example.org
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077