)]}'
{
  "commit": "93c6e8c3c14bf81020ca7571fe752250a34f5bc9",
  "tree": "4e5b252048ff1dc9da4da78862aef9e16bf8e765",
  "parents": [
    "32011d23a879283d845993e9358f64a6e8aefa98"
  ],
  "author": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Wed Apr 12 11:00:42 2023 +0930"
  },
  "committer": {
    "name": "Alan Modra",
    "email": "amodra@gmail.com",
    "time": "Wed Apr 12 14:13:46 2023 +0930"
  },
  "message": "PR30326, uninitialised value in objdump compare_relocs\n\nThis is a fuzzing PR, with a testcase involving a SHF_ALLOC and\nSHF_COMPRESSED SHT_RELA section, ie. a compressed dynamic reloc\nsection.  BFD doesn\u0027t handle compressed relocation sections, with most\nof the code reading relocs using sh_size (often no bfd section is\ncreated) but in the case of SHF_ALLOC dynamic relocs we had some code\nusing the bfd section size.  This led to a mismatch, sh_size is\ncompressed, size is uncompressed, and from that some uninitialised\nmemory.  Consistently using sh_size is enough to fix this PR, but I\u0027ve\nalso added tests to exclude SHF_COMPRESSED reloc sections from\nconsideration.\n\n\tPR 30362\n\t* elf.c (bfd_section_from_shdr): Exclude reloc sections with\n\tSHF_COMPRESSED flag from normal reloc processing.\n\t(_bfd_elf_get_dynamic_reloc_upper_bound): Similarly exclude\n\tSHF_COMPRESSED sections from consideration.  Use sh_size when\n\tsizing to match slurp_relocs.\n\t(_bfd_elf_canonicalize_dynamic_reloc): Likewise.\n\t(_bfd_elf_get_synthetic_symtab): Use NUM_SHDR_ENTRIES to size\n\tplt relocs.\n\t* elf32-arm.c (elf32_arm_get_synthetic_symtab): Likewise.\n\t* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise.\n\t* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.\n\t* elfxx-mips.c (_bfd_mips_elf_get_synthetic_symtab): Likewise.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0e2ae6dae1cccd2506d770203513dd7426b1d040",
      "old_mode": 33188,
      "old_path": "bfd/elf.c",
      "new_id": "fa7c25ad9dc98dc6322934e3a86735bc24fecef7",
      "new_mode": 33188,
      "new_path": "bfd/elf.c"
    },
    {
      "type": "modify",
      "old_id": "e07e12226a56d492d45cc65d735ef6fabd69efc3",
      "old_mode": 33188,
      "old_path": "bfd/elf32-arm.c",
      "new_id": "70413668e5a5ec3d451eca075329b39a8d8d9a7f",
      "new_mode": 33188,
      "new_path": "bfd/elf32-arm.c"
    },
    {
      "type": "modify",
      "old_id": "bb77ba2d5c7269e69f77f6d2386364d8eedd4267",
      "old_mode": 33188,
      "old_path": "bfd/elf32-ppc.c",
      "new_id": "2cff158a5f546bd20ce6ff0a74ab9d61d628c5b7",
      "new_mode": 33188,
      "new_path": "bfd/elf32-ppc.c"
    },
    {
      "type": "modify",
      "old_id": "069bd758aec1e30b5b22c02ec504960fa8f66afc",
      "old_mode": 33188,
      "old_path": "bfd/elf64-ppc.c",
      "new_id": "daa6deef7289c13879e8bc5a554eba21b137b6d3",
      "new_mode": 33188,
      "new_path": "bfd/elf64-ppc.c"
    },
    {
      "type": "modify",
      "old_id": "d34a755807b28eb4f68bb4ec7a357451fa3da56e",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-mips.c",
      "new_id": "751deede8870b2f269af6af91a782bb75593bcf0",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-mips.c"
    }
  ]
}
