# HG changeset patch # User Mike Becker # Date 1765490844 -3600 # Node ID cfbf4a3a9c11f9e65e5f0395ed3ccda6b4bf1c3b # Parent cd2e974410ad8362392f786af3cc59d7ab797fb1 fix missing error handling when terminating the string relates to #778 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;