out of range uid mapping bug
authorSam Leffler <sam@ucbvax.Berkeley.EDU>
Fri, 23 Sep 1983 13:17:40 +0000 (05:17 -0800)
committerSam Leffler <sam@ucbvax.Berkeley.EDU>
Fri, 23 Sep 1983 13:17:40 +0000 (05:17 -0800)
SCCS-vsn: usr.sbin/quot/quot.c 4.9

usr/src/usr.sbin/quot/quot.c

index 47a812f..a563b9c 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef lint
 #ifndef lint
-static char *sccsid = "@(#)quot.c      4.8 (Berkeley) 83/08/19";
+static char *sccsid = "@(#)quot.c      4.9 (Berkeley) 83/09/22";
 #endif
 
 /*
 #endif
 
 /*
@@ -347,6 +347,7 @@ getname(uid)
                return (&names[uid][0]);
        if (uid >= 0 && uid == outrangeuid)
                return (outrangename);
                return (&names[uid][0]);
        if (uid >= 0 && uid == outrangeuid)
                return (outrangename);
+rescan:
        if (init == 2) {
                if (uid < NUID)
                        return (0);
        if (init == 2) {
                if (uid < NUID)
                        return (0);
@@ -376,11 +377,9 @@ getname(uid)
                if (names[pw->pw_uid][0])
                        continue;
                strncpy(names[pw->pw_uid], pw->pw_name, NMAX);
                if (names[pw->pw_uid][0])
                        continue;
                strncpy(names[pw->pw_uid], pw->pw_name, NMAX);
-               if (pw->pw_uid == uid) {
+               if (pw->pw_uid == uid)
                        return (&names[uid][0]);
                        return (&names[uid][0]);
-               }
        }
        init = 2;
        }
        init = 2;
-       endpwent();
-       return (0);
+       goto rescan;
 }
 }