diff options
author | Jay Freeman (saurik) <saurik@saurik.com> | 2017-12-31 02:07:16 -0800 |
---|---|---|
committer | Jay Freeman (saurik) <saurik@saurik.com> | 2017-12-31 02:07:16 -0800 |
commit | 422bad37a8c2fef85a857d6ee9707057879d3231 (patch) | |
tree | 112c460f2d4d475f676d5657fb5867e8f92a75ca /ldid.cpp | |
parent | 1190f447adc6290d57702d7992474b10557370e5 (diff) | |
download | ldid-422bad37a8c2fef85a857d6ee9707057879d3231.tar.gz ldid-422bad37a8c2fef85a857d6ee9707057879d3231.tar.zst ldid-422bad37a8c2fef85a857d6ee9707057879d3231.zip |
Support signing binaries without any symbol table.
Diffstat (limited to 'ldid.cpp')
-rw-r--r-- | ldid.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1220,9 +1220,11 @@ static void Allocate(const void *idata, size_t isize, std::streambuf &output, co if (symtab != NULL) { auto end(mach_header.Swap(symtab->stroff) + mach_header.Swap(symtab->strsize)); - _assert(end <= size); - _assert(end >= size - 0x10); - size = end; + if (symtab->stroff != 0 || symtab->strsize != 0) { + _assert(end <= size); + _assert(end >= size - 0x10); + size = end; + } } size_t alloc(allocate(mach_header, size)); |