diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2015-10-08 14:55:36 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2015-10-08 15:21:43 +0200 |
commit | 95e8b165a7cf8a9f72ccfbc3ca09833c8e2cdb60 (patch) | |
tree | 06b97352b82360881e92515db49331cb02709e0d | |
parent | ac633f6f2e18c5c0954824da4939cc9cf2d04696 (diff) | |
download | NetworkManager-95e8b165a7cf8a9f72ccfbc3ca09833c8e2cdb60.tar.gz |
systemd,dhcpv6: clean up the lease on client reset
Upstream systemd.git commit 4e3e667 [sd-dhcp6-client: Fix unreferencing
DHCPv6 lease on client reset].
Fixed on master already.
https://bugzilla.redhat.com/show_bug.cgi?id=1260727
-rw-r--r-- | src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c index 8a17a72803..6754fe1990 100644 --- a/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c @@ -285,6 +285,11 @@ static void client_notify(sd_dhcp6_client *client, int event) { static int client_reset(sd_dhcp6_client *client) { assert_return(client, -EINVAL); + if (client->lease) { + dhcp6_lease_clear_timers(&client->lease->ia); + client->lease = sd_dhcp6_lease_unref(client->lease); + } + client->receive_message = sd_event_source_unref(client->receive_message); |