[Freeswitch-trunk] [commit] r12625 - freeswitch/trunk/src
FreeSWITCH SVN
mrene at freeswitch.org
Mon Mar 16 12:24:12 PDT 2009
Author: mrene
Date: Mon Mar 16 14:24:12 2009
New Revision: 12625
Log:
FIx nasty leak
Modified:
freeswitch/trunk/src/switch_xml.c
Modified: freeswitch/trunk/src/switch_xml.c
==============================================================================
--- freeswitch/trunk/src/switch_xml.c (original)
+++ freeswitch/trunk/src/switch_xml.c Mon Mar 16 14:24:12 2009
@@ -115,7 +115,7 @@
switch_xml_t cur; /* current xml tree insertion point */
char *m; /* original xml string */
switch_size_t len; /* length of allocated memory for mmap */
- uint8_t dynamic;
+ uint8_t dynamic; /* Free the original string when calling switch_xml_free */
char *u; /* UTF-8 conversion of string if original was UTF-16 */
char *s; /* start of work area */
char *e; /* end of work area */
@@ -1551,9 +1551,12 @@
if ((conf = switch_xml_find_child(xml, "section", "name", section)) && (tag = switch_xml_find_child(conf, tag_name, key_name, key_value))) {
if (clone) {
char *x;
+ switch_xml_root_t xmlroot = NULL;
x = switch_xml_toxml(tag, SWITCH_FALSE);
switch_assert(x);
- *root = switch_xml_parse_str(x, strlen(x));
+ xmlroot = (switch_xml_root_t)switch_xml_parse_str(x, strlen(x));
+ xmlroot->dynamic = 1; /* free the memory in switch_xml_free */
+ *root = (switch_xml_t)xmlroot;
*node = *root;
switch_xml_free(xml);
} else {
More information about the Freeswitch-trunk
mailing list