# HG changeset patch # User Matthew Wild # Date 1307024345 -3600 # Node ID ee6a18f10a8d7aa08e5f2ffe54c95c75c29ac42c # Parent 65e2c089d1381d9e6da0c1e86110459b1ad57337 xmlhandlers/xmppstream: Stop the parser when encountering restricted XML, completing the fix for the billion laughs attack diff -r 65e2c089d138 -r ee6a18f10a8d core/xmlhandlers.lua --- a/core/xmlhandlers.lua Thu Jun 02 00:23:41 2011 +0100 +++ b/core/xmlhandlers.lua Thu Jun 02 15:19:05 2011 +0100 @@ -145,8 +145,11 @@ end end - local function restricted_handler() + local function restricted_handler(parser) cb_error(session, "parse-error", "restricted-xml", "Restricted XML, see RFC 6120 section 11.1."); + if not parser:stop() then + error("Failed to abort parsing"); + end end if lxp_supports_doctype then