From 84dbc217a39690b8cab1271e8ecc64056efa3cfb Mon Sep 17 00:00:00 2001 From: Francesco Giudici Date: Fri, 12 Jul 2019 11:54:21 +0200 Subject: [PATCH] dhcp: nettools: check if addr is in the lease when bound otherwise quit early and share log info about it, like we do in the systemd internal client. --- src/dhcp/nm-dhcp-nettools.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dhcp/nm-dhcp-nettools.c b/src/dhcp/nm-dhcp-nettools.c index d4b334cec8..3aa921807b 100644 --- a/src/dhcp/nm-dhcp-nettools.c +++ b/src/dhcp/nm-dhcp-nettools.c @@ -374,6 +374,12 @@ lease_parse_address (NDhcp4ClientLease *lease, guint64 a_lifetime; n_dhcp4_client_lease_get_yiaddr (lease, &a_address); + if (a_address.s_addr == INADDR_ANY) { + nm_utils_error_set_literal (error, NM_UTILS_ERROR_UNKNOWN, "could not get address from lease"); + return FALSE; + } + + /* n_dhcp4_client_lease_get_lifetime() never fails */ n_dhcp4_client_lease_get_lifetime (lease, &a_lifetime); if (!lease_get_in_addr (lease, NM_DHCP_OPTION_DHCP4_SUBNET_MASK, &a_netmask)) {