[Freeswitch-svn] [commit] r6881 - freeswitch/trunk/src

Freeswitch SVN mikej at freeswitch.org
Tue Dec 18 16:59:48 EST 2007


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()



More information about the Freeswitch-svn mailing list