From 7863ff72724bbb84831d595ef60405072713c379 Mon Sep 17 00:00:00 2001 From: Lars Kruse Date: Sat, 7 Apr 2018 18:05:51 +0200 Subject: [PATCH] luci-app-olsr: handle empty result for non-status tables The response of the jsoninfo request may be non-empty (e.g. a linebreak or just whitespace), but still yield "nil" after "json.decode". This situation was already handled for the "status" request, but it leads to a dictionary access against a "nil" value for all other tables. Signed-off-by: Lars Kruse --- applications/luci-app-olsr/luasrc/controller/olsr.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/applications/luci-app-olsr/luasrc/controller/olsr.lua b/applications/luci-app-olsr/luasrc/controller/olsr.lua index 11e27d7c0..75463d405 100644 --- a/applications/luci-app-olsr/luasrc/controller/olsr.lua +++ b/applications/luci-app-olsr/luasrc/controller/olsr.lua @@ -379,9 +379,9 @@ function fetch_jsoninfo(otable) if jsonreq4 ~= "" then has_v4 = 1 - jsondata4 = json.decode(jsonreq4) + jsondata4 = json.decode(jsonreq4) or {} if otable == 'status' then - data4 = jsondata4 or {} + data4 = jsondata4 else data4 = jsondata4[otable] or {} end @@ -393,9 +393,9 @@ function fetch_jsoninfo(otable) end if jsonreq6 ~= "" then has_v6 = 1 - jsondata6 = json.decode(jsonreq6) + jsondata6 = json.decode(jsonreq6) or {} if otable == 'status' then - data6 = jsondata6 or {} + data6 = jsondata6 else data6 = jsondata6[otable] or {} end -- 2.25.1