From 6f77c31f63388f87ce44ba81da4a09805fe00182 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 3 Apr 2025 14:57:23 +0200 Subject: [PATCH] journal-remote: destroy event sources before MHD context The MHD context owns the fd we watch via our event source, hence when we destroy the context before the event source the event source might still reference the fd that is now invalid. Hence swap the order. --- src/journal-remote/journal-remote-main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c index 3dd72ddcf4..e5ede19e03 100644 --- a/src/journal-remote/journal-remote-main.c +++ b/src/journal-remote/journal-remote-main.c @@ -98,10 +98,11 @@ static MHDDaemonWrapper* MHDDaemonWrapper_free(MHDDaemonWrapper *d) { if (!d) return NULL; + d->io_event = sd_event_source_unref(d->io_event); + d->timer_event = sd_event_source_unref(d->timer_event); + if (d->daemon) MHD_stop_daemon(d->daemon); - sd_event_source_unref(d->io_event); - sd_event_source_unref(d->timer_event); return mfree(d); }