43ff24c
From 1b74050afb9b407eaa59c67b6015611c9113f7e4 Mon Sep 17 00:00:00 2001
43ff24c
From: Steven Noonan <steven@uplinklabs.net>
43ff24c
Date: Thu, 3 Jul 2014 19:43:56 -0700
43ff24c
Subject: [PATCH] networkd: don't clear dhcpv6 lease timers if there's no
43ff24c
 previous lease
43ff24c
43ff24c
If client->lease is NULL, dhcp6_lease_clear_timers will cause a segmentation
43ff24c
fault.
43ff24c
43ff24c
(cherry picked from commit b1e1238fb3af77419eca704fb64f68a313954734)
43ff24c
---
43ff24c
 src/libsystemd-network/sd-dhcp6-client.c | 3 ++-
43ff24c
 1 file changed, 2 insertions(+), 1 deletion(-)
43ff24c
43ff24c
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
43ff24c
index 8fdbbfe320..a83778e938 100644
43ff24c
--- a/src/libsystemd-network/sd-dhcp6-client.c
43ff24c
+++ b/src/libsystemd-network/sd-dhcp6-client.c
43ff24c
@@ -708,7 +708,8 @@ static int client_receive_reply(sd_dhcp6_client *client, DHCP6Message *reply,
43ff24c
                         return 0;
43ff24c
         }
43ff24c
 
43ff24c
-        dhcp6_lease_clear_timers(&client->lease->ia);
43ff24c
+        if (client->lease)
43ff24c
+            dhcp6_lease_clear_timers(&client->lease->ia);
43ff24c
 
43ff24c
         client->lease = sd_dhcp6_lease_unref(client->lease);
43ff24c
         client->lease = lease;