[libxml2] Pass URL of main entity in XML fuzzer
- From: Nick Wellnhofer <nwellnhof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxml2] Pass URL of main entity in XML fuzzer
- Date: Tue, 25 Aug 2020 22:29:56 +0000 (UTC)
commit 8c3ef083ca6806b48e1fca94213993a6669e1c08
Author: Nick Wellnhofer <wellnhofer aevum de>
Date: Mon Aug 24 23:17:34 2020 +0200
Pass URL of main entity in XML fuzzer
fuzz/xml.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/fuzz/xml.c b/fuzz/xml.c
index f3e74ef84..09867cf74 100644
--- a/fuzz/xml.c
+++ b/fuzz/xml.c
@@ -28,7 +28,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
xmlParserCtxtPtr ctxt;
xmlTextReaderPtr reader;
xmlChar *out;
- const char *docBuffer;
+ const char *docBuffer, *docUrl;
size_t docSize, consumed, chunkSize;
int opts, outSize;
@@ -39,6 +39,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
xmlFuzzReadEntities();
docBuffer = xmlFuzzMainEntity(&docSize);
+ docUrl = xmlFuzzMainUrl();
if (docBuffer == NULL) {
xmlFuzzDataCleanup();
return(0);
@@ -46,7 +47,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
/* Pull parser */
- doc = xmlReadMemory(docBuffer, docSize, NULL, NULL, opts);
+ doc = xmlReadMemory(docBuffer, docSize, docUrl, NULL, opts);
if (opts & XML_PARSE_XINCLUDE)
xmlXIncludeProcessFlags(doc, opts);
/* Also test the serializer. */
@@ -56,7 +57,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
/* Push parser */
- ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL);
+ ctxt = xmlCreatePushParserCtxt(NULL, NULL, NULL, 0, docUrl);
xmlCtxtUseOptions(ctxt, opts);
for (consumed = 0; consumed < docSize; consumed += chunkSize) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]