From b1cb8c918c5670279c9a328ecebe40080dc40e41 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Sun, 25 Mar 2012 16:18:03 +0200 Subject: [PATCH] pty: use reentrant ptsname_r Avoid static storage in pty subsystem and use the ptsname_r extension. Signed-off-by: David Herrmann --- src/pty.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pty.c b/src/pty.c index 87aab1b..7c592e6 100644 --- a/src/pty.c +++ b/src/pty.c @@ -126,7 +126,7 @@ static int setup_child(int master, struct winsize *ws) int ret; sigset_t sigset; pid_t pid; - const char *slave_name; + char slave_name[128]; int slave = -1; /* The child should not inherit our signal mask. */ @@ -147,8 +147,8 @@ static int setup_child(int master, struct winsize *ws) goto err_out; } - slave_name = ptsname(master); - if (!slave_name) { + ret = ptsname_r(master, slave_name, sizeof(slave_name)); + if (ret) { log_err("cannot find slave name: %m"); goto err_out; }