diff options
author | Daan De Meyer <daan.j.demeyer@gmail.com> | 2023-03-28 13:31:38 +0200 |
---|---|---|
committer | Daan De Meyer <daan.j.demeyer@gmail.com> | 2023-03-28 13:31:38 +0200 |
commit | 61648c697668c6082bca294ca9cd2d5399337b67 (patch) | |
tree | 7c21822dfb0fc18011955638b1c06b102aac4516 | |
parent | 19279652c0b59efbe138c28af563e8d3968bffa1 (diff) | |
download | systemd-61648c697668c6082bca294ca9cd2d5399337b67.tar.gz |
Revert "ukify: Weaken file alignment assertions"
This reverts commit 23428bb19e49cf510c65e2896f1a7e4b12ca1dbc.
-rwxr-xr-x | src/ukify/ukify.py | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index 99128014d9..2cdfc01ad4 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -449,7 +449,7 @@ class PeError(Exception): def pe_add_sections(uki: UKI, output: str): pe = pefile.PE(uki.executable, fast_load=True) - assert pe.FILE_HEADER.PointerToSymbolTable != 0 or len(pe.__data__) % pe.OPTIONAL_HEADER.FileAlignment == 0 + assert len(pe.__data__) % pe.OPTIONAL_HEADER.FileAlignment == 0 warnings = pe.get_warnings() if warnings: @@ -460,12 +460,6 @@ def pe_add_sections(uki: UKI, output: str): # We could strip the signatures, but why would anyone sign the stub? raise PeError(f'Stub image is signed, refusing.') - # If the executable has not been stripped, it might not be aligned to a multiple of the file alignment so - # let's make sure it is by padding it. - if pe.FILE_HEADER.PointerToSymbolTable != 0: - padlen = round_up(len(pe.__data__), pe.OPTIONAL_HEADER.FileAlignment) - len(pe.__data__) - pe.__data__ = pe.__data__[:] + padlen * b'\0' - for section in uki.sections: new_section = pefile.SectionStructure(pe.__IMAGE_SECTION_HEADER_format__, pe=pe) new_section.__unpack__(b'\0' * new_section.sizeof()) |