Extend ldap_create_control() to supporting creating such.
LDAPControl *ctrl;
assert( requestOID != NULL );
- assert( ber != NULL );
assert( ctrlp != NULL );
ctrl = (LDAPControl *) LDAP_MALLOC( sizeof(LDAPControl) );
return LDAP_NO_MEMORY;
}
- if ( ber_flatten2( ber, &ctrl->ldctl_value, 1 ) == -1 ) {
+ ctrl->ldctl_value = NULL;
+ if ( ber && ( ber_flatten2( ber, &ctrl->ldctl_value, 1 ) == -1 )) {
LDAP_FREE( ctrl );
return LDAP_NO_MEMORY;
}
ldap_create_passwordpolicy_control( LDAP *ld,
LDAPControl **ctrlp )
{
- BerElement *ber;
-
assert( ld != NULL );
assert( LDAP_VALID( ld ) );
assert( ctrlp != NULL );
- if ((ber = ldap_alloc_ber_with_options(ld)) == NULL) {
- ld->ld_errno = LDAP_NO_MEMORY;
- return(LDAP_NO_MEMORY);
- }
-
ld->ld_errno = ldap_create_control( LDAP_CONTROL_PASSWORDPOLICYREQUEST,
- ber, 0, ctrlp);
+ NULL, 0, ctrlp);
- ber_free(ber, 1);
return(ld->ld_errno);
}