Signed-off-by: Jan Friesse <[email protected]>
---
 exec/coroparse.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/exec/coroparse.c b/exec/coroparse.c
index 9439649..ef13088 100644
--- a/exec/coroparse.c
+++ b/exec/coroparse.c
@@ -131,6 +131,13 @@ static int uid_determine (const char *req_user)
        struct passwd* temp_pwd_pt;
        char *pwdbuffer;
        int  pwdlinelen, rc;
+       long int id;
+       char *ep;
+
+       id = strtol(req_user, &ep, 10);
+       if (*ep == '\0' && id >= 0 && id <= UINT_MAX) {
+               return (id);
+       }
 
        pwdlinelen = sysconf (_SC_GETPW_R_SIZE_MAX);
 
@@ -178,6 +185,13 @@ static int gid_determine (const char *req_group)
        struct group * temp_grp_pt;
        char *grpbuffer;
        int  grplinelen, rc;
+       long int id;
+       char *ep;
+
+       id = strtol(req_group, &ep, 10);
+       if (*ep == '\0' && id >= 0 && id <= UINT_MAX) {
+               return (id);
+       }
 
        grplinelen = sysconf (_SC_GETGR_R_SIZE_MAX);
 
-- 
1.7.1

_______________________________________________
discuss mailing list
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss

Reply via email to