Monday, November 19, 2018

Crashes in innocuous destructors can indicate memory corruption elsewhere

Earlier today I was debugging a double-free crash in a C++ application. A backtrace from gdb showed that the crash occurred in the destructor of a vector of ints, which should be foolproof - all the memory is managed by the vector. Debugging with Valgrind found some bad memory accesses in a completely different method. Fixing that issue solved the crash problem. If memory corruption is in play, bizarre things can happen.

No comments:

Post a Comment