From: Zbigniew Jędrzejewski-Szmek Date: Thu, 24 Oct 2019 10:04:48 +0000 (+0200) Subject: sd-dhcp-client: do not call assert in public functions X-Git-Tag: v244-rc1~160^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F13836%2Fhead;p=thirdparty%2Fsystemd.git sd-dhcp-client: do not call assert in public functions --- diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 9652f70cc00..1c5de5392ca 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -548,7 +548,8 @@ static sd_dhcp_option* dhcp_option_free(sd_dhcp_option *i) { } int sd_dhcp_option_new(uint8_t option, void *data, size_t length, sd_dhcp_option **ret) { - assert(ret); + assert_return(ret, -EINVAL); + assert_return(length == 0 || data, -EINVAL); _cleanup_free_ void *q = memdup(data, length); if (!q) @@ -2047,7 +2048,8 @@ sd_event *sd_dhcp_client_get_event(sd_dhcp_client *client) { } static sd_dhcp_client *dhcp_client_free(sd_dhcp_client *client) { - assert(client); + if (!client) + return NULL; log_dhcp_client(client, "FREE"); @@ -2073,11 +2075,9 @@ static sd_dhcp_client *dhcp_client_free(sd_dhcp_client *client) { DEFINE_TRIVIAL_REF_UNREF_FUNC(sd_dhcp_client, sd_dhcp_client, dhcp_client_free); int sd_dhcp_client_new(sd_dhcp_client **ret, int anonymize) { - _cleanup_(sd_dhcp_client_unrefp) sd_dhcp_client *client = NULL; - assert_return(ret, -EINVAL); - client = new(sd_dhcp_client, 1); + _cleanup_(sd_dhcp_client_unrefp) sd_dhcp_client *client = new(sd_dhcp_client, 1); if (!client) return -ENOMEM;