Fix group parsing in libwbclient's copy_group_entry()
authorVolker Lendecke <vl@samba.org>
Sat, 14 Jun 2008 22:14:27 +0000 (00:14 +0200)
committerVolker Lendecke <vl@samba.org>
Sat, 14 Jun 2008 22:17:27 +0000 (00:17 +0200)
This (also) fixes a flaw pointed out by the IBM checker. When verifying that I
found out that the parsing was not working as I would have expected it to.

Jerry, please check!
(cherry picked from commit c2c7790155ab02e1e351caf2bed192ce72913663)
(This used to be commit 26c05a52b73763dad5ad0525dab6e20014c3f8d6)

source3/nsswitch/libwbclient/wbc_pwd.c

index baee3c378162b9429711288987c67363824ff331..d23c378b5fdd89a3c6bb78548246f8ed87a7c237 100644 (file)
@@ -97,11 +97,13 @@ static struct group *copy_group_entry(struct winbindd_gr *g,
                grp->gr_mem[i] = talloc_strdup(grp, mem_p);
                BAIL_ON_PTR_ERROR(grp->gr_mem[i], wbc_status);
 
-               *mem_q = ',';
-               mem_p++;
-               mem_p = mem_q;
+               if (mem_q == NULL) {
+                       i += 1;
+                       break;
+               }
+               mem_p = mem_q + 1;
        }
-       grp->gr_mem[g->num_gr_mem] = NULL;
+       grp->gr_mem[i] = NULL;
 
        wbc_status = WBC_ERR_SUCCESS;