https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64368
--- Comment #11 from Hans-Peter Nilsson <hp at gcc dot gnu.org> --- Created attachment 34344 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34344&action=edit Call-trace for testsuite/22_locale/locale/cons/6.cc on cris-elf, a "newlib target" Plain execution trace from 22_locale/locale/cons/6.cc compiled with default testsuite options, so inlining and whatever effects apply. In the trace, lines with ">" denotes function calls, "<" are returns, with indentation supposed to show the call-level. The first four columns are the hexadecimal values of the first four parameters as applicable (actually, "parameter registers" but none are larger than 32 bits here, so same thing) / ditto return values, padded with random contents. (The fifth column is cumulative execution times at each call-level.) By a quick glance it seems the freed-but-not-allocated pointer, 0x5e23a, is also the argument to the last call to strlen. HTH.