The REENTCHECK macro (see newlib/libc/include/sys/reent.h) as used by REENTCHECKTM, REENTCHECKMISC, REENTCHECK_MP and other newlib macros in versions prior to 3.3.0, does not check for memory allocation problems when the DEBUG flag is unset (as is the case in production firmware builds).