Heap protection check bad address

Chris Johns chrisj at rtems.org
Mon May 13 23:04:14 UTC 2019


I chased down a buffer overwrite bug in libdl (#3746). On the powerpc and sparc
the test dl05.exe crashed and on xilinx_zynq_a9_qemu I got a heap protection
error on free. This was really nice however it is a mission to take that error
message and figure out the block address that is the cause. A had to add a
couple of additional prints to get the block address and with that I could set a
watch point that triggered on the invalid write. The patch to fix the bug was
the easy part.

Would a bad block variable set by the error handler that can be inspected by a
debugger or exit handler be useful?


More information about the devel mailing list