This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: [patch]: Fix memory leak of target-descriptions.c
- From: teawater <teawater at gmail dot com>
- To: "Michael Snyder" <msnyder at specifix dot com>
- Cc: gdb at sourceware dot org
- Date: Fri, 4 Jul 2008 14:39:46 +0800
- Subject: Re: [patch]: Fix memory leak of target-descriptions.c
- References: <daef60380806300158y49685299u18febd129e742079@mail.gmail.com> <1215126917.3549.74.camel@localhost.localdomain>
Michael, Thank you very much.
teawater
On Fri, Jul 4, 2008 at 07:15, Michael Snyder <msnyder@specifix.com> wrote:
> On Mon, 2008-06-30 at 16:58 +0800, teawater wrote:
>> target-descriptions.c has a memory leek in function
>> maint_print_c_tdesc_cmd. char *function is xmalloc at line 1016.
>> There are returns at the end of this function without calling free.
>> And this variable is just used in this function. So I change it to
>> "alloca".
>> This patch is for the GDB cvs version.
>>
>> 2008-06-21 Hui Zhu <teawater@gmail.com>
>> * target-descriptions.c (maint_print_c_tdesc_cmd): Fix a memory leak.
>>
>> --- a/gdb/target-descriptions.c
>> +++ b/gdb/target-descriptions.c
>> @@ -1013,7 +1013,7 @@ maint_print_c_tdesc_cmd (char *args, int
>> error (_("The current target description did not come from an XML file."));
>>
>> filename = lbasename (target_description_filename);
>> - function = xmalloc (strlen (filename) + 1);
>> + function = alloca (strlen (filename) + 1);
>> for (inp = filename, outp = function; *inp != '\0'; inp++)
>> if (*inp == '.')
>> break;
>
> This looks right to me -- committed.
>
>
>
>