diff --git a/lovebird.lua b/lovebird.lua index a093efe..bfdd1ec 100644 --- a/lovebird.lua +++ b/lovebird.lua @@ -223,6 +223,12 @@ end } updateDivContent("envheader", html); + /* Handle invalid table path */ + if (!json.valid) { + updateDivContent("envvars", "Bad path"); + return; + } + /* Variables */ var html = ""; for (var i = 0; json.vars[i]; i++) { @@ -268,10 +274,16 @@ lovebird.pages["env.json"] = [[ if p ~= "" then for x in p:gmatch("[^%.]+") do t = t[x] + -- Return early if path does not exist + if type(t) ~= "table" then + echo('{ "valid": false, "path": ' .. string.format("%q", p) .. ' }') + return + end end end ?> { + "valid": true, "path": "", "vars": [