From: Susant Sahani Date: Mon, 4 Sep 2023 19:43:56 +0000 (+0530) Subject: network: Fix memory leak PREF64 (#29064) X-Git-Tag: v255-rc1~587 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b677e5cc5fdd7f2dc360088659138b0a643e71df;p=thirdparty%2Fsystemd.git network: Fix memory leak PREF64 (#29064) Follow-up for 6e8f5e4c1f5fcdb3b63343268936f9c269b6a209. Fixes #29062. --- diff --git a/src/network/networkd-json.c b/src/network/networkd-json.c index 7c3639d2457..92a086af642 100644 --- a/src/network/networkd-json.c +++ b/src/network/networkd-json.c @@ -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; }