From c11b28292da339ff26c27fe876b3306feb25bde9 Mon Sep 17 00:00:00 2001 From: Martin Vierula Date: Mon, 6 Nov 2023 20:35:05 -0800 Subject: [PATCH] Fix: validateDTD compile fails if when libxml2 not installed --- CHANGES | 2 ++ src/operators/validate_dtd.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index e012009446..8cdc5522f7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ v3.x.y - YYYY-MMM-DD (to be released) ------------------------------------- + - Fix: validateDTD compile fails if when libxml2 not installed + [Issue #3014 - @zangobot, @martinhsv] - Fix memory leak of validateDTD's dtd object [Issue #3008 - @martinhsv, @zimmerle] - Fix memory leaks in ValidateSchema diff --git a/src/operators/validate_dtd.h b/src/operators/validate_dtd.h index ef1c7c231d..9de1ea1da0 100644 --- a/src/operators/validate_dtd.h +++ b/src/operators/validate_dtd.h @@ -33,23 +33,23 @@ namespace modsecurity { namespace operators { +#ifdef WITH_LIBXML2 class XmlDtdPtrManager { public: /** @ingroup ModSecurity_Operator */ explicit XmlDtdPtrManager(xmlDtdPtr dtd) : m_dtd(dtd) { } ~XmlDtdPtrManager() { -#ifdef WITH_LIBXML2 if (m_dtd != NULL) { xmlFreeDtd(m_dtd); m_dtd = NULL; } -#endif } xmlDtdPtr get() const {return m_dtd;} private: xmlDtdPtr m_dtd; // The resource being managed }; +#endif class ValidateDTD : public Operator { public: