From: Lennart Poettering Date: Thu, 21 Nov 2013 20:36:04 +0000 (+0100) Subject: core: actually make SwitchRoot() bus call do the deed X-Git-Tag: v209~1348 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=92b315dfb482626ca6c98b67cd862e4af483a499 core: actually make SwitchRoot() bus call do the deed --- diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 6002d02c5..c560cac18 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -1121,7 +1121,7 @@ static int method_switch_root(sd_bus *bus, sd_bus_message *message, void *userda if (!isempty(init)) { ri = strdup(init); if (!ri) { - free(ri); + free(rt); return -ENOMEM; } } @@ -1132,6 +1132,8 @@ static int method_switch_root(sd_bus *bus, sd_bus_message *message, void *userda free(m->switch_root_init); m->switch_root_init = ri; + m->exit_code = MANAGER_SWITCH_ROOT; + return sd_bus_reply_method_return(message, NULL); }