diff --git a/CHANGES b/CHANGES index 8dcc2d167693116b7b4a63e3ac81fb24c74f09f9..588c0fe04968e22254ec02fc6b809d0958d2aac0 100644 --- a/CHANGES +++ b/CHANGES @@ -28,12 +28,14 @@ OpenLDAP 2.4.13 Engineering Added slapo-constraint "set" type (ITS#5702) Fixed slapo-constraint filter parsing error (ITS#5751) Added slapo-dynlist URI restriction ability (ITS#5761) + Fixed slapo-ppolicy unaligned BerElement (ITS#5770) Fixed slapo-rwm objectClass preservation (ITS#5760) Fixed slapo-rwm rewriting undefined filter (ITS#5731) Fixed slapo-rwm reusing freed filter (ITS#5732) Added slapo-translucent try local bind when remote fails (ITS#5656) Added slapo-translucent support for PasswordModify exop (ITS#5656) Fixed tools simple bind without SASL (ITS#5753) + Fixed tools unaligned BerElement (ITS#5770) Build Environment Added ldapurl command Added slapd GSSAPI refactoring (ITS#5369) diff --git a/clients/tools/common.c b/clients/tools/common.c index 4f38ede9fdb189b5f6d65408bedfe604caaf6aab..58d5e6bf4962be59b326a6d18e08053864ed9a00 100644 --- a/clients/tools/common.c +++ b/clients/tools/common.c @@ -1583,8 +1583,8 @@ tool_server_controls( LDAP *ld, LDAPControl *extra_c, int count ) #endif if ( preread ) { - char berbuf[LBER_ELEMENT_SIZEOF]; - BerElement *ber = (BerElement *)berbuf; + BerElementBuffer berbuf; + BerElement *ber = (BerElement *)&berbuf; char **attrs = NULL; if( preread_attrs ) { @@ -1613,8 +1613,8 @@ tool_server_controls( LDAP *ld, LDAPControl *extra_c, int count ) } if ( postread ) { - char berbuf[LBER_ELEMENT_SIZEOF]; - BerElement *ber = (BerElement *)berbuf; + BerElementBuffer berbuf; + BerElement *ber = (BerElement *)&berbuf; char **attrs = NULL; if( postread_attrs ) { diff --git a/servers/slapd/overlays/ppolicy.c b/servers/slapd/overlays/ppolicy.c index 17f90fa17b45b2d4fcceb419b3129d307917e2ca..54607e2e81cc9ef0b136ee7478e5e7624c4ed7a2 100644 --- a/servers/slapd/overlays/ppolicy.c +++ b/servers/slapd/overlays/ppolicy.c @@ -364,8 +364,8 @@ static const char ppolicy_ctrl_oid[] = LDAP_CONTROL_PASSWORDPOLICYRESPONSE; static LDAPControl * create_passcontrol( Operation *op, int exptime, int grace, LDAPPasswordPolicyError err ) { - char berbuf[LBER_ELEMENT_SIZEOF], bb2[LBER_ELEMENT_SIZEOF]; - BerElement *ber = (BerElement *)berbuf, *b2 = (BerElement *)bb2; + BerElementBuffer berbuf, bb2; + BerElement *ber = (BerElement *) &berbuf, *b2 = (BerElement *) &bb2; LDAPControl c = { 0 }, *cp; struct berval bv;