Skip to content

2021.9.2 regression: Chained function entry cannot be changed #334

@The-Compiler

Description

@The-Compiler

When trying to load qutebrowser.exe from its latest release with pefile 2021.9.2, it seems to fail:

>>> import pefile
>>> pe = pefile.PE("qutebrowser.exe")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/florian/tmp/qutebrowser-2.3.1-x64/.venv/lib/python3.9/site-packages/pefile.py", line 2742, in __init__
    self.__parse__(name, data, fast_load)
  File "/home/florian/tmp/qutebrowser-2.3.1-x64/.venv/lib/python3.9/site-packages/pefile.py", line 3147, in __parse__
    self.full_load()
  File "/home/florian/tmp/qutebrowser-2.3.1-x64/.venv/lib/python3.9/site-packages/pefile.py", line 3258, in full_load
    self.parse_data_directories()
  File "/home/florian/tmp/qutebrowser-2.3.1-x64/.venv/lib/python3.9/site-packages/pefile.py", line 3553, in parse_data_directories
    value = entry[1](dir_entry.VirtualAddress, dir_entry.Size)
  File "/home/florian/tmp/qutebrowser-2.3.1-x64/.venv/lib/python3.9/site-packages/pefile.py", line 3646, in parse_exceptions_directory
    rf.unwindinfo.set_chained_function_entry(
  File "/home/florian/tmp/qutebrowser-2.3.1-x64/.venv/lib/python3.9/site-packages/pefile.py", line 1945, in set_chained_function_entry
    raise Exception("Chained function entry cannot be changed")
Exception: Chained function entry cannot be changed

Downgrading to 2021.5.24 makes things work fine again.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions