From 65550e059b9be9b64b674fb598635c8dd00a8d52 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Mon, 10 Jan 2011 19:01:32 +0100 Subject: [PATCH] idoutils: fix unfreed oci handles in prepared statements #1093 lazy me, shame on me. fixes #1093 --- Changelog | 1 + module/idoutils/src/db.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/Changelog b/Changelog index efb5d4b29..98d3f001d 100644 --- a/Changelog +++ b/Changelog @@ -47,6 +47,7 @@ FIXES * idoutils: fix ido2db needs to check for empty command arguments on Solaris (Julian Wiesner) #1047 * idoutils: fix solaris <= lacks asprintf (Julian Wiesner) #1048 +* idoutils: fix unfreed oci handles in prepared statements #1093 diff --git a/module/idoutils/src/db.c b/module/idoutils/src/db.c index 5a776fe74..213b92a82 100644 --- a/module/idoutils/src/db.c +++ b/module/idoutils/src/db.c @@ -1043,10 +1043,13 @@ int ido2db_db_disconnect(ido2db_idi *idi) { OCI_StatementFree(idi->dbinfo.oci_statement_timedevents); OCI_StatementFree(idi->dbinfo.oci_statement_timedevents_queue); OCI_StatementFree(idi->dbinfo.oci_statement_timedeventqueue); + OCI_StatementFree(idi->dbinfo.oci_statement_hostchecks); OCI_StatementFree(idi->dbinfo.oci_statement_hoststatus); + OCI_StatementFree(idi->dbinfo.oci_statement_servicechecks); OCI_StatementFree(idi->dbinfo.oci_statement_servicestatus); + OCI_StatementFree(idi->dbinfo.oci_statement_contact_notificationcommands); OCI_StatementFree(idi->dbinfo.oci_statement_objects_insert); OCI_StatementFree(idi->dbinfo.oci_statement_logentries_insert); @@ -1054,42 +1057,64 @@ int ido2db_db_disconnect(ido2db_idi *idi) { OCI_StatementFree(idi->dbinfo.oci_statement_systemcommanddata); OCI_StatementFree(idi->dbinfo.oci_statement_eventhandlerdata); OCI_StatementFree(idi->dbinfo.oci_statement_notificationdata); + OCI_StatementFree(idi->dbinfo.oci_statement_contactnotificationdata); OCI_StatementFree(idi->dbinfo.oci_statement_contactnotificationmethoddata); + OCI_StatementFree(idi->dbinfo.oci_statement_commentdata); OCI_StatementFree(idi->dbinfo.oci_statement_commentdata_history); + OCI_StatementFree(idi->dbinfo.oci_statement_downtimedata_scheduled_downtime); OCI_StatementFree(idi->dbinfo.oci_statement_downtimedata_downtime_history); + OCI_StatementFree(idi->dbinfo.oci_statement_contactstatusdata); + OCI_StatementFree(idi->dbinfo.oci_statement_configfilevariables); OCI_StatementFree(idi->dbinfo.oci_statement_configfilevariables_insert); + OCI_StatementFree(idi->dbinfo.oci_statement_runtimevariables); + OCI_StatementFree(idi->dbinfo.oci_statement_hostdefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_hostdefinition_parenthosts); OCI_StatementFree(idi->dbinfo.oci_statement_hostdefinition_contactgroups); OCI_StatementFree(idi->dbinfo.oci_statement_hostdefinition_contacts); + OCI_StatementFree(idi->dbinfo.oci_statement_hostgroupdefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_hostgroupdefinition_hostgroupmembers); + OCI_StatementFree(idi->dbinfo.oci_statement_servicedefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_servicedefinition_contactgroups); OCI_StatementFree(idi->dbinfo.oci_statement_servicedefinition_contacts); + OCI_StatementFree(idi->dbinfo.oci_statement_servicegroupdefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_servicegroupdefinition_members); + OCI_StatementFree(idi->dbinfo.oci_statement_hostdependencydefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_servicedependencydefinition_definition); + OCI_StatementFree(idi->dbinfo.oci_statement_hostescalationdefinition_definition); + OCI_StatementFree(idi->dbinfo.oci_statement_hostescalationdefinition_contactgroups); + OCI_StatementFree(idi->dbinfo.oci_statement_hostescalationdefinition_contacts); + + OCI_StatementFree(idi->dbinfo.oci_statement_serviceescalationdefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_serviceescalationdefinition_contactgroups); OCI_StatementFree(idi->dbinfo.oci_statement_serviceescalationdefinition_contacts); + OCI_StatementFree(idi->dbinfo.oci_statement_commanddefinition_definition); + OCI_StatementFree(idi->dbinfo.oci_statement_timeperiodefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_timeperiodefinition_timeranges); + OCI_StatementFree(idi->dbinfo.oci_statement_contactdefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_contactdefinition_addresses); OCI_StatementFree(idi->dbinfo.oci_statement_contactdefinition_servicenotificationcommands); + OCI_StatementFree(idi->dbinfo.oci_statement_save_custom_variables_customvariables); OCI_StatementFree(idi->dbinfo.oci_statement_save_custom_variables_customvariablestatus); + OCI_StatementFree(idi->dbinfo.oci_statement_contactgroupdefinition_definition); OCI_StatementFree(idi->dbinfo.oci_statement_contactgroupdefinition_contactgroupmembers); + OCI_StatementFree(idi->dbinfo.oci_statement_process_events); OCI_StatementFree(idi->dbinfo.oci_statement_flappinghistory); OCI_StatementFree(idi->dbinfo.oci_statement_external_commands); @@ -1097,6 +1122,7 @@ int ido2db_db_disconnect(ido2db_idi *idi) { OCI_StatementFree(idi->dbinfo.oci_statement_statehistory); OCI_StatementFree(idi->dbinfo.oci_statement_instances); OCI_StatementFree(idi->dbinfo.oci_statement_conninfo); + OCI_StatementFree(idi->dbinfo.oci_statement_objects_select_name1_name2); OCI_StatementFree(idi->dbinfo.oci_statement_objects_select_name1_null_name2); OCI_StatementFree(idi->dbinfo.oci_statement_objects_select_name1_name2_null); @@ -1104,16 +1130,23 @@ int ido2db_db_disconnect(ido2db_idi *idi) { OCI_StatementFree(idi->dbinfo.oci_statement_objects_select_cached); OCI_StatementFree(idi->dbinfo.oci_statement_objects_update_inactive); OCI_StatementFree(idi->dbinfo.oci_statement_objects_update_active); + OCI_StatementFree(idi->dbinfo.oci_statement_logentries_select); + OCI_StatementFree(idi->dbinfo.oci_statement_programstatus_update); + OCI_StatementFree(idi->dbinfo.oci_statement_timedevents_update); OCI_StatementFree(idi->dbinfo.oci_statement_timedeventqueue_delete); OCI_StatementFree(idi->dbinfo.oci_statement_timedeventqueue_delete_more); + OCI_StatementFree(idi->dbinfo.oci_statement_comment_history_update); OCI_StatementFree(idi->dbinfo.oci_statement_comments_delete); + OCI_StatementFree(idi->dbinfo.oci_statement_downtimehistory_update_start); OCI_StatementFree(idi->dbinfo.oci_statement_downtimehistory_update_stop); OCI_StatementFree(idi->dbinfo.oci_statement_downtime_delete); + OCI_StatementFree(idi->dbinfo.oci_statement_instances_select); + OCI_StatementFree(idi->dbinfo.oci_statement_conninfo_update); OCI_StatementFree(idi->dbinfo.oci_statement_conninfo_update_checkin);