1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-26 00:37:43 +03:00

fuzz: Test xmlTextReaderRead after EOF or failure

This commit is contained in:
Nick Wellnhofer
2023-10-14 22:48:12 +02:00
parent e019d97fd0
commit c13a019134
3 changed files with 9 additions and 0 deletions

View File

@@ -92,6 +92,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
#ifdef LIBXML_READER_ENABLED #ifdef LIBXML_READER_ENABLED
{ {
xmlTextReaderPtr reader; xmlTextReaderPtr reader;
int j;
xmlFuzzMemSetLimit(maxAlloc); xmlFuzzMemSetLimit(maxAlloc);
reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts); reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts);
@@ -106,6 +107,8 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
} }
} }
} }
for (j = 0; j < 10; j++)
xmlTextReaderRead(reader);
xmlFreeTextReader(reader); xmlFreeTextReader(reader);
} }
#endif #endif

View File

@@ -56,6 +56,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
#ifdef LIBXML_READER_ENABLED #ifdef LIBXML_READER_ENABLED
{ {
xmlTextReaderPtr reader; xmlTextReaderPtr reader;
int j;
xmlFuzzMemSetLimit(maxAlloc); xmlFuzzMemSetLimit(maxAlloc);
reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts); reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts);
@@ -70,6 +71,8 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
} }
} }
} }
for (j = 0; j < 10; j++)
xmlTextReaderRead(reader);
xmlFreeTextReader(reader); xmlFreeTextReader(reader);
} }
#endif #endif

View File

@@ -98,6 +98,7 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
#ifdef LIBXML_READER_ENABLED #ifdef LIBXML_READER_ENABLED
{ {
xmlTextReaderPtr reader; xmlTextReaderPtr reader;
int j;
xmlFuzzMemSetLimit(maxAlloc); xmlFuzzMemSetLimit(maxAlloc);
reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts); reader = xmlReaderForMemory(docBuffer, docSize, NULL, NULL, opts);
@@ -112,6 +113,8 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) {
} }
} }
} }
for (j = 0; j < 10; j++)
xmlTextReaderRead(reader);
xmlFreeTextReader(reader); xmlFreeTextReader(reader);
} }
#endif #endif