[all-commits] [llvm/llvm-project] 1fa073: [MachO] Stop parsing past end of rebase/bind table...

Zixu Wang via All-commits all-commits at lists.llvm.org
Thu May 30 23:08:23 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1fa073ab896e65c55ff63487be0b41d7cea9aa77
      https://github.com/llvm/llvm-project/commit/1fa073ab896e65c55ff63487be0b41d7cea9aa77
  Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
  Date:   2024-05-30 (Thu, 30 May 2024)

  Changed paths:
    M llvm/lib/Object/MachOObjectFile.cpp
    A llvm/test/Object/Inputs/MachO/rebase-bind-table-trailing-opcode.yaml
    A llvm/test/Object/macho-rebase-bind-trailing-opcode-boundary.test

  Log Message:
  -----------
  [MachO] Stop parsing past end of rebase/bind table (#93897)

`MachORebaseEntry::moveNext()` and `MachOBindEntry::moveNext()` assume
that the rebase/bind table ends with `{REBASE|BIND}_OPCODE_DONE` or an
actual rebase/bind. However a valid rebase/bind table might also end
with other effectively no-op opcodes, which caused the parser to move
past the end and go into the next table, resulting in corrupted entries
or infinite loops.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list