From: Pierangelo Masarati Date: Wed, 22 Aug 2007 22:44:41 +0000 (+0000) Subject: import fix to ITS#5103 X-Git-Tag: OPENLDAP_REL_ENG_2_3_39~51 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=161bb56b13f727d7620cde170687398020b18cc4;p=openldap import fix to ITS#5103 --- diff --git a/CHANGES b/CHANGES index ea24cc1e72..8832d9f51e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,8 +1,9 @@ OpenLDAP 2.3 Change Log OpenLDAP 2.3.39 Engineering + Fixed libldap ppolicy control creation (ITS#5103) Documentation - Document slapd-sql workaround to ITS#4785 + Added slapd-sql empty oc mapping workaround (ITS#4785) OpenLDAP 2.3.38 Release (2007/08/20) Fixed slapadd check for ';binary' when required (ITS#5071) diff --git a/libraries/libldap/controls.c b/libraries/libldap/controls.c index 5aca2cdd43..cb01eb0ee6 100644 --- a/libraries/libldap/controls.c +++ b/libraries/libldap/controls.c @@ -442,7 +442,8 @@ ldap_create_control( return LDAP_NO_MEMORY; } - if ( ber_flatten2( ber, &ctrl->ldctl_value, 1 ) == -1 ) { + BER_BVZERO( &ctrl->ldctl_value ); + if ( ber != NULL && ber_flatten2( ber, &ctrl->ldctl_value, 1 ) == -1 ) { LDAP_FREE( ctrl ); return LDAP_NO_MEMORY; } diff --git a/libraries/libldap/ppolicy.c b/libraries/libldap/ppolicy.c index 441a93c3c6..0322250e81 100644 --- a/libraries/libldap/ppolicy.c +++ b/libraries/libldap/ppolicy.c @@ -61,21 +61,13 @@ int 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); }