Re: [PATCH] sim: Be sure of calling freeargv() after successfully call buildargv().

Chen Gang S
2015-01-29T01:36:52Z

On 1/29/15 08:04, Michael Eager wrote:
> 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 <gang.chen.5i5j@gmail.com>
>>>>
>>>> * common/sim-options.c (sim_args_command): Call freeargv() when
>>>> failure occurs.
>>>> * mcore/interp.c (sim_do_command): Call freeargv() before return.
>>>> * microblaze/interp.c (sim_do_command): Call freeargv() before
>>>> return.
>>>
>>>
>>> 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
>> buildargv().
>>

Oh, sorry, the 3rd sentence is incorrect, it should be:

"Except the above 2, for me, there are no any other places to cause
buildargv() related issues or doubts".

>>
>> Does the patch comments need to mention about the contents above?
>
> No, you don't need to mention what is not modified.
>
>

OK, thanks.

--
Chen Gang

Open, share, and attitude like air, water, and life which God blessed