From cd7d7e1e8265324540276010f88b862f0afa68c0 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 15 Jun 2008 00:14:27 +0200 Subject: Fix group parsing in libwbclient's copy_group_entry() 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 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'source3/nsswitch') diff --git a/source3/nsswitch/libwbclient/wbc_pwd.c b/source3/nsswitch/libwbclient/wbc_pwd.c index baee3c3781..d23c378b5f 100644 --- a/source3/nsswitch/libwbclient/wbc_pwd.c +++ b/source3/nsswitch/libwbclient/wbc_pwd.c @@ -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; -- cgit