diff -r cd2e974410ad -r cfbf4a3a9c11 src/json.c --- a/src/json.c Thu Dec 11 22:59:55 2025 +0100 +++ b/src/json.c Thu Dec 11 23:07:24 2025 +0100 @@ -1417,14 +1417,14 @@ CX_BUFFER_AUTO_EXTEND | CX_BUFFER_DO_NOT_FREE)) { return (cxmutstr){NULL, 0}; } - if (cx_json_write_rec(&buffer, value, cxBufferWriteFunc, writer, 0)) { + if (cx_json_write_rec(&buffer, value, cxBufferWriteFunc, writer, 0) + || cxBufferTerminate(&buffer)) { // LCOV_EXCL_START buffer.flags &= ~CX_BUFFER_DO_NOT_FREE; cxBufferDestroy(&buffer); return (cxmutstr){NULL, 0}; // LCOV_EXCL_STOP } else { - cxBufferTerminate(&buffer); cxmutstr str = cx_mutstrn(buffer.space, buffer.size); cxBufferDestroy(&buffer); return str;