get_pty() should return bool

This commit is contained in:
Todd C. Miller
2015-05-07 09:43:19 -06:00
parent d2624ffa96
commit 9c9ff3dc4b
2 changed files with 13 additions and 13 deletions

View File

@@ -58,12 +58,12 @@
#include "sudo.h" #include "sudo.h"
#if defined(HAVE_OPENPTY) #if defined(HAVE_OPENPTY)
int bool
get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid) get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
{ {
struct group *gr; struct group *gr;
gid_t ttygid = -1; gid_t ttygid = -1;
int rval = 0; bool rval = false;
debug_decl(get_pty, SUDO_DEBUG_PTY) debug_decl(get_pty, SUDO_DEBUG_PTY)
if ((gr = getgrnam("tty")) != NULL) if ((gr = getgrnam("tty")) != NULL)
@@ -71,18 +71,18 @@ get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
if (openpty(master, slave, name, NULL, NULL) == 0) { if (openpty(master, slave, name, NULL, NULL) == 0) {
if (chown(name, ttyuid, ttygid) == 0) if (chown(name, ttyuid, ttygid) == 0)
rval = 1; rval = true;
} }
debug_return_bool(rval); debug_return_bool(rval);
} }
#elif defined(HAVE__GETPTY) #elif defined(HAVE__GETPTY)
int bool
get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid) get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
{ {
char *line; char *line;
int rval = 0; bool rval = false;
debug_decl(get_pty, SUDO_DEBUG_PTY) debug_decl(get_pty, SUDO_DEBUG_PTY)
/* IRIX-style dynamic ptys (may fork) */ /* IRIX-style dynamic ptys (may fork) */
@@ -92,7 +92,7 @@ get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
if (*slave != -1) { if (*slave != -1) {
(void) chown(line, ttyuid, -1); (void) chown(line, ttyuid, -1);
strlcpy(name, line, namesz); strlcpy(name, line, namesz);
rval = 1; rval = true;
} else { } else {
close(*master); close(*master);
*master = -1; *master = -1;
@@ -116,11 +116,11 @@ posix_openpt(int oflag)
} }
# endif /* HAVE_POSIX_OPENPT */ # endif /* HAVE_POSIX_OPENPT */
int bool
get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid) get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
{ {
char *line; char *line;
int rval = 0; bool rval = false;
debug_decl(get_pty, SUDO_DEBUG_PTY) debug_decl(get_pty, SUDO_DEBUG_PTY)
*master = posix_openpt(O_RDWR|O_NOCTTY); *master = posix_openpt(O_RDWR|O_NOCTTY);
@@ -146,7 +146,7 @@ get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
# endif # endif
(void) chown(line, ttyuid, -1); (void) chown(line, ttyuid, -1);
strlcpy(name, line, namesz); strlcpy(name, line, namesz);
rval = 1; rval = true;
} }
done: done:
debug_return_bool(rval); debug_return_bool(rval);
@@ -156,13 +156,13 @@ done:
static char line[] = "/dev/ptyXX"; static char line[] = "/dev/ptyXX";
int bool
get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid) get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
{ {
char *bank, *cp; char *bank, *cp;
struct group *gr; struct group *gr;
gid_t ttygid = -1; gid_t ttygid = -1;
int rval = 0; bool rval = false;
debug_decl(get_pty, SUDO_DEBUG_PTY) debug_decl(get_pty, SUDO_DEBUG_PTY)
if ((gr = getgrnam("tty")) != NULL) if ((gr = getgrnam("tty")) != NULL)
@@ -187,7 +187,7 @@ get_pty(int *master, int *slave, char *name, size_t namesz, uid_t ttyuid)
*slave = open(line, O_RDWR|O_NOCTTY, 0); *slave = open(line, O_RDWR|O_NOCTTY, 0);
if (*slave != -1) { if (*slave != -1) {
strlcpy(name, line, namesz); strlcpy(name, line, namesz);
rval = 1; /* success */ rval = true; /* success */
goto done; goto done;
} }
(void) close(*master); (void) close(*master);

View File

@@ -195,7 +195,7 @@ int parse_args(int argc, char **argv, int *nargc, char ***nargv,
extern int tgetpass_flags; extern int tgetpass_flags;
/* get_pty.c */ /* get_pty.c */
int get_pty(int *master, int *slave, char *name, size_t namesz, uid_t uid); bool get_pty(int *master, int *slave, char *name, size_t namesz, uid_t uid);
/* sudo.c */ /* sudo.c */
bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd); bool exec_setup(struct command_details *details, const char *ptyname, int ptyfd);