summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hindoe Paaboel Andersen <phomes@gmail.com>2015-05-19 23:19:29 +0200
committerThomas Hindoe Paaboel Andersen <phomes@gmail.com>2015-05-19 23:19:54 +0200
commitfecb719ec1e1abc665f91d55adaa4951db5c1bed (patch)
tree0381ba5860773748a3b0fc895f62c09d820bbb65
parente885c2084abf32a3b60b8136da553290b20a244c (diff)
downloadsystemd-fecb719ec1e1abc665f91d55adaa4951db5c1bed.tar.gz
json: fix a mem leak
-rw-r--r--src/shared/json.c2
-rw-r--r--src/test/test-json.c4
2 files changed, 2 insertions, 4 deletions
diff --git a/src/shared/json.c b/src/shared/json.c
index f6c44f46f8..5d7d0dba80 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 c4b4a222f9..0be69f88e1 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) {