]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/monitor.c
fix ITS#5959 fix
[openldap] / servers / slapd / back-ldap / monitor.c
index 288ff6a440bf23d0a69f444c7fd46d30fe5101f4..5b26516cc120b93b84a89a0d5fee167285e1030a 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2003-2006 The OpenLDAP Foundation.
+ * Copyright 2003-2009 The OpenLDAP Foundation.
  * Portions Copyright 1999-2003 Howard Chu.
  * Portions Copyright 2000-2003 Pierangelo Masarati.
  * All rights reserved.
@@ -265,9 +265,11 @@ done:;
 static int
 ldap_back_monitor_free(
        Entry           *e,
-       void            *priv )
+       void            **priv )
 {
-       ldapinfo_t              *li = (ldapinfo_t *)priv;
+       ldapinfo_t              *li = (ldapinfo_t *)(*priv);
+
+       *priv = NULL;
 
        if ( !slapd_shutdown && !BER_BVISNULL( &li->li_monitor_info.lmi_rdn ) ) {
                ldap_back_monitor_info_destroy( li );
@@ -306,7 +308,6 @@ static int
 ldap_back_monitor_initialize( void )
 {
        int             i, code;
-       const char      *err;
        ConfigArgs c;
        char    *argv[ 3 ];
 
@@ -468,7 +469,7 @@ ldap_back_monitor_db_open( BackendDB *be )
        ptr = lutil_strncopy( ptr, suffix.bv_val, suffix.bv_len );
        ptr = lutil_strcopy( ptr, "))" );
        ptr[ 0 ] = '\0';
-       assert( filter->bv_len == ptr - filter->bv_val );
+       assert( ptr == &filter->bv_val[ filter->bv_len ] );
 
        if ( suffix.bv_val != be->be_nsuffix[ 0 ].bv_val ) {
                ch_free( suffix.bv_val );