From: Jo-Philipp Wich Date: Thu, 3 Nov 2022 10:27:52 +0000 (+0100) Subject: luci-base: fix empty reply format in ubus gateway fallback code X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=0dd0114a9d115819cb31a3903da742b09616f9f0;p=openwrt-luci.git luci-base: fix empty reply format in ubus gateway fallback code The ubus gateway fallback code incorrectly formatted ubus replies containing no payload data when forwarding them via HTTP, leading to `TypeError: Unexpected reply data format` errors in at least the `luci.fs` class when receiving replies without payload. Fix this issue by ensuring that the result array never contains a `null` value for the payload, send an one-element array containing just the status code in this case instead. Fixes: #6074 Signed-off-by: Jo-Philipp Wich --- diff --git a/modules/luci-base/ucode/controller/admin/index.uc b/modules/luci-base/ucode/controller/admin/index.uc index 16a74abc46..f0f7c7fd4d 100644 --- a/modules/luci-base/ucode/controller/admin/index.uc +++ b/modules/luci-base/ucode/controller/admin/index.uc @@ -23,8 +23,10 @@ function ubus_reply(id, data, code, errmsg) { reply.error = { code, message: errmsg }; else if (type(code) == 'object') reply.result = code; - else + else if (data != null) reply.result = [ code, data ]; + else + reply.result = [ code ]; return reply; }