This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Avoid warning from -Wjump-misses-init


On Sat, Jun 20, 2009 at 9:46 PM, Ian Lance Taylor<iant@google.com> wrote:
> "H.J. Lu" <hongjiu.lu@intel.com> writes:
>
>> Index: bfd/elflink.c
>> ===================================================================
>> --- bfd/elflink.c ? ? (revision 6199)
>> +++ bfd/elflink.c ? ? (working copy)
>> @@ -3549,7 +3549,11 @@ elf_link_add_object_symbols (bfd *abfd,
>> ? ? ? ? unsigned long shlink;
>>
>> ? ? ? ? if (!bfd_malloc_and_get_section (abfd, s, &dynbuf))
>> - ? ? ? ? goto error_free_dyn;
>> + ? ? ? ? {
>> +error_free_dyn:
>> + ? ? ? ? ? free (dynbuf);
>> + ? ? ? ? ? goto error_return;
>> + ? ? ? ? }
>>
>> ? ? ? ? elfsec = _bfd_elf_section_from_bfd_section (abfd, s);
>> ? ? ? ? if (elfsec == SHN_BAD)
>> @@ -3633,11 +3637,7 @@ elf_link_add_object_symbols (bfd *abfd,
>> ? ? ? ? ? ? ? ? amt = strlen (fnm) + 1;
>> ? ? ? ? ? ? ? ? anm = bfd_alloc (abfd, amt);
>> ? ? ? ? ? ? ? ? if (anm == NULL)
>> - ? ? ? ? ? ? ? ? {
>> - ? ? ? ? ? ? ? ? error_free_dyn:
>> - ? ? ? ? ? ? ? ? ? free (dynbuf);
>> - ? ? ? ? ? ? ? ? ? goto error_return;
>> - ? ? ? ? ? ? ? ? }
>> + ? ? ? ? ? ? ? ? goto error_free_dyn;
>
>
> This doesn't seem to me to be a good fix. ?This code is ugly. ?If you're
> going to touch it, clean it up. ?error_free_dyn should be at the end of
> the function, like all the other error labels.
>

dybuf is a local variable in that block. It is allocated and freed
within that block. My fix is the minimal one.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]