Author: mikej Date: Tue Dec 18 16:59:48 2007 New Revision: 6881 Modified: freeswitch/trunk/src/switch_xml.cpp Log: handle some error cases. Modified: freeswitch/trunk/src/switch_xml.cpp ============================================================================== --- freeswitch/trunk/src/switch_xml.cpp (original) +++ freeswitch/trunk/src/switch_xml.cpp Tue Dec 18 16:59:48 2007 @@ -431,9 +431,21 @@ if (!*(xml->txt)) xml->txt = s; // initial character content else { // allocate our own memory and make a copy - xml->txt = (xml->flags & SWITCH_XML_TXTM) // allocate some space - ? (char *)realloc(xml->txt, (l = strlen(xml->txt)) + len) - : strcpy((char *)malloc((l = strlen(xml->txt)) + len), xml->txt); + if ((xml->flags & SWITCH_XML_TXTM)) { // allocate some space + char *tmp = (char *)realloc(xml->txt, (l = strlen(xml->txt)) + len); + if (tmp) { + xml->txt = tmp; + } else { + return; + } + } else { + char *tmp = (char *)malloc((l = strlen(xml->txt)) + len); + if (tmp) { + xml->txt = strcpy(tmp, xml->txt); + } else { + return; + } + } strcpy(xml->txt + l, s); // add new char content if (s != m) free(s); // free s if it was malloced by switch_xml_decode()
participants (1)
-
Freeswitch SVN