summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2018-06-03 20:51:14 +0000
committerkrw <krw@openbsd.org>2018-06-03 20:51:14 +0000
commit103b890cd815b8739c360f4a014d0dbdec492238 (patch)
tree81ee29058665387400f72bbc81974266b0d28bd1
parentConsistently call the inpcb table parameter "table" in in6_pcbnotify(). (diff)
downloadwireguard-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.c12
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;
+ }
}
/*