Revision
16703
Author
cseket
Date
2010-02-19 12:35:58 -0600 (Fri, 19 Feb 2010)

Log Message

json text has to be freed with the object

Modified Paths

Diff

Modified: freeswitch/branches/cseket/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c (16702 => 16703)


--- freeswitch/branches/cseket/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c	2010-02-19 18:15:22 UTC (rev 16702)
+++ freeswitch/branches/cseket/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c	2010-02-19 18:35:58 UTC (rev 16703)
@@ -703,7 +703,10 @@
 				headers = curl_slist_append(headers, "Content-Type: application/x-www-form-base64-encoded");
 				switch_b64_encode((unsigned char *) xml_text, need_bytes / 3, (unsigned char *) xml_text_escaped, need_bytes);
 			}
-			switch_safe_free(xml_text);
+			if (!json_cdr) {
+				switch_safe_free(xml_text);
+			}
+
 			xml_text = xml_text_escaped;
 		} else {
 			headers = curl_slist_append(headers, "Content-Type: application/x-www-form-plaintext");
@@ -849,11 +852,14 @@
 	if (curl_xml_text != xml_text) {
 		switch_safe_free(curl_xml_text);
 	}
-	if (globals.json) {
+	
+	if (json_cdr) {
 		json_object_put(json_cdr);
+		switch_safe_free(xml_text_escaped);
 	} else {
 		switch_safe_free(xml_text);
 	}
+
 	switch_safe_free(path);
 	switch_xml_free(cdr);