]> git.sur5r.net Git - openldap/commitdiff
ITS#5770: Fix unaligned BerElements: Use BerElementBuffer, not char[size].
authorHallvard Furuseth <hallvard@openldap.org>
Fri, 24 Oct 2008 17:52:05 +0000 (17:52 +0000)
committerHallvard Furuseth <hallvard@openldap.org>
Fri, 24 Oct 2008 17:52:05 +0000 (17:52 +0000)
clients/tools/common.c
servers/slapd/overlays/ppolicy.c

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;