xmlhandlers: Reset state on error or stream close, fixes possible traceback

Wed, 21 Oct 2009 14:05:33 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Wed, 21 Oct 2009 14:05:33 +0100
changeset 2037
a919511c45ac
parent 2036
0f9c121713e1
child 2038
4ab83f96585a

xmlhandlers: Reset state on error or stream close, fixes possible traceback

core/xmlhandlers.lua file | annotate | diff | comparison | revisions
--- a/core/xmlhandlers.lua	Wed Oct 21 13:59:54 2009 +0100
+++ b/core/xmlhandlers.lua	Wed Oct 21 14:05:33 2009 +0100
@@ -114,12 +114,13 @@
 					if cb_streamclosed then
 						cb_streamclosed(session);
 					end
-					return;
 				elseif name == "error" then
 					cb_error(session, "stream-error", stanza);
 				else
 					cb_error(session, "parse-error", "unexpected-element-close", name);
 				end
+				stanza, chardata = nil, {};
+				return;
 			end
 			if #chardata > 0 then
 				-- We have some character data in the buffer

mercurial