From 057b6924681084e0b47721405bd0e141f935bcdf Mon Sep 17 00:00:00 2001 From: Tobias Ulmer Date: Tue, 19 Nov 2013 19:21:59 +0100 Subject: [PATCH] call_tool_argv(): No more shell string construction Signed-off-by: Tobias Ulmer --- generic/e2lib.lua | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/generic/e2lib.lua b/generic/e2lib.lua index ccb3ff8..7d7fbf5 100644 --- a/generic/e2lib.lua +++ b/generic/e2lib.lua @@ -1992,19 +1992,22 @@ function e2lib.call_tool_argv(tool, argv) return false, re end + cmd = { cmd } + flags, re = tools.get_tool_flags(tool) if not flags then return false, re end - call = string.format("%s %s", e2lib.shquote(cmd), flags) + for _,flag in ipairs(flags) do + table.insert(cmd, flag) + end for _,arg in ipairs(argv) do - assert(type(arg) == "string") - call = call .. " " .. e2lib.shquote(arg) + table.insert(cmd, arg) end - rc, re = e2lib.callcmd_log(call) + rc, re = e2lib.callcmd_log(cmd) if not rc or rc ~= 0 then return false, re end -- 2.39.5