diff --git a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c index 1e965f4bed..0cba1b8611 100644 --- a/src/systemd/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/systemd/src/libsystemd-network/sd-dhcp6-client.c @@ -1340,6 +1340,7 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state) { log_dhcp6_client(client, "T1 expires in %s", format_timespan(time_string, FORMAT_TIMESPAN_MAX, timeout, USEC_PER_SEC)); + client->timeout_t1 = sd_event_source_unref(client->timeout_t1); r = sd_event_add_time(client->event, &client->timeout_t1, clock_boottime_or_monotonic(), time_now + timeout, @@ -1362,6 +1363,7 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state) { log_dhcp6_client(client, "T2 expires in %s", format_timespan(time_string, FORMAT_TIMESPAN_MAX, timeout, USEC_PER_SEC)); + client->timeout_t2 = sd_event_source_unref(client->timeout_t2); r = sd_event_add_time(client->event, &client->timeout_t2, clock_boottime_or_monotonic(), time_now + timeout,