From 35777f517883a9324e94a6c201f4eb36b14ff1c8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 28 Sep 2021 15:51:59 +0900 Subject: [PATCH] sd-lldp-rx: make lldp_rx_free() and lldp_neighbor_free() accept NULL --- src/libsystemd-network/lldp-neighbor.c | 7 ++++--- src/libsystemd-network/sd-lldp-rx.c | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libsystemd-network/lldp-neighbor.c b/src/libsystemd-network/lldp-neighbor.c index 4ae78d25dfc..48c2142b1e9 100644 --- a/src/libsystemd-network/lldp-neighbor.c +++ b/src/libsystemd-network/lldp-neighbor.c @@ -55,8 +55,9 @@ _public_ sd_lldp_neighbor *sd_lldp_neighbor_ref(sd_lldp_neighbor *n) { return n; } -static void lldp_neighbor_free(sd_lldp_neighbor *n) { - assert(n); +static sd_lldp_neighbor *lldp_neighbor_free(sd_lldp_neighbor *n) { + if (!n) + return NULL; free(n->id.port_id); free(n->id.chassis_id); @@ -66,7 +67,7 @@ static void lldp_neighbor_free(sd_lldp_neighbor *n) { free(n->mud_url); free(n->chassis_id_as_string); free(n->port_id_as_string); - free(n); + return mfree(n); } _public_ sd_lldp_neighbor *sd_lldp_neighbor_unref(sd_lldp_neighbor *n) { diff --git a/src/libsystemd-network/sd-lldp-rx.c b/src/libsystemd-network/sd-lldp-rx.c index 05dec99d510..98bde8b3068 100644 --- a/src/libsystemd-network/sd-lldp-rx.c +++ b/src/libsystemd-network/sd-lldp-rx.c @@ -367,7 +367,8 @@ const char *sd_lldp_rx_get_ifname(sd_lldp_rx *lldp_rx) { } static sd_lldp_rx *lldp_rx_free(sd_lldp_rx *lldp_rx) { - assert(lldp_rx); + if (!lldp_rx) + return NULL; lldp_rx_reset(lldp_rx); -- 2.47.3