From 84e50a0c48b51fb69ee221afcc98d2a8c6c25d14 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Thu, 1 Feb 2024 17:02:24 +0100 Subject: [PATCH] fuzz: Don't check for malloc failures when serializing DTD serialization doesn't report malloc failures yet. --- fuzz/xml.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/fuzz/xml.c b/fuzz/xml.c index 7df8d186..fba2b812 100644 --- a/fuzz/xml.c +++ b/fuzz/xml.c @@ -70,12 +70,25 @@ LLVMFuzzerTestOneInput(const char *data, size_t size) { buffer = xmlBufferCreate(); save = xmlSaveToBuffer(buffer, NULL, 0); if (save != NULL) { +#if 0 int errNo; + /* + * DTD serialization doesn't report malloc failures: + * + * - xmlBufDumpNotationTable + * - xmlBufDumpElementDecl + * - xmlBufDumpAttributeDecl + * - xmlBufDumpEntityDecl + */ xmlSaveDoc(save, doc); errNo = xmlSaveFinish(save); - xmlFuzzCheckMallocFailure("xmlDocDumpMemory", + xmlFuzzCheckMallocFailure("xmlSaveDoc", errNo == XML_ERR_NO_MEMORY); +#else + xmlSaveDoc(save, doc); + xmlSaveFinish(save); +#endif } xmlBufferFree(buffer); #endif