From 04b4cc614d1778b6e9ccfd490ed4e7ff7e2baf8a Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 23 Feb 2013 21:00:29 +0000 Subject: [PATCH] Don't forget to check the return values of setuid and friends. git-svn-id: svn://svn.tartarus.org/sgt/putty@9764 cda61777-01e9-0310-a592-d414129be87e --- unix/uxpty.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/unix/uxpty.c b/unix/uxpty.c index a1f96946..2bfb85b5 100644 --- a/unix/uxpty.c +++ b/unix/uxpty.c @@ -531,11 +531,23 @@ void pty_pre_init(void) int gid = getgid(), uid = getuid(); int setresgid(gid_t, gid_t, gid_t); int setresuid(uid_t, uid_t, uid_t); - setresgid(gid, gid, gid); - setresuid(uid, uid, uid); + if (setresgid(gid, gid, gid) < 0) { + perror("setresgid"); + exit(1); + } + if (setresuid(uid, uid, uid) < 0) { + perror("setresuid"); + exit(1); + } #else - setgid(getgid()); - setuid(getuid()); + if (setgid(getgid()) < 0) { + perror("setgid"); + exit(1); + } + if (setuid(getuid()) < 0) { + perror("setuid"); + exit(1); + } #endif } } -- 2.11.0