Diff for /embedaddon/sudo/compat/getgrouplist.c between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2013/10/14 07:56:33 version 1.1.1.4, 2014/06/15 16:12:54
Line 69  getgrouplist(const char *name, gid_t basegid, gid_t *g Line 69  getgrouplist(const char *name, gid_t basegid, gid_t *g
     aix_setauthdb((char *) name);      aix_setauthdb((char *) name);
 #endif  #endif
     if ((grset = getgrset(name)) != NULL) {      if ((grset = getgrset(name)) != NULL) {
           const char *errstr;
         for (cp = strtok(grset, ","); cp != NULL; cp = strtok(NULL, ",")) {          for (cp = strtok(grset, ","); cp != NULL; cp = strtok(NULL, ",")) {
            gid = atoi(cp);            gid = atoid(cp, NULL, NULL, &errstr);
            if (gid != basegid) {            if (errstr == NULL && gid != basegid) {
                 if (ngroups == grpsize)                  if (ngroups == grpsize)
                     goto done;                      goto done;
                 groups[ngroups++] = gid;                  groups[ngroups++] = gid;
Line 317  getgrouplist(const char *name, gid_t basegid, gid_t *g Line 318  getgrouplist(const char *name, gid_t basegid, gid_t *g
   
     setgrent();      setgrent();
     while ((grp = getgrent()) != NULL) {      while ((grp = getgrent()) != NULL) {
        if (grp->gr_gid == basegid)        if (grp->gr_gid == basegid || grp->gr_mem == NULL)
             continue;              continue;
   
         for (i = 0; grp->gr_mem[i] != NULL; i++) {          for (i = 0; grp->gr_mem[i] != NULL; i++) {

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>