From 57c37716145d1383e861c390c4953f41e81dfdb3 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 19 Apr 2023 11:32:53 +0200 Subject: util.error: Fix error on conversion of invalid error stanza, fix #1805 Error stanzas should have an element, but if you pass a stanza without one to util.error.from_stanza() it triggers an attempt to index a nil value, which this patch avoids. In the conditional, it should be safe to assume error_tag is non-nil since condition can't have those values then. --- util/error.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/error.lua b/util/error.lua index 326c01f8..b83f81e5 100644 --- a/util/error.lua +++ b/util/error.lua @@ -141,7 +141,7 @@ local function from_stanza(stanza, context, source) local error_tag = stanza:get_child("error"); context = context or {}; context.stanza = stanza; - context.by = error_tag.attr.by or stanza.attr.from; + context.by = error_tag and error_tag.attr.by or stanza.attr.from; local uri; if condition == "gone" or condition == "redirect" then -- cgit v1.2.3