Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
elf_reader: only read data from PROGBITS sections, ignore NOBITS
'Virtual' NOBITS sections like .bss always share an offset with another ELF section, but reading from them is expected to yield only NUL bytes. Prior to Go 1.18, opening a NOBITS section would yield a reader into the overlapping 'real' section, dutifully returning its non-NUL bytes and potentially reading past the end of the underlying file reader if the size of the NOBITS section was large enough. This was addressed in CL#375216. As both an optimization (in case of large .bss sections) and a workaround for this bug in Go versions 1.17 and earlier, only read data from PROGBITS sections, which all known LLVM versions use correctly. Return an error if a data section is not PROGBITS or NOBITS. Signed-off-by: Timo Beckers <timo@isovalent.com>
- Loading branch information