core: fix segfault on out of memory situation. (FSCORE-366)

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13398 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2009-05-19 21:25:52 +00:00
parent 03ba64aee5
commit c32747151e
1 changed files with 6 additions and 5 deletions

View File

@ -2316,8 +2316,9 @@ SWITCH_DECLARE(switch_xml_t) switch_xml_new(const char *name)
static const char *ent[] = { "lt;", "<", "gt;", ">", "quot;", """,
"apos;", "'", "amp;", "&", NULL
};
switch_xml_root_t root = (switch_xml_root_t) memset(malloc(sizeof(struct switch_xml_root)),
'\0', sizeof(struct switch_xml_root));
switch_xml_root_t root = (switch_xml_root_t) malloc(sizeof(struct switch_xml_root));
if (!root) return NULL;
memset(root, '\0', sizeof(struct switch_xml_root));
root->xml.name = (char *) name;
root->cur = &root->xml;
strcpy(root->err, root->xml.txt = (char *)"");
@ -2372,9 +2373,9 @@ SWITCH_DECLARE(switch_xml_t) switch_xml_add_child(switch_xml_t xml, const char *
{
switch_xml_t child;
if (!xml)
return NULL;
child = (switch_xml_t) memset(malloc(sizeof(struct switch_xml)), '\0', sizeof(struct switch_xml));
if (!xml) return NULL;
if (!(child = (switch_xml_t) malloc(sizeof(struct switch_xml)))) return NULL;
memset(child, '\0', sizeof(struct switch_xml));
child->name = (char *) name;
child->attr = SWITCH_XML_NIL;
child->off = off;