Browse Source

Fix use after free() in XMLReader::xml()

pull/12/head
Scott MacVicar 15 years ago
parent
commit
df0ce635e4
  1. 13
      ext/xmlreader/php_xmlreader.c

13
ext/xmlreader/php_xmlreader.c

@ -1092,9 +1092,7 @@ PHP_METHOD(xmlreader, XML)
uri = (char *) xmlCanonicPath((const xmlChar *) resolved_path);
}
reader = xmlNewTextReader(inputbfr, uri);
if (uri) {
xmlFree(uri);
}
if (reader != NULL) {
#if LIBXML_VERSION >= 20628
ret = xmlTextReaderSetup(reader, NULL, uri, encoding, options);
@ -1108,11 +1106,20 @@ PHP_METHOD(xmlreader, XML)
}
intern->input = inputbfr;
intern->ptr = reader;
if (uri) {
xmlFree(uri);
}
return;
}
}
}
if (uri) {
xmlFree(uri);
}
if (inputbfr) {
xmlFreeParserInputBuffer(inputbfr);
}

Loading…
Cancel
Save