mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
44821d0586
dfo_elf_init() allocates the output ELF header buffer based on HDR_BASE_SIZE, per-CPU note sizes, and per-memory-chunk overhead, but does not account for the vmcoreinfo note. notes_init() then writes the full vmcoreinfo string into the buffer via nt_vmcoreinfo(), overflowing the heap allocation for any dump with a vmcoreinfo blob larger than what fits in HDR_BASE_SIZE. The following ABORT check fires after the heap was already corrupted. Fix by extracting the allocation size calculation into a new hdr_alloc_size() function that explicitly accounts for all items written into the header buffer. Remove the opaque HDR_BASE_SIZE and HDR_PER_MEMC_SIZE macros. Signed-off-by: Mikhail Zaslonko <zaslonko@linux.ibm.com> Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
4.2 KiB
4.2 KiB