]> git.kaiwu.me - quickjs.git/commitdiff
removed memory leak in case of error in cpool_add() (#468)
authorFabrice Bellard <fabrice@bellard.org>
Thu, 11 Dec 2025 18:17:38 +0000 (19:17 +0100)
committerFabrice Bellard <fabrice@bellard.org>
Thu, 11 Dec 2025 18:17:38 +0000 (19:17 +0100)
quickjs.c

index 6f461d69d3be095e7199ba8dce37343d9a1f6075..af1bddfdc9d2f8fa88fd5cccb16e4da09cc711f9 100644 (file)
--- a/quickjs.c
+++ b/quickjs.c
@@ -23364,8 +23364,10 @@ static int cpool_add(JSParseState *s, JSValue val)
     JSFunctionDef *fd = s->cur_func;
 
     if (js_resize_array(s->ctx, (void *)&fd->cpool, sizeof(fd->cpool[0]),
-                        &fd->cpool_size, fd->cpool_count + 1))
+                        &fd->cpool_size, fd->cpool_count + 1)) {
+        JS_FreeValue(s->ctx, val);
         return -1;
+    }
     fd->cpool[fd->cpool_count++] = val;
     return fd->cpool_count - 1;
 }