From: Yu Watanabe Date: Tue, 28 Sep 2021 06:51:59 +0000 (+0900) Subject: sd-lldp-rx: make lldp_rx_free() and lldp_neighbor_free() accept NULL X-Git-Tag: v250-rc1~612^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F20861%2Fhead;p=thirdparty%2Fsystemd.git sd-lldp-rx: make lldp_rx_free() and lldp_neighbor_free() accept NULL --- 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);