From 5300cb625e6198d275e0cc86688944033b87ba65 Mon Sep 17 00:00:00 2001 From: Lukas Sismis Date: Fri, 8 Sep 2023 11:13:26 +0200 Subject: [PATCH] privs: refactor SCGetUser/GroupID to void functions SCGetUserID/SCGetGroupID either FatalErrored out or returned zero. As a result, the functions got refactored into non-returning void functions. --- src/suricata.c | 13 ++----------- src/util-privs.c | 12 ++++-------- src/util-privs.h | 4 ++-- 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/suricata.c b/src/suricata.c index 30e6490826c7..7f979a7fbfcc 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -2155,20 +2155,11 @@ static int InitRunAs(SCInstance *suri) } /* Get the suricata user ID to given user ID */ if (suri->do_setuid == TRUE) { - if (SCGetUserID(suri->user_name, suri->group_name, - &suri->userid, &suri->groupid) != 0) { - SCLogError("failed in getting user ID"); - return TM_ECODE_FAILED; - } - + SCGetUserID(suri->user_name, suri->group_name, &suri->userid, &suri->groupid); sc_set_caps = TRUE; /* Get the suricata group ID to given group ID */ } else if (suri->do_setgid == TRUE) { - if (SCGetGroupID(suri->group_name, &suri->groupid) != 0) { - SCLogError("failed in getting group ID"); - return TM_ECODE_FAILED; - } - + SCGetGroupID(suri->group_name, &suri->groupid); sc_set_caps = TRUE; } #endif diff --git a/src/util-privs.c b/src/util-privs.c index b08516b650e0..8210cc8065d9 100644 --- a/src/util-privs.c +++ b/src/util-privs.c @@ -145,9 +145,9 @@ void SCDropCaps(ThreadVars *tv) * \param uid pointer to the user id in which result will be stored * \param gid pointer to the group id in which result will be stored * - * \retval upon success it return 0 + * \retval FatalError on a failure */ -int SCGetUserID(const char *user_name, const char *group_name, uint32_t *uid, uint32_t *gid) +void SCGetUserID(const char *user_name, const char *group_name, uint32_t *uid, uint32_t *gid) { uint32_t userid = 0; uint32_t groupid = 0; @@ -204,8 +204,6 @@ int SCGetUserID(const char *user_name, const char *group_name, uint32_t *uid, ui *uid = userid; *gid = groupid; - - return 0; } /** @@ -214,9 +212,9 @@ int SCGetUserID(const char *user_name, const char *group_name, uint32_t *uid, ui * \param group_name pointer to the given group name * \param gid pointer to the group id in which result will be stored * - * \retval upon success it return 0 + * \retval FatalError on a failure */ -int SCGetGroupID(const char *group_name, uint32_t *gid) +void SCGetGroupID(const char *group_name, uint32_t *gid) { uint32_t grpid = 0; struct group *gp; @@ -244,8 +242,6 @@ int SCGetGroupID(const char *group_name, uint32_t *gid) endgrent(); *gid = grpid; - - return 0; } #ifdef __OpenBSD__ diff --git a/src/util-privs.h b/src/util-privs.h index 64518814c5d2..454533963d34 100644 --- a/src/util-privs.h +++ b/src/util-privs.h @@ -90,8 +90,8 @@ void SCDropMainThreadCaps(uint32_t , uint32_t ); #define SCDropMainThreadCaps(...) #endif /* HAVE_LIBCAP_NG */ -int SCGetUserID(const char *, const char *, uint32_t *, uint32_t *); -int SCGetGroupID(const char *, uint32_t *); +void SCGetUserID(const char *, const char *, uint32_t *, uint32_t *); +void SCGetGroupID(const char *, uint32_t *); #ifdef __OpenBSD__ int SCPledge(void);