[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