From 0dd0114a9d115819cb31a3903da742b09616f9f0 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 3 Nov 2022 11:27:52 +0100 Subject: 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 --- modules/luci-base/ucode/controller/admin/index.uc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'modules/luci-base/ucode/controller/admin') 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; } -- cgit v1.2.3