[PATCH 1/3] libbb: Add xsetegid() and xseteuid() functions

Ryan Mallon rmallon at gmail.com
Tue Oct 8 00:02:31 UTC 2013


Signed-off-by: Ryan Mallon <rmallon at gmail.com>
---
 include/libbb.h       |    2 ++
 libbb/xfuncs_printf.c |   10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/include/libbb.h b/include/libbb.h
index 1315e5f..55b2cf5 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -461,6 +461,8 @@ void record_signo(int signo); /* not FAST_FUNC! */
 
 void xsetgid(gid_t gid) FAST_FUNC;
 void xsetuid(uid_t uid) FAST_FUNC;
+void xsetegid(gid_t egid) FAST_FUNC;
+void xseteuid(uid_t euid) FAST_FUNC;
 void xchdir(const char *path) FAST_FUNC;
 void xchroot(const char *path) FAST_FUNC;
 void xsetenv(const char *key, const char *value) FAST_FUNC;
diff --git a/libbb/xfuncs_printf.c b/libbb/xfuncs_printf.c
index a706832..e1ab389 100644
--- a/libbb/xfuncs_printf.c
+++ b/libbb/xfuncs_printf.c
@@ -351,6 +351,16 @@ void FAST_FUNC xsetuid(uid_t uid)
 	if (setuid(uid)) bb_perror_msg_and_die("setuid");
 }
 
+void FAST_FUNC xsetegid(gid_t egid)
+{
+	if (setegid(egid)) bb_perror_msg_and_die("setegid");
+}
+
+void FAST_FUNC xseteuid(uid_t euid)
+{
+	if (seteuid(euid)) bb_perror_msg_and_die("seteuid");
+}
+
 // Die if we can't chdir to a new path.
 void FAST_FUNC xchdir(const char *path)
 {
-- 
1.7.9.7



More information about the busybox mailing list