[master] 7b0505f Plug memleak on error
Federico G. Schwindt
fgsch at lodoss.net
Fri Aug 18 13:02:06 CEST 2017
commit 7b0505fc11fac107ca0ab08724b6ab8a74eda791
Author: Federico G. Schwindt <fgsch at lodoss.net>
Date: Fri Aug 18 02:56:01 2017 +0100
Plug memleak on error
diff --git a/lib/libvarnishapi/vjsn.c b/lib/libvarnishapi/vjsn.c
index c4d2254..1ad4fec 100644
--- a/lib/libvarnishapi/vjsn.c
+++ b/lib/libvarnishapi/vjsn.c
@@ -266,8 +266,11 @@ vjsn_object(struct vjsn *js)
vjsn_skip_ws(js);
VJSN_EXPECT(js, ':', jsv);
jsve = vjsn_value(js);
- if (js->err != NULL)
+ if (js->err != NULL) {
+ if (jsve != NULL)
+ vjsn_val_delete(jsve);
return (jsv);
+ }
CHECK_OBJ_NOTNULL(jsve, VJSN_VAL_MAGIC);
jsve->name = s;
VTAILQ_INSERT_TAIL(&jsv->children, jsve, list);
@@ -295,8 +298,11 @@ vjsn_array(struct vjsn *js)
if (*js->ptr != ']') {
while (1) {
jsve = vjsn_value(js);
- if (js->err != NULL)
+ if (js->err != NULL) {
+ if (jsve != NULL)
+ vjsn_val_delete(jsve);
return (jsv);
+ }
CHECK_OBJ_NOTNULL(jsve, VJSN_VAL_MAGIC);
VTAILQ_INSERT_TAIL(&jsv->children, jsve, list);
vjsn_skip_ws(js);
More information about the varnish-commit
mailing list