diff options
author | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-10-17 14:44:39 +0300 |
---|---|---|
committer | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-10-17 14:44:39 +0300 |
commit | 4467de60c581f2a5f7ae737c30ab63be0e3f6e25 (patch) | |
tree | 37d2893e34f613a65383f9288d0af3b985fcd85f /src/xine-utils/xmlparser.c | |
parent | 81c84b6bf06482c5988fd16f68050177c1afc358 (diff) | |
parent | 9f105cfe9059df4a9a1f5278679151a5d9c387f6 (diff) | |
download | xine-lib-4467de60c581f2a5f7ae737c30ab63be0e3f6e25.tar.gz xine-lib-4467de60c581f2a5f7ae737c30ab63be0e3f6e25.tar.bz2 |
Merge from 1.1
Diffstat (limited to 'src/xine-utils/xmlparser.c')
-rw-r--r-- | src/xine-utils/xmlparser.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/xine-utils/xmlparser.c b/src/xine-utils/xmlparser.c index ba0c51994..8619b1be8 100644 --- a/src/xine-utils/xmlparser.c +++ b/src/xine-utils/xmlparser.c @@ -213,7 +213,8 @@ static xml_node_t *xml_parser_append_text (xml_node_t *node, xml_node_t *subnode if (subnode->name == cdata) { /* most recent node is CDATA - append to it */ char *newtext; - asprintf (&newtext, "%s%s", subnode->data, text); + if (asprintf (&newtext, "%s%s", subnode->data, text) < 0) + newtext = NULL; free (subnode->data); subnode->data = newtext; } else { @@ -226,7 +227,8 @@ static xml_node_t *xml_parser_append_text (xml_node_t *node, xml_node_t *subnode } else if (node->data) { /* "no" subtree, but we have existing text - append to it */ char *newtext; - asprintf (&newtext, "%s%s", node->data, text); + if (asprintf (&newtext, "%s%s", node->data, text) < 0) + newtext = NULL; free (node->data); node->data = newtext; } else { @@ -327,7 +329,8 @@ static int xml_parser_get_node_internal (xml_parser_t *xml_parser, strtoupper(tok); } if (state == STATE_Q_NODE) { - asprintf (&node_name, "?%s", tok); + if (asprintf (&node_name, "?%s", tok) < 0) + node_name = NULL; free (*nname_buffer); *nname_buffer = node_name; *nname_buffer_size = strlen (node_name) + 1; |