From: Tristan Gingold Date: Fri, 4 Apr 2014 10:38:24 +0000 (+0200) Subject: mach-o: fix section name conversion from bfd to mach-o. X-Git-Tag: gdb-7.8-release~654 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ca148c5ad5baae432b763cc40d01333303ceb9db;p=external%2Fbinutils.git mach-o: fix section name conversion from bfd to mach-o. bfd/ * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix thinko on names length. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1eac58a..d07053a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2014-04-04 Tristan Gingold + * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix + thinko on names length. + +2014-04-04 Tristan Gingold + * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index of output_section. * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto. diff --git a/bfd/mach-o.c b/bfd/mach-o.c index 43b24c9..5203c0f 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -467,7 +467,8 @@ bfd_mach_o_convert_section_name_to_mach_o (bfd *abfd ATTRIBUTE_UNUSED, seglen = dot - name; seclen = len - (dot + 1 - name); - if (seglen < 16 && seclen < 16) + if (seglen <= BFD_MACH_O_SEGNAME_SIZE + && seclen <= BFD_MACH_O_SECTNAME_SIZE) { memcpy (section->segname, name, seglen); section->segname[seglen] = 0; @@ -1325,9 +1326,9 @@ bfd_mach_o_write_relocs (bfd *abfd, bfd_mach_o_section *section) v = BFD_MACH_O_SR_SCATTERED | (pinfo->r_pcrel ? BFD_MACH_O_SR_PCREL : 0) - | BFD_MACH_O_SET_SR_LENGTH(pinfo->r_length) - | BFD_MACH_O_SET_SR_TYPE(pinfo->r_type) - | BFD_MACH_O_SET_SR_ADDRESS(pinfo->r_address); + | BFD_MACH_O_SET_SR_LENGTH (pinfo->r_length) + | BFD_MACH_O_SET_SR_TYPE (pinfo->r_type) + | BFD_MACH_O_SET_SR_ADDRESS (pinfo->r_address); /* Note: scattered relocs have field in reverse order... */ bfd_put_32 (abfd, v, raw.r_address); bfd_put_32 (abfd, pinfo->r_value, raw.r_symbolnum);