From eb2f750242d6c4c0963887dbd561d8bafa318685 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 24 Sep 2021 17:26:35 +0900 Subject: libsystemd-network: disable event sources before unref them Fixes #20825. --- src/libsystemd-network/sd-radv.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/libsystemd-network/sd-radv.c') diff --git a/src/libsystemd-network/sd-radv.c b/src/libsystemd-network/sd-radv.c index 79acfa3add..fd16a70a54 100644 --- a/src/libsystemd-network/sd-radv.c +++ b/src/libsystemd-network/sd-radv.c @@ -89,8 +89,7 @@ static void radv_reset(sd_radv *ra) { (void) event_source_disable(ra->timeout_event_source); - ra->recv_event_source = - sd_event_source_unref(ra->recv_event_source); + ra->recv_event_source = sd_event_source_disable_unref(ra->recv_event_source); ra->ra_sent = 0; } @@ -116,10 +115,9 @@ static sd_radv *radv_free(sd_radv *ra) { free(ra->rdnss); free(ra->dnssl); - ra->timeout_event_source = sd_event_source_unref(ra->timeout_event_source); - radv_reset(ra); + sd_event_source_unref(ra->timeout_event_source); sd_radv_detach_event(ra); ra->fd = safe_close(ra->fd); -- cgit v1.2.1