From: Thomas Hindoe Paaboel Andersen Date: Tue, 19 May 2015 21:19:29 +0000 (+0200) Subject: json: fix a mem leak X-Git-Tag: v220~35 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fecb719ec1e1abc665f91d55adaa4951db5c1bed;p=thirdparty%2Fsystemd.git json: fix a mem leak --- diff --git a/src/shared/json.c b/src/shared/json.c index f6c44f46f86..5d7d0dba808 100644 --- a/src/shared/json.c +++ b/src/shared/json.c @@ -126,7 +126,7 @@ JsonVariant *json_variant_unref(JsonVariant *variant) { return NULL; if (variant->type == JSON_VARIANT_ARRAY || variant->type == JSON_VARIANT_OBJECT) - return json_object_unref(variant); + json_object_unref(variant); else if (variant->type == JSON_VARIANT_STRING) free(variant->string); diff --git a/src/test/test-json.c b/src/test/test-json.c index c4b4a222f9f..0be69f88e18 100644 --- a/src/test/test-json.c +++ b/src/test/test-json.c @@ -75,7 +75,7 @@ static void test_one(const char *data, ...) { typedef void (*Test)(JsonVariant *); static void test_file(const char *data, Test test) { - JsonVariant *v = NULL; + _cleanup_jsonunref_ JsonVariant *v = NULL; int r = json_parse(data, &v); assert_se(r == 0); @@ -84,8 +84,6 @@ static void test_file(const char *data, Test test) { if (test) test(v); - - json_variant_unref(v); } static void test_1(JsonVariant *v) {