This code (recently responsible for a unaligned access sanitizer
failure) claims that the string table offset zero should result in an
empty string.
I cannot find any mention of this detail in the Microsoft COFF
documentation, and the llvm COFF parser also does not handle offset zero
specially. This code was introduced in 0076e7159, which also does not go
into specifics, citing "various bugfixes".
Given that this is obviously a hack, and does not cause tests to fail, I
think we should just delete it.
The +4 at the end of this expression is from the same patch. I wonder if it was an attempt to make space for the four bytes of zeros at offset 0 that you're eliminating?
I suggest removing the +4 and trying the tests again unless it's obvious to you why it's still necessary. The comment above seems like it might be trying to explain it, but that comment came later.