mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-30 03:29:35 -05:00
Don't crash on empty groups (ITS#5800)
This commit is contained in:
parent
4d51be0c9b
commit
1d468467e6
1 changed files with 19 additions and 14 deletions
|
|
@ -191,26 +191,31 @@ static int write_group(nssov_group_cbp *cbp,Entry *entry)
|
|||
i += a->a_numvals;
|
||||
if ( b )
|
||||
i += b->a_numvals;
|
||||
if ( i )
|
||||
if ( i ) {
|
||||
members = cbp->op->o_tmpalloc( (i+1) * sizeof(struct berval), cbp->op->o_tmpmemctx );
|
||||
|
||||
if ( a ) {
|
||||
for (i=0; i<a->a_numvals; i++) {
|
||||
if (isvalidusername(&a->a_vals[i])) {
|
||||
ber_dupbv_x(&members[j],&a->a_vals[i],cbp->op->o_tmpmemctx);
|
||||
j++;
|
||||
if ( a ) {
|
||||
for (i=0; i<a->a_numvals; i++) {
|
||||
if (isvalidusername(&a->a_vals[i])) {
|
||||
ber_dupbv_x(&members[j],&a->a_vals[i],cbp->op->o_tmpmemctx);
|
||||
j++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
a = b;
|
||||
if ( a ) {
|
||||
for (i=0; i<a->a_numvals; i++) {
|
||||
if (nssov_dn2uid(cbp->op,cbp->ni,&a->a_nvals[i],&members[j]))
|
||||
j++;
|
||||
a = b;
|
||||
if ( a ) {
|
||||
for (i=0; i<a->a_numvals; i++) {
|
||||
if (nssov_dn2uid(cbp->op,cbp->ni,&a->a_nvals[i],&members[j]))
|
||||
j++;
|
||||
}
|
||||
}
|
||||
nummembers = j;
|
||||
BER_BVZERO(&members[j]);
|
||||
} else {
|
||||
members=NULL;
|
||||
nummembers = 0;
|
||||
}
|
||||
nummembers = j;
|
||||
BER_BVZERO(&members[j]);
|
||||
|
||||
} else {
|
||||
members=NULL;
|
||||
nummembers = 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue