diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2014-06-24 00:31:06 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2014-06-24 00:31:06 -0400 |
commit | 6d733c6596b16b5649ea7f91aac1c95ba445f348 (patch) | |
tree | 189ce738736c0c9ed8a740cc1ff22f5ca0f74b0f | |
parent | 4457aa1ccf2079c5cfca85a8256b7ab2ef92fd6a (diff) |
fix an error when _FORTIFY_SOURCE is enabled
-rw-r--r-- | parabolaweb-changepassword.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/parabolaweb-changepassword.c b/parabolaweb-changepassword.c index 14ada37..29637da 100644 --- a/parabolaweb-changepassword.c +++ b/parabolaweb-changepassword.c @@ -20,7 +20,7 @@ #include <error.h> /* for error(3) */ #include <pwd.h> /* for getpwuid(3) */ #include <stdlib.h> /* for free(3) and environment functions */ -#include <unistd.h> /* for getuid(3), geteuid(3), execl(3) */ +#include <unistd.h> /* for getuid(3), geteuid(3), setreuid(3), execl(3) */ #include <stdio.h> /* for asprintf(3) in atoi() */ void @@ -84,7 +84,8 @@ sanitize_environment() mysetenv("SUID_UID" , a=itoa(user->pw_uid)); xfree(a); mysetenv("SUID_GID" , a=itoa(user->pw_gid)); xfree(a); - setreuid(geteuid(), -1); + if (setreuid(geteuid(), -1) != 0) + error(127, errno, "setreuid"); user = getpwuid(geteuid()); mysetenv("USER" , user->pw_name); |