diff options
author | Christophe Fergeau <cfergeau@redhat.com> | 2017-10-16 10:48:33 +0200 |
---|---|---|
committer | Christophe Fergeau <cfergeau@redhat.com> | 2017-10-18 08:59:09 +0200 |
commit | a217a9fea1a1cfb2bee3263b0ea08b860535af8d (patch) | |
tree | a39c9ae304e1030965d6c4ba94a412930468e7b7 /rest | |
parent | 61ef7faec8a9cf434bea4ac628824428172acaac (diff) | |
download | librest-a217a9fea1a1cfb2bee3263b0ea08b860535af8d.tar.gz |
xml: Don't crash parsing empty XML string
Calling rest_xml_parser_parse_from_data() with an empty string ("")
currently causes a crash as xmlReaderForMemory() returns NULL in that
case, and we then try to dereference this pointer without checking it's
non-NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=789053
Diffstat (limited to 'rest')
-rw-r--r-- | rest/rest-xml-parser.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rest/rest-xml-parser.c b/rest/rest-xml-parser.c index ffa6ff3..796052e 100644 --- a/rest/rest-xml-parser.c +++ b/rest/rest-xml-parser.c @@ -103,6 +103,9 @@ rest_xml_parser_parse_from_data (RestXmlParser *parser, NULL, /* URL? */ NULL, /* encoding */ XML_PARSE_RECOVER | XML_PARSE_NOCDATA); + if (reader == NULL) { + return NULL; + } xmlTextReaderSetErrorHandler(reader, rest_xml_parser_xml_reader_error, NULL); while (xmlTextReaderRead (reader) == 1) |