diff --git a/src/operators/validate_dtd.cc b/src/operators/validate_dtd.cc index 30423bd6fe..cad16b78d8 100644 --- a/src/operators/validate_dtd.cc +++ b/src/operators/validate_dtd.cc @@ -33,12 +33,6 @@ bool ValidateDTD::init(const std::string &file, std::string *error) { return false; } - xmlThrDefSetGenericErrorFunc(NULL, - null_error); - - xmlSetGenericErrorFunc(NULL, - null_error); - return true; } diff --git a/src/operators/validate_dtd.h b/src/operators/validate_dtd.h index 4056c38377..304cad12af 100644 --- a/src/operators/validate_dtd.h +++ b/src/operators/validate_dtd.h @@ -78,9 +78,6 @@ class ValidateDTD : public Operator { } - static void null_error(void *, const char *, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback] - } - private: std::string m_resource; #endif diff --git a/src/operators/validate_schema.cc b/src/operators/validate_schema.cc index 1c38ac2405..d45ef5750c 100644 --- a/src/operators/validate_schema.cc +++ b/src/operators/validate_schema.cc @@ -71,12 +71,6 @@ bool ValidateSchema::evaluate(Transaction *transaction, (xmlSchemaValidityErrorFunc)error_load, (xmlSchemaValidityWarningFunc)warn_load, &m_err); - xmlThrDefSetGenericErrorFunc(parserCtx, - null_error); - - xmlSetGenericErrorFunc(parserCtx, - null_error); - xmlSchemaPtr schema = xmlSchemaParse(parserCtx); if (schema == NULL) { std::stringstream err; diff --git a/src/operators/validate_schema.h b/src/operators/validate_schema.h index 5708cfae18..96cca8f25f 100644 --- a/src/operators/validate_schema.h +++ b/src/operators/validate_schema.h @@ -75,8 +75,6 @@ class ValidateSchema : public Operator { va_end(args); } - static void null_error(void *, const char *, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback] - } template static void callback_func(void *ctx, Pred pred, const char *base_msg, const char *msg, va_list args) { diff --git a/src/request_body_processor/xml.cc b/src/request_body_processor/xml.cc index 11e18fbe90..cbb7894c9b 100644 --- a/src/request_body_processor/xml.cc +++ b/src/request_body_processor/xml.cc @@ -249,6 +249,8 @@ bool XML::processChunk(const char *buf, unsigned int size, error->assign("XML: Failed to create parsing context."); return false; } + // disable parser errors being printed to stderr + m_data.parsing_ctx->options |= XML_PARSE_NOWARNING | XML_PARSE_NOERROR; } if (m_transaction->m_secXMLParseXmlIntoArgs @@ -265,6 +267,8 @@ bool XML::processChunk(const char *buf, unsigned int size, error->assign("XML: Failed to create parsing context for ARGS."); return false; } + // disable parser errors being printed to stderr + m_data.parsing_ctx_arg->options |= XML_PARSE_NOWARNING | XML_PARSE_NOERROR; } return true; @@ -274,7 +278,6 @@ bool XML::processChunk(const char *buf, unsigned int size, if (m_data.parsing_ctx != NULL && m_transaction->m_secXMLParseXmlIntoArgs != RulesSetProperties::OnlyArgsConfigXMLParseXmlIntoArgs) { - xmlSetGenericErrorFunc(m_data.parsing_ctx, null_error); xmlParseChunk(m_data.parsing_ctx, buf, size, 0); m_data.xml_parser_state->parsing_ctx_arg = m_data.parsing_ctx_arg; if (m_data.parsing_ctx->wellFormed != 1) { @@ -292,7 +295,6 @@ bool XML::processChunk(const char *buf, unsigned int size, m_transaction->m_secXMLParseXmlIntoArgs == RulesSetProperties::TrueConfigXMLParseXmlIntoArgs) ) { - xmlSetGenericErrorFunc(m_data.parsing_ctx_arg, null_error); xmlParseChunk(m_data.parsing_ctx_arg, buf, size, 0); if (m_data.parsing_ctx_arg->wellFormed != 1) { error->assign("XML: Failed to parse document for ARGS."); diff --git a/src/request_body_processor/xml.h b/src/request_body_processor/xml.h index fcb8c41824..df766d03b7 100644 --- a/src/request_body_processor/xml.h +++ b/src/request_body_processor/xml.h @@ -16,7 +16,7 @@ #ifdef WITH_LIBXML2 #include #include -#include +#include #endif #include @@ -93,10 +93,6 @@ class XML { static xmlParserInputBufferPtr unloadExternalEntity(const char *URI, xmlCharEncoding enc); - static void null_error(void *ctx, const char *msg, ...) { // cppcheck-suppress[constParameterPointer,constParameterCallback] - } - - xml_data m_data; private: