From b677e5cc5fdd7f2dc360088659138b0a643e71df Mon Sep 17 00:00:00 2001 From: Susant Sahani Date: Tue, 5 Sep 2023 01:13:56 +0530 Subject: [PATCH] network: Fix memory leak PREF64 (#29064) Follow-up for 6e8f5e4c1f5fcdb3b63343268936f9c269b6a209. Fixes #29062. --- src/network/networkd-json.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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; } -- 2.47.3