]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal-remote: destroy event sources before MHD context
authorLennart Poettering <lennart@poettering.net>
Thu, 3 Apr 2025 12:57:23 +0000 (14:57 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 13 May 2025 13:39:57 +0000 (15:39 +0200)
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

index 3dd72ddcf4782f1e3481e597009312cf7575c8be..e5ede19e03f748b969635ef3b0663d076c41db0a 100644 (file)
@@ -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);
 }