]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/cache.c
ITS#791: fix SASL ctx close
[openldap] / libraries / libldap / cache.c
index 43feaadbd4930105b9a7761bcc852405f11276f1..82212582c1b02e6ebbc04aff244ca57f350ed93f 100644 (file)
@@ -1,5 +1,6 @@
+/* $OpenLDAP$ */
 /*
- * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 /*  Portions
@@ -43,7 +44,7 @@ ldap_enable_cache( LDAP *ld, long timeout, ber_len_t maxmem )
                        ld->ld_errno = LDAP_NO_MEMORY;
                        return( -1 );
                }
-               (void) memset( ld->ld_cache, 0, sizeof( LDAPCache ));
+               (void) memset( ld->ld_cache, '\0', sizeof( LDAPCache ));
                ld->ld_cache->lc_memused = sizeof( LDAPCache );
        }
 
@@ -239,7 +240,7 @@ ldap_add_request_to_cache( LDAP *ld, ber_tag_t msgtype, BerElement *request )
                        ld->ld_errno = LDAP_NO_MEMORY;
                        return;
                }
-               SAFEMEMCPY( new->lm_ber->ber_buf, request->ber_buf,
+               AC_MEMCPY( new->lm_ber->ber_buf, request->ber_buf,
                    (size_t)len );
                new->lm_ber->ber_ptr = new->lm_ber->ber_buf;
                new->lm_ber->ber_end = new->lm_ber->ber_buf + len;
@@ -386,6 +387,7 @@ ldap_check_cache( LDAP *ld, ber_tag_t msgtype, BerElement *request )
                return( -1 );
        }
 
+       reqber.ber_valid = LBER_VALID_BERELEMENT;
        reqber.ber_buf = reqber.ber_ptr = request->ber_buf;
        reqber.ber_end = request->ber_ptr;
 
@@ -496,7 +498,7 @@ msg_dup( LDAPMessage *msg )
                        LDAP_FREE( (char *)new );
                        return( NULL );
                }
-               SAFEMEMCPY( new->lm_ber->ber_buf, msg->lm_ber->ber_buf,
+               AC_MEMCPY( new->lm_ber->ber_buf, msg->lm_ber->ber_buf,
                    (size_t)len );
                new->lm_ber->ber_ptr = new->lm_ber->ber_buf +
                        ( msg->lm_ber->ber_ptr - msg->lm_ber->ber_buf );