From: Patrik Flykt Date: Wed, 19 Sep 2018 00:32:26 +0000 (-0600) Subject: sd-dhcp6-client: Reference and unreference a stored lease X-Git-Tag: v240~700^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c881490c1265d31dcdd8b1ab42af5bbf22a3811;p=thirdparty%2Fsystemd.git sd-dhcp6-client: Reference and unreference a stored lease In order to be able to properly free a DHCPv6 lease, unreference the previous lease and reference the new one. --- diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c index 9969b01ab94..b306f07eb98 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -390,7 +390,8 @@ static void client_notify(sd_dhcp6_client *client, int event) { static void client_set_lease(sd_dhcp6_client *client, sd_dhcp6_lease *lease) { assert(client); - client->lease = lease; + (void) sd_dhcp6_lease_unref(client->lease); + client->lease = sd_dhcp6_lease_ref(lease); } static int client_reset(sd_dhcp6_client *client) {