mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-22 23:02:55 -05:00
Fix bug in control merging (this probably still isn't right...)
This commit is contained in:
parent
77ced839c0
commit
3e47ba5aef
1 changed files with 4 additions and 4 deletions
|
|
@ -174,7 +174,7 @@ slapi_over_count_controls( LDAPControl **controls )
|
|||
int i;
|
||||
|
||||
if ( controls == NULL )
|
||||
return i;
|
||||
return 0;
|
||||
|
||||
for ( i = 0; controls[i] != NULL; i++ )
|
||||
;
|
||||
|
|
@ -191,16 +191,16 @@ slapi_over_merge_controls( Operation *op, SlapReply *rs )
|
|||
int nResControls = 0;
|
||||
int i;
|
||||
|
||||
nResControls = slapi_over_count_controls( rs->sr_ctrls );
|
||||
|
||||
slapi_pblock_get( pb, SLAPI_RESCONTROLS, (void **)&slapiControls );
|
||||
nSlapiControls = slapi_over_count_controls( slapiControls );
|
||||
|
||||
if ( nResControls + nSlapiControls == 0 ) {
|
||||
if ( nSlapiControls == 0 ) {
|
||||
/* short-circuit */
|
||||
return LDAP_SUCCESS;
|
||||
}
|
||||
|
||||
nResControls = slapi_over_count_controls( rs->sr_ctrls );
|
||||
|
||||
/* XXX this is a bit tricky, rs->sr_ctrls may have been allocated on stack */
|
||||
mergedControls = (LDAPControl **)op->o_tmpalloc( ( nResControls + nSlapiControls + 1 ) *
|
||||
sizeof( LDAPControl *), op->o_tmpmemctx );
|
||||
|
|
|
|||
Loading…
Reference in a new issue