]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/unit: fix use-after-free
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 8 May 2022 15:56:05 +0000 (00:56 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 8 May 2022 20:45:07 +0000 (22:45 +0200)
Fixes #23312.

src/core/unit.c

index 42ee8892a4f45a040c61af30085f4bea82e9356b..fcfc9bc8d2bea9809d04e065e38645670b6b2e27 100644 (file)
@@ -684,8 +684,8 @@ Unit* unit_free(Unit *u) {
 
         unit_dequeue_rewatch_pids(u);
 
-        sd_bus_slot_unref(u->match_bus_slot);
-        sd_bus_track_unref(u->bus_track);
+        u->match_bus_slot = sd_bus_slot_unref(u->match_bus_slot);
+        u->bus_track = sd_bus_track_unref(u->bus_track);
         u->deserialized_refs = strv_free(u->deserialized_refs);
         u->pending_freezer_message = sd_bus_message_unref(u->pending_freezer_message);