diff options
Diffstat (limited to 'src/machine')
| -rw-r--r-- | src/machine/machine-dbus.c | 7 | ||||
| -rw-r--r-- | src/machine/machinectl.c | 2 | 
2 files changed, 7 insertions, 2 deletions
| diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c index 7cabe0f2ff..76c5dcf735 100644 --- a/src/machine/machine-dbus.c +++ b/src/machine/machine-dbus.c @@ -404,6 +404,7 @@ int bus_machine_method_open_pty(sd_bus *bus, sd_bus_message *message, void *user                  .msg_controllen = sizeof(control),          };          Machine *m = userdata; +        _cleanup_free_ char *pty_name = NULL;          struct cmsghdr *cmsg;          siginfo_t si;          pid_t child; @@ -479,11 +480,15 @@ int bus_machine_method_open_pty(sd_bus *bus, sd_bus_message *message, void *user          if (master < 0)                  return -EIO; +        r = ptsname_malloc(master, &pty_name); +        if (r < 0) +                return r; +          r = sd_bus_message_new_method_return(message, &reply);          if (r < 0)                  return r; -        r = sd_bus_message_append(reply, "hs", master, ptsname(master)); +        r = sd_bus_message_append(reply, "hs", master, pty_name);          if (r < 0)                  return r; diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index ccee16f2a8..b9e8381e6c 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -1053,7 +1053,7 @@ static int login_machine(int argc, char *argv[], void *userdata) {          r = sd_bus_message_read(reply, "hs", &master, &pty);          if (r < 0) -                return r; +                return bus_log_parse_error(r);          p = startswith(pty, "/dev/pts/");          if (!p) { | 
