From 0cd7e072b466b8ad4e4d315ffbec89682b0d23a1 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 28 Sep 2021 15:30:52 +0900 Subject: [PATCH] sd-lldp-rx: use _cleanup_ attribute at one more place --- src/libsystemd-network/sd-lldp-rx.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/libsystemd-network/sd-lldp-rx.c b/src/libsystemd-network/sd-lldp-rx.c index fd3097b26b0..bf544a5e3ab 100644 --- a/src/libsystemd-network/sd-lldp-rx.c +++ b/src/libsystemd-network/sd-lldp-rx.c @@ -454,7 +454,8 @@ static inline int neighbor_compare_func(sd_lldp_neighbor * const *a, sd_lldp_nei } _public_ int sd_lldp_rx_get_neighbors(sd_lldp_rx *lldp_rx, sd_lldp_neighbor ***ret) { - sd_lldp_neighbor **l = NULL, *n; + _cleanup_free_ sd_lldp_neighbor **l = NULL; + sd_lldp_neighbor *n; int k = 0, r; assert_return(lldp_rx, -EINVAL); @@ -470,10 +471,8 @@ _public_ int sd_lldp_rx_get_neighbors(sd_lldp_rx *lldp_rx, sd_lldp_neighbor ***r return -ENOMEM; r = lldp_rx_start_timer(lldp_rx, NULL); - if (r < 0) { - free(l); + if (r < 0) return r; - } HASHMAP_FOREACH(n, lldp_rx->neighbor_by_id) l[k++] = sd_lldp_neighbor_ref(n); @@ -482,7 +481,7 @@ _public_ int sd_lldp_rx_get_neighbors(sd_lldp_rx *lldp_rx, sd_lldp_neighbor ***r /* Return things in a stable order */ typesafe_qsort(l, k, neighbor_compare_func); - *ret = l; + *ret = TAKE_PTR(l); return k; } -- 2.47.3