From f7cf5054de36d7a674ac06c6271055e863cc0bc9 Mon Sep 17 00:00:00 2001 From: Ivan Naidenov Date: Mon, 27 Jun 2022 17:53:14 +0300 Subject: [PATCH] Assert etcd:list by "/" --- config/etcd.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/etcd.lua b/config/etcd.lua index e83f83a..a68bee4 100644 --- a/config/etcd.lua +++ b/config/etcd.lua @@ -181,7 +181,7 @@ end function M:list(keyspath) local res, response = self:request("GET","keys"..keyspath, { recursive = true, quorum = true }) -- print(yaml.encode(res)) - if res.node then + if res.node and res.node.key then local result = self:recursive_extract(keyspath,res.node) -- todo: make it with metatable -- print(yaml.encode(result)) @@ -189,6 +189,9 @@ function M:list(keyspath) -- for _,n in pairs(res.node) do -- print() -- end + elseif res.node and (not res.node.key) then + -- Don't use "/" as a etcd prefix in config + error(('Failed to list keys by "%s", node.key is nil'):format(keyspath)) else error(json.encode(res),2) end