pty: use reentrant ptsname_r

Avoid static storage in pty subsystem and use the ptsname_r extension.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
David Herrmann 2012-03-25 16:18:03 +02:00
parent 8773331331
commit b1cb8c918c

View File

@ -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;
}