don't leak on exit

This commit is contained in:
Pierangelo Masarati 2005-11-03 15:08:23 +00:00
parent 31b5ff3661
commit 2f63454973
2 changed files with 30 additions and 3 deletions

View File

@ -1855,6 +1855,14 @@ monitor_back_db_destroy(
if ( !BER_BVISNULL( &monitor_subsys[ i ]->mss_rdn ) ) {
ch_free( monitor_subsys[ i ]->mss_rdn.bv_val );
}
if ( !BER_BVISNULL( &monitor_subsys[ i ]->mss_dn ) ) {
ch_free( monitor_subsys[ i ]->mss_dn.bv_val );
}
if ( !BER_BVISNULL( &monitor_subsys[ i ]->mss_ndn ) ) {
ch_free( monitor_subsys[ i ]->mss_ndn.bv_val );
}
}
ch_free( monitor_subsys );

View File

@ -28,6 +28,11 @@
#include "lutil.h"
#include "back-monitor.h"
static int
monitor_subsys_rww_destroy(
BackendDB *be,
monitor_subsys_t *ms );
static int
monitor_subsys_rww_update(
Operation *op,
@ -41,7 +46,7 @@ enum {
MONITOR_RWW_LAST
};
struct monitor_rww_t {
static struct monitor_rww_t {
struct berval rdn;
struct berval nrdn;
} monitor_rww[] = {
@ -53,8 +58,7 @@ struct monitor_rww_t {
int
monitor_subsys_rww_init(
BackendDB *be,
monitor_subsys_t *ms
)
monitor_subsys_t *ms )
{
monitor_info_t *mi;
@ -64,6 +68,7 @@ monitor_subsys_rww_init(
assert( be != NULL );
ms->mss_destroy = monitor_subsys_rww_destroy;
ms->mss_update = monitor_subsys_rww_update;
mi = ( monitor_info_t * )be->be_private;
@ -147,6 +152,20 @@ monitor_subsys_rww_init(
return( 0 );
}
static int
monitor_subsys_rww_destroy(
BackendDB *be,
monitor_subsys_t *ms )
{
int i;
for ( i = 0; i < MONITOR_RWW_LAST; i++ ) {
ber_memfree_x( monitor_rww[ i ].nrdn.bv_val, NULL );
}
return 0;
}
static int
monitor_subsys_rww_update(
Operation *op,