From: Lennart Poettering Date: Tue, 23 Dec 2014 01:02:08 +0000 (+0100) Subject: nspawn,pty: port over to new ptsname_malloc() helper X-Git-Tag: v219~877 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=611b312b7d0799281347374dc303c73a066cedf8 nspawn,pty: port over to new ptsname_malloc() helper --- diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 01b8c3203..0dd12adf0 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -2931,13 +2931,12 @@ static int determine_names(void) { int main(int argc, char *argv[]) { - _cleanup_free_ char *device_path = NULL, *root_device = NULL, *home_device = NULL, *srv_device = NULL; + _cleanup_free_ char *device_path = NULL, *root_device = NULL, *home_device = NULL, *srv_device = NULL, *console = NULL; bool root_device_rw = true, home_device_rw = true, srv_device_rw = true; _cleanup_close_ int master = -1, image_fd = -1; _cleanup_close_pair_ int kmsg_socket_pair[2] = { -1, -1 }; _cleanup_fdset_free_ FDSet *fds = NULL; int r, n_fd_passed, loop_nr = -1; - const char *console = NULL; char veth_name[IFNAMSIZ]; bool secondary = false, remove_subvol = false; sigset_t mask, mask_chld; @@ -3094,9 +3093,9 @@ int main(int argc, char *argv[]) { goto finish; } - console = ptsname(master); - if (!console) { - r = log_error_errno(errno, "Failed to determine tty name: %m"); + r = ptsname_malloc(master, &console); + if (r < 0) { + r = log_error_errno(r, "Failed to determine tty name: %m"); goto finish; } diff --git a/src/shared/pty.c b/src/shared/pty.c index 52a426c0e..6863be654 100644 --- a/src/shared/pty.c +++ b/src/shared/pty.c @@ -194,13 +194,13 @@ int pty_get_fd(Pty *pty) { } int pty_make_child(Pty *pty) { - char slave_name[1024]; + _cleanup_free_ char *slave_name = NULL; int r, fd; assert_return(pty, -EINVAL); assert_return(pty_is_unknown(pty), -EALREADY); - r = ptsname_r(pty->fd, slave_name, sizeof(slave_name)); + r = ptsname_malloc(pty->fd, &slave_name); if (r < 0) return -errno;