From a7f241db3f1ae96ab2708092e1b31d2feb989947 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 21 Jul 2010 05:00:29 +0200 Subject: unit: deduce following unit value dynamically instead of statically, to avoid dangling pointers --- src/dbus-manager.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/dbus-manager.c') diff --git a/src/dbus-manager.c b/src/dbus-manager.c index 63e8083805..c1238f0066 100644 --- a/src/dbus-manager.c +++ b/src/dbus-manager.c @@ -413,6 +413,7 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, const char *description, *load_state, *active_state, *sub_state, *sjob_type, *following; DBusMessageIter sub2; uint32_t job_id; + Unit *f; if (k != u->meta.id) continue; @@ -424,7 +425,9 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection, load_state = unit_load_state_to_string(u->meta.load_state); active_state = unit_active_state_to_string(unit_active_state(u)); sub_state = unit_sub_state_to_string(u); - following = u->meta.following ? u->meta.following->meta.id : ""; + + f = unit_following(u); + following = f ? f->meta.id : ""; if (!(u_path = unit_dbus_path(u))) goto oom; -- cgit v1.2.3-54-g00ecf