From: Roy Marples Date: Tue, 9 Jul 2024 12:26:24 +0000 (+0100) Subject: DHCP: Remove an assertation in get_lease if ia is NULL X-Git-Tag: v10.0.9~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81a3d19f151c30849274d9f7e7284710ea6f7067;p=thirdparty%2Fdhcpcd.git DHCP: Remove an assertation in get_lease if ia is NULL It's very unlikely that is would be NULL and it only triggers when a STATIC or INFORM address is ripped out under us. --- diff --git a/src/dhcp.c b/src/dhcp.c index 6e6b49a2..0fea3351 100644 --- a/src/dhcp.c +++ b/src/dhcp.c @@ -1409,9 +1409,15 @@ get_lease(struct interface *ifp, const struct ipv4_addr *ia; ia = ipv4_iffindaddr(ifp, &lease->addr, NULL); - assert(ia != NULL); - lease->mask = ia->mask; - lease->brd = ia->brd; + if (ia == NULL) { + lease->mask.s_addr = + ipv4_getnetmask(lease->addr.s_addr); + lease->brd.s_addr = + lease->addr.s_addr | ~lease->mask.s_addr; + } else { + lease->mask = ia->mask; + lease->brd = ia->brd; + } } } else { if (get_option_addr(ctx, &lease->mask, bootp, len,