diff options
Diffstat (limited to 'ext/xml/compat.c')
-rw-r--r-- | ext/xml/compat.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/xml/compat.c b/ext/xml/compat.c index 012e6b134b..e5db4469dc 100644 --- a/ext/xml/compat.c +++ b/ext/xml/compat.c @@ -359,7 +359,10 @@ _external_entity_ref_handler(void *user, const xmlChar *names, int type, const x return; } - parser->h_external_entity_ref(parser, names, (XML_Char *) "", sys_id, pub_id); + if (!parser->h_external_entity_ref(parser, names, (XML_Char *) "", sys_id, pub_id)) { + xmlStopParser(parser->parser); + parser->parser->errNo = XML_ERROR_EXTERNAL_ENTITY_HANDLING; + }; } static xmlEntityPtr |