]> git.sur5r.net Git - openldap/commitdiff
ITS#5770
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 10 Nov 2008 20:24:25 +0000 (20:24 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 10 Nov 2008 20:24:25 +0000 (20:24 +0000)
CHANGES
clients/tools/common.c
servers/slapd/overlays/ppolicy.c

diff --git a/CHANGES b/CHANGES
index 8dcc2d167693116b7b4a63e3ac81fb24c74f09f9..588c0fe04968e22254ec02fc6b809d0958d2aac0 100644 (file)
--- 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)
index 4f38ede9fdb189b5f6d65408bedfe604caaf6aab..58d5e6bf4962be59b326a6d18e08053864ed9a00 100644 (file)
@@ -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 ) {
index 17f90fa17b45b2d4fcceb419b3129d307917e2ca..54607e2e81cc9ef0b136ee7478e5e7624c4ed7a2 100644 (file)
@@ -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;