mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 19:36:05 +00:00

In the change that added `--gap-fill`, the condition to choose the sections to write in `BinaryWriter::write()` did not exclude zero-size sections. However, zero-size sections did not have correct offsets assigned in `BinaryWriter::finalize()`. The result is either a failed assertion, or memory corruption due to writing to the buffer beyond its size. To fix this, exclude zero-size sections from writing. Also, add a zero-size section to the test, which would trigger the problem.