From: Michael Tremer Date: Sat, 5 Aug 2017 19:14:23 +0000 (+0000) Subject: util: Fix cmd function and never leak anything into the environment X-Git-Url: http://git.ipfire.org/?p=people%2Fstevee%2Fnetwork.git;a=commitdiff_plain;h=4b75fc836b1f49b948d14782805c39420bdace08 util: Fix cmd function and never leak anything into the environment Signed-off-by: Michael Tremer --- diff --git a/src/functions/functions.util b/src/functions/functions.util index d1e2a92b..80354f4d 100644 --- a/src/functions/functions.util +++ b/src/functions/functions.util @@ -476,14 +476,22 @@ cmd() { log DEBUG "Running command: ${cmd}" - if ! ${cmd}; then - local ret=$? - - log DEBUG "Returned with code '${ret}'" - return ${ret} - fi + env -i -- \ + HOME="${HOME}" \ + PATH="${PATH}" \ + TERM="${TERM}" \ + ${cmd} + local ret=$? - return ${EXIT_OK} + case "${ret}" in + ${EXIT_OK}) + return ${EXIT_OK} + ;; + *) + log DEBUG "Returned with code '${ret}'" + return ${ret} + ;; + esac } cmd_quiet() {