From 2e0e95fa975a630cc015f42240d868e24f465a32 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sat, 8 Mar 2008 21:08:00 +0000 Subject: [PATCH] silly rabbit, leaks are for kids. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7846 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c index 35a0a8e9d9..29e2076075 100644 --- a/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c +++ b/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c @@ -73,6 +73,8 @@ static switch_status_t my_on_hangup(switch_core_session_t *session) uint32_t cur_try; long httpRes; CURL *curl_handle = NULL; + struct curl_slist *headers = NULL; + struct curl_slist *slist = NULL; switch_channel_t *channel = switch_core_session_get_channel(session); switch_status_t status = SWITCH_STATUS_FALSE; @@ -121,8 +123,6 @@ static switch_status_t my_on_hangup(switch_core_session_t *session) /* try to post it to the web server */ if (!switch_strlen_zero(globals.url)) { - struct curl_slist *headers = NULL; - struct curl_slist *slist = NULL; curl_handle = curl_easy_init(); if (globals.encode) { @@ -189,6 +189,9 @@ static switch_status_t my_on_hangup(switch_core_session_t *session) } curl_easy_cleanup(curl_handle); curl_slist_free_all(headers); + curl_slist_free_all(slist); + slist = NULL; + headers = NULL; curl_handle = NULL; /* if we are here the web post failed for some reason */ @@ -222,6 +225,12 @@ error: if (curl_handle) { curl_easy_cleanup(curl_handle); } + if (headers) { + curl_slist_free_all(headers); + } + if (slist) { + curl_slist_free_all(slist); + } switch_safe_free(curl_xml_text); switch_safe_free(xml_text); switch_safe_free(path);