json: fix a mem leak
authorThomas Hindoe Paaboel Andersen <phomes@gmail.com>
Tue, 19 May 2015 21:19:29 +0000 (23:19 +0200)
committerThomas Hindoe Paaboel Andersen <phomes@gmail.com>
Tue, 19 May 2015 21:19:54 +0000 (23:19 +0200)
src/shared/json.c
src/test/test-json.c

index f6c44f4..5d7d0db 100644 (file)
@@ -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);
index c4b4a22..0be69f8 100644 (file)
@@ -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) {