]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: Fix memory leak PREF64 (#29064)
authorSusant Sahani <ssahani@gmail.com>
Mon, 4 Sep 2023 19:43:56 +0000 (01:13 +0530)
committerGitHub <noreply@github.com>
Mon, 4 Sep 2023 19:43:56 +0000 (04:43 +0900)
Follow-up for 6e8f5e4c1f5fcdb3b63343268936f9c269b6a209.

Fixes #29062.

src/network/networkd-json.c

index 7c3639d2457cc5451b5daa00d41d84f2dc40bda8..92a086af64251f4b1929fa6fc6fa83582f651430 100644 (file)
@@ -934,11 +934,12 @@ static int pref64_append_json(Link *link, JsonVariant **v) {
                 return 0;
 
         SET_FOREACH(i, link->ndisc_pref64) {
-                r = json_build(&array, JSON_BUILD_OBJECT(
-                                               JSON_BUILD_PAIR_IN6_ADDR_NON_NULL("Prefix", &i->prefix),
-                                               JSON_BUILD_PAIR_UNSIGNED("PrefixLength", i->prefix_len),
-                                               JSON_BUILD_PAIR_FINITE_USEC("LifetimeUSec", i->lifetime_usec),
-                                               JSON_BUILD_PAIR_IN6_ADDR_NON_NULL("ConfigProvider", &i->router)));
+                r = json_variant_append_arrayb(&array,
+                                               JSON_BUILD_OBJECT(
+                                                               JSON_BUILD_PAIR_IN6_ADDR_NON_NULL("Prefix", &i->prefix),
+                                                               JSON_BUILD_PAIR_UNSIGNED("PrefixLength", i->prefix_len),
+                                                               JSON_BUILD_PAIR_FINITE_USEC("LifetimeUSec", i->lifetime_usec),
+                                                               JSON_BUILD_PAIR_IN6_ADDR_NON_NULL("ConfigProvider", &i->router)));
                 if (r < 0)
                         return r;
         }