diff options
author | 2018-06-03 20:51:14 +0000 | |
---|---|---|
committer | 2018-06-03 20:51:14 +0000 | |
commit | 103b890cd815b8739c360f4a014d0dbdec492238 (patch) | |
tree | 81ee29058665387400f72bbc81974266b0d28bd1 | |
parent | Consistently call the inpcb table parameter "table" in in6_pcbnotify(). (diff) | |
download | wireguard-openbsd-103b890cd815b8739c360f4a014d0dbdec492238.tar.xz wireguard-openbsd-103b890cd815b8739c360f4a014d0dbdec492238.zip |
Fix previous by restoring inadvertantly deleted check for
get_recorded_lease() returning NULL.
Should fix segmentation fault reported by Klemens Nanni on bugs@.
-rw-r--r-- | sbin/dhclient/dhclient.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index 3f2c0761134..3f36300f3a7 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dhclient.c,v 1.573 2018/05/23 12:18:58 krw Exp $ */ +/* $OpenBSD: dhclient.c,v 1.574 2018/06/03 20:51:14 krw Exp $ */ /* * Copyright 2004 Henning Brauer <henning@openbsd.org> @@ -1401,10 +1401,12 @@ state_panic(struct interface_info *ifi) if (ifi->link_state >= LINK_STATE_UP) { ifi->offer = get_recorded_lease(ifi); - ifi->state = S_REQUESTING; - ifi->offer_src = strdup(path_lease_db); /* NULL is OK. */ - bind_lease(ifi); - return; + if (ifi->offer != NULL) { + ifi->state = S_REQUESTING; + ifi->offer_src = strdup(path_lease_db); /* NULL is OK. */ + bind_lease(ifi); + return; + } } /* |