]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/, src/: Reduce scope of variables
authorAlejandro Colomar <alx@kernel.org>
Thu, 14 Nov 2024 12:47:12 +0000 (13:47 +0100)
committerSerge Hallyn <serge@hallyn.com>
Fri, 24 Jan 2025 13:58:13 +0000 (07:58 -0600)
Reviewed-by: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/addgrps.c
src/newgrp.c

index 9eb59c583b59d55e2d8b325544388e32d1a0e995..a52dd55d5056af87695427044ed1ec0f5cd946f5 100644 (file)
@@ -34,12 +34,10 @@ int
 add_groups(const char *list)
 {
        GETGROUPS_T *grouplist;
-       size_t i;
        int ngroups;
        bool added;
        char *g, *p;
        char buf[1024];
-       int ret;
        FILE *shadow_logfd = log_get_logfd();
 
        if (strlen (list) >= sizeof (buf)) {
@@ -48,8 +46,7 @@ add_groups(const char *list)
        }
        strcpy (buf, list);
 
-       i = 16;
-       for (;;) {
+       for (size_t i = 16; /* void */; i *= 2) {
                grouplist = MALLOC(i, GETGROUPS_T);
                if (NULL == grouplist) {
                        return -1;
@@ -62,9 +59,7 @@ add_groups(const char *list)
                         * reception of the groups */
                        break;
                }
-               /* not enough room, so try allocating a larger buffer */
                free (grouplist);
-               i *= 2;
        }
        if (ngroups < 0) {
                free (grouplist);
@@ -74,7 +69,8 @@ add_groups(const char *list)
        added = false;
        p = buf;
        while (NULL != (g = strsep(&p, ",:"))) {
-               struct group *grp;
+               size_t        i;
+               struct group  *grp;
 
                grp = getgrnam(g); /* local, no need for xgetgrnam */
                if (NULL == grp) {
@@ -102,6 +98,8 @@ add_groups(const char *list)
        }
 
        if (added) {
+               int  ret;
+
                ret = setgroups (ngroups, grouplist);
                free (grouplist);
                return ret;
index 11194c87319a768c0ba4a203f13a52f97391b6f5..2549c81ed3bf025a514e14d2a269a33607ccfa5a 100644 (file)
@@ -370,7 +370,6 @@ static void syslog_sg (const char *name, const char *group)
 int main (int argc, char **argv)
 {
        bool initflag = false;
-       int i;
        bool is_member = false;
        bool cflag = false;
        int err = 0;
@@ -556,16 +555,13 @@ int main (int argc, char **argv)
         * set.
         */
        /* don't use getgroups(0, 0) - it doesn't work on some systems */
-       i = 16;
-       for (;;) {
+       for (int i = 16; /* void */; i *= 2) {
                grouplist = XMALLOC(i, GETGROUPS_T);
                ngroups = getgroups (i, grouplist);
                if (i > ngroups && !(ngroups == -1 && errno == EINVAL)) {
                        break;
                }
-               /* not enough room, so try allocating a larger buffer */
                free (grouplist);
-               i *= 2;
        }
        if (ngroups < 0) {
                perror ("getgroups");
@@ -632,7 +628,7 @@ int main (int argc, char **argv)
         * database. However getgroups() will return the group. So
         * if she is listed there already it is ok to grant membership.
         */
-       for (i = 0; i < ngroups; i++) {
+       for (int i = 0; i < ngroups; i++) {
                if (grp->gr_gid == grouplist[i]) {
                        is_member = true;
                        break;
@@ -689,6 +685,7 @@ int main (int argc, char **argv)
         * If the group doesn't fit, I'll complain loudly and skip this
         * part.
         */
+       int i;
        for (i = 0; i < ngroups; i++) {
                if (gid == grouplist[i]) {
                        break;