summaryrefslogtreecommitdiff
path: root/src/xine-utils/xmlparser.c
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-17 14:44:39 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-17 14:44:39 +0300
commit4467de60c581f2a5f7ae737c30ab63be0e3f6e25 (patch)
tree37d2893e34f613a65383f9288d0af3b985fcd85f /src/xine-utils/xmlparser.c
parent81c84b6bf06482c5988fd16f68050177c1afc358 (diff)
parent9f105cfe9059df4a9a1f5278679151a5d9c387f6 (diff)
downloadxine-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.c9
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;