Projects
Mega:23.03
libxml2
_service:tar_scm:backport-Only-warn-on-invalid-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-Only-warn-on-invalid-redeclarations-of-predefined-en.patch of Package libxml2
From ce0871e15cdb68e505ccd9d9c96ff8455ed936ab Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer <wellnhofer@aevum.de> Date: Sun, 20 Feb 2022 16:44:41 +0100 Subject: [PATCH 1/3] Only warn on invalid redeclarations of predefined entities Downgrade the error message to a warning since the error was ignored, anyway. Also print the name of redeclared entity. For a proper fix that also shows filename and line number of the invalid redeclaration, we'd have to - pass the parser context to the entity functions somehow, or - make these functions return distinct error codes. Partial fix for #308. --- entities.c | 21 +++++++++++++++++++-- result/errors/ent_redecl.xml | 3 +++ result/errors/ent_redecl.xml.ent | 1 + result/errors/ent_redecl.xml.err | 1 + result/errors/ent_redecl.xml.str | 1 + test/errors/ent_redecl.xml | 4 ++++ 6 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 result/errors/ent_redecl.xml create mode 100644 result/errors/ent_redecl.xml.ent create mode 100644 result/errors/ent_redecl.xml.err create mode 100644 result/errors/ent_redecl.xml.str create mode 100644 test/errors/ent_redecl.xml diff --git a/entities.c b/entities.c index 1a8f86f0..a27209d1 100644 --- a/entities.c +++ b/entities.c @@ -94,6 +94,23 @@ xmlEntitiesErr(xmlParserErrors code, const char *msg) __xmlSimpleError(XML_FROM_TREE, code, NULL, msg, NULL); } +/** + * xmlEntitiesWarn: + * @code: the error code + * @msg: the message + * + * Handle an out of memory condition + */ +static void LIBXML_ATTR_FORMAT(2,0) +xmlEntitiesWarn(xmlParserErrors code, const char *msg, const xmlChar *str1) +{ + __xmlRaiseError(NULL, NULL, NULL, + NULL, NULL, XML_FROM_TREE, code, + XML_ERR_WARNING, NULL, 0, + (const char *)str1, NULL, NULL, 0, 0, + msg, (const char *)str1, NULL); +} + /* * xmlFreeEntity : clean-up an entity record. */ @@ -255,9 +272,9 @@ xmlAddEntity(xmlDtdPtr dtd, const xmlChar *name, int type, } } if (!valid) { - xmlEntitiesErr(XML_ERR_ENTITY_PROCESSING, + xmlEntitiesWarn(XML_ERR_ENTITY_PROCESSING, "xmlAddEntity: invalid redeclaration of predefined" - " entity"); + " entity '%s'", name); return(NULL); } } diff --git a/result/errors/ent_redecl.xml b/result/errors/ent_redecl.xml new file mode 100644 index 00000000..04216b65 --- /dev/null +++ b/result/errors/ent_redecl.xml @@ -0,0 +1,3 @@ +<?xml version="1.0"?> +<!DOCTYPE doc> +<doc/> diff --git a/result/errors/ent_redecl.xml.ent b/result/errors/ent_redecl.xml.ent new file mode 100644 index 00000000..31908b05 --- /dev/null +++ b/result/errors/ent_redecl.xml.ent @@ -0,0 +1 @@ +warning : xmlAddEntity: invalid redeclaration of predefined entity 'lt' diff --git a/result/errors/ent_redecl.xml.err b/result/errors/ent_redecl.xml.err new file mode 100644 index 00000000..31908b05 --- /dev/null +++ b/result/errors/ent_redecl.xml.err @@ -0,0 +1 @@ +warning : xmlAddEntity: invalid redeclaration of predefined entity 'lt' diff --git a/result/errors/ent_redecl.xml.str b/result/errors/ent_redecl.xml.str new file mode 100644 index 00000000..31908b05 --- /dev/null +++ b/result/errors/ent_redecl.xml.str @@ -0,0 +1 @@ +warning : xmlAddEntity: invalid redeclaration of predefined entity 'lt' diff --git a/test/errors/ent_redecl.xml b/test/errors/ent_redecl.xml new file mode 100644 index 00000000..e446681b --- /dev/null +++ b/test/errors/ent_redecl.xml @@ -0,0 +1,4 @@ +<!DOCTYPE doc [ + <!ENTITY lt '<'> +]> +<doc/> -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2