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