Stefan Kempf <[email protected]> writes:
> clang errors out about use of undefined variables when building
> binutils-2.17.
>
> In elf.c, do not increment `s' before it is initialized. At the time
> of the increment, `s' is otherwise unused anyway.
>
> In elflink.c, initialize sec_contents and l_sec_contents to make
> sure that the free(sec_contents) and free(l_sec_contents) are called
> on valid pointers.
>
> ok?
ok
> Index: gnu/usr.bin/binutils-2.17/bfd/elf.c
> ===================================================================
> RCS file: /cvs/src/gnu/usr.bin/binutils-2.17/bfd/elf.c,v
> retrieving revision 1.10
> diff -u -p -r1.10 elf.c
> --- gnu/usr.bin/binutils-2.17/bfd/elf.c 26 Jul 2016 02:38:12 -0000
> 1.10
> +++ gnu/usr.bin/binutils-2.17/bfd/elf.c 31 Jul 2016 14:54:14 -0000
> @@ -8617,7 +8617,7 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd
> count = relplt->size / hdr->sh_entsize;
> size = count * sizeof (asymbol);
> p = relplt->relocation;
> - for (i = 0; i < count; i++, s++, p++)
> + for (i = 0; i < count; i++, p++)
> size += strlen ((*p->sym_ptr_ptr)->name) + sizeof ("@plt");
>
> s = *ret = bfd_malloc (size);
> Index: gnu/usr.bin/binutils-2.17/bfd/elflink.c
> ===================================================================
> RCS file: /cvs/src/gnu/usr.bin/binutils-2.17/bfd/elflink.c,v
> retrieving revision 1.17
> diff -u -p -r1.17 elflink.c
> --- gnu/usr.bin/binutils-2.17/bfd/elflink.c 22 Jun 2016 13:29:14 -0000
> 1.17
> +++ gnu/usr.bin/binutils-2.17/bfd/elflink.c 31 Jul 2016 14:54:15 -0000
> @@ -9862,7 +9862,7 @@ _bfd_elf_section_already_linked (bfd *ab
> abfd, sec);
> else if (sec->size != 0)
> {
> - bfd_byte *sec_contents, *l_sec_contents;
> + bfd_byte *sec_contents = NULL, *l_sec_contents = NULL;
>
> if (!bfd_malloc_and_get_section (abfd, sec, &sec_contents))
> (*_bfd_error_handler)
>
--
jca | PGP: 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE