Add calls to missing object_find_destroy() to fix mem leaks

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
This commit is contained in:
Angus Salkeld 2011-11-11 08:12:13 +11:00
parent 390391acba
commit f5a31e55a2
6 changed files with 15 additions and 2 deletions

View File

@ -898,5 +898,6 @@ void cs_ipcs_init(void)
api->object_key_create_typed (object_connection_handle,
"closed", &zero_64, sizeof (zero_64),
OBJDB_VALUETYPE_UINT64);
api->object_find_destroy (object_find_handle);
}

View File

@ -388,6 +388,7 @@ static void member_object_joined (unsigned int nodeid)
"joined", strlen("joined"),
OBJDB_VALUETYPE_STRING);
}
objdb->object_find_destroy (object_find_handle);
}
static void member_object_left (unsigned int nodeid)
@ -411,6 +412,7 @@ static void member_object_left (unsigned int nodeid)
"status", strlen("status"),
"left", strlen("left"));
}
objdb->object_find_destroy (object_find_handle);
}
static void confchg_fn (
@ -762,6 +764,7 @@ static void corosync_totem_dynamic_init (void)
&object_totem_handle) != 0) {
return;
}
api->object_find_destroy (object_find_handle);
if (objdb->object_find_create(object_totem_handle,
"interface", strlen("interface"), &object_find_handle) != 0) {
@ -775,6 +778,7 @@ static void corosync_totem_dynamic_init (void)
return;
}
api->object_find_destroy (object_find_handle);
/*
* create new child object: dynamic
@ -926,6 +930,8 @@ static void corosync_totem_stats_init (void)
sizeof (zero_32), OBJDB_VALUETYPE_UINT32);
}
objdb->object_find_destroy (object_find_handle);
/* start stats timer */
api->timer_add_duration (1500 * MILLI_2_NANO_SECONDS, NULL,
corosync_totem_stats_updater,
@ -1207,6 +1213,7 @@ static void corosync_fplay_control_init (void)
&object_runtime_handle) != 0) {
return;
}
objdb->object_find_destroy (object_find_handle);
objdb->object_create (object_runtime_handle,
&object_blackbox_handle,

View File

@ -519,9 +519,11 @@ unsigned int corosync_service_defaults_link_and_init (struct corosync_api_v1 *co
&object_runtime_handle) == 0) {
corosync_api->object_create (object_runtime_handle,
&object_stats_services_handle,
"services", strlen ("services"));
&object_stats_services_handle,
"services", strlen ("services"));
}
corosync_api->object_find_destroy (object_find2_handle);
corosync_api->object_create (OBJECT_PARENT_HANDLE,
&object_internal_configuration_handle,
"internal_configuration",

View File

@ -421,6 +421,7 @@ printf ("couldn't find totem handle\n");
}
totem_config->interfaces[ringnumber].member_count = member_count;
totem_config->interface_count++;
objdb->object_find_destroy (object_find_member_handle);
}
objdb->object_find_destroy (object_find_interface_handle);

View File

@ -1648,6 +1648,7 @@ static void votequorum_objdb_reload_notify(
else {
log_printf(LOGSYS_LEVEL_ERROR, "votequorum objdb tracking stopped, cannot find quorum{} handle in objdb\n");
}
corosync_api->object_find_destroy(find_handle);
}
}

View File

@ -351,6 +351,7 @@ _cs_confdb_find_object (confdb_handle_t handle,
if (res != CS_OK) {
return res;
}
confdb_object_find_destroy(handle, parent_object_handle);
parent_object_handle = obj_handle;
obj_name_pt = strtok_r (NULL, SEPERATOR_STR, &save_pt);