X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmachine%2Fmachine-dbus.c;h=d6b8c90090fedeec14bcc0b2523f4d1265aa08b6;hb=bfb8d4726c4b9e52560abf894ec344359975ff73;hp=334abbdeb5e371ad7cff8ae11044a044a3987a25;hpb=2eec67acbb00593e414549a7e5b35eb7dd776b1b;p=elogind.git diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c index 334abbdeb..d6b8c9009 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -471,6 +471,7 @@ int bus_machine_method_open_login(sd_bus *bus, sd_bus_message *message, void *us _cleanup_close_ int master = -1; Machine *m = userdata; const char *p; + char *address; int r; if (m->class != MACHINE_CONTAINER) @@ -509,13 +510,14 @@ int bus_machine_method_open_login(sd_bus *bus, sd_bus_message *message, void *us return r; #ifdef ENABLE_KDBUS - asprintf(&container_bus->address, "x-machine-kernel:pid=" PID_FMT ";x-machine-unix:pid=" PID_FMT, m->leader, m->leader); +# define ADDRESS_FMT "x-machine-kernel:pid=%1$" PID_PRI ";x-machine-unix:pid=%1$" PID_PRI #else - asprintf(&container_bus->address, "x-machine-kernel:pid=" PID_FMT, m->leader); +# define ADDRESS_FMT "x-machine-unix:pid=%1$" PID_PRI #endif - if (!container_bus->address) + if (asprintf(&address, ADDRESS_FMT, m->leader) < 0) return log_oom(); + container_bus->address = address; container_bus->bus_client = true; container_bus->trusted = false; container_bus->is_system = true; @@ -871,7 +873,7 @@ int bus_machine_method_copy(sd_bus *bus, sd_bus_message *message, void *userdata container_dirname = dirname(t); hostfd = open(host_dirname, O_CLOEXEC|O_RDONLY|O_NOCTTY|O_DIRECTORY); - if (r < 0) + if (hostfd < 0) return sd_bus_error_set_errnof(error, errno, "Failed to open host directory %s: %m", host_dirname); if (pipe2(errno_pipe_fd, O_CLOEXEC|O_NONBLOCK) < 0)