]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
MIPS/BFD: Initialize `error_message' in `_bfd_mips_elf_orphan_shr16_reloc'
authorMaciej W. Rozycki <macro@orcam.me.uk>
Thu, 15 Jan 2026 00:37:35 +0000 (00:37 +0000)
committerMaciej W. Rozycki <macro@orcam.me.uk>
Thu, 15 Jan 2026 00:37:35 +0000 (00:37 +0000)
commitd9001d36830805cfc09993ecede99f0dfd6fd3fb
treeb51d33bedb9b460e909f217a9ac9a0e590ac4674
parentd164340772cc2c7f82c976d13c03388e7cf71438
MIPS/BFD: Initialize `error_message' in `_bfd_mips_elf_orphan_shr16_reloc'

There is no value assigned in `_bfd_mips_elf_generic_reloc' via the
`error_message' parameter and consequently the original `error_message'
variable in `_bfd_mips_elf_orphan_shr16_reloc' remains uninitialized in
the error case, which newer versions of GCC can correctly diagnose:

In function '_bfd_mips_elf_orphan_shr16_reloc',
    inlined from 'mips_elf_free_hi16_list' at ../../binutils-gdb/bfd/elfxx-mips.c:13309:12:
../../binutils-gdb/bfd/elfxx-mips.c:13281:5: error: 'error_message' may be used uninitialized [-Werror=maybe-uninitialized]
13281 |     _bfd_link_reloc_status_error (abfd, info, hi->input_section,
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13282 |                                   &hi->rel, error_message, r);
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../binutils-gdb/bfd/elfxx-mips.c: In function 'mips_elf_free_hi16_list':
../../binutils-gdb/bfd/elfxx-mips.c:13255:9: note: 'error_message' declared here
13255 |   char *error_message;
      |         ^~~~~~~~~~~~~
cc1: all warnings being treated as errors

Fix the problem by preinitializing the variable to NULL as at other
places.
bfd/elfxx-mips.c