From: Yu Watanabe Date: Fri, 7 Jun 2019 05:22:13 +0000 (+0900) Subject: network: check earlier the existence of lifetime in lease X-Git-Tag: v243-rc1~300^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=448aaf9f4373ba9980b523928d74f7793c139919;p=thirdparty%2Fsystemd.git network: check earlier the existence of lifetime in lease --- diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c index ed196c446a1..9f820c1f406 100644 --- a/src/network/networkd-dhcp4.c +++ b/src/network/networkd-dhcp4.c @@ -509,6 +509,12 @@ static int dhcp_lease_acquired(sd_dhcp_client *client, Link *link) { prefixlen = in4_addr_netmask_to_prefixlen(&netmask); + if (!FLAGS_SET(link->network->keep_configuration, KEEP_CONFIGURATION_DHCP)) { + r = sd_dhcp_lease_get_lifetime(lease, &lifetime); + if (r < 0) + return log_link_warning_errno(link, r, "DHCP error: no lifetime: %m"); + } + r = sd_dhcp_lease_get_router(lease, &router); if (r < 0 && r != -ENODATA) return log_link_error_errno(link, r, "DHCP error: Could not get gateway: %m"); @@ -582,12 +588,6 @@ static int dhcp_lease_acquired(sd_dhcp_client *client, Link *link) { } } - if (!FLAGS_SET(link->network->keep_configuration, KEEP_CONFIGURATION_DHCP)) { - r = sd_dhcp_lease_get_lifetime(link->dhcp_lease, &lifetime); - if (r < 0) - return log_link_warning_errno(link, r, "DHCP error: no lifetime: %m"); - } - r = dhcp4_update_address(link, &address, &netmask, lifetime); if (r < 0) { log_link_warning_errno(link, r, "Could not update IP address: %m");