]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
silly rabbit, leaks are for kids.
authorMichael Jerris <mike@jerris.com>
Sat, 8 Mar 2008 21:08:00 +0000 (21:08 +0000)
committerMichael Jerris <mike@jerris.com>
Sat, 8 Mar 2008 21:08:00 +0000 (21:08 +0000)
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

index 35a0a8e9d9f53b5f93ed3aa90810235457756188..29e2076075d53f4ff1922f2e3c65965ec23f9e4c 100644 (file)
@@ -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);