src/json.c

changeset 1574
cfbf4a3a9c11
parent 1573
cd2e974410ad
--- 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;

mercurial