X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fdbus-manager.c;h=c560cac18fa47a6b3bac6f16de96e878ce256773;hp=6002d02c5bb50e8a2b0c113086104344e8e46c58;hb=92b315dfb482626ca6c98b67cd862e4af483a499;hpb=1302759d1581a4df0259cd4499a0908dad5f8b77 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); }