From: Michał Górny Date: Thu, 8 Mar 2018 15:48:39 +0000 (+0100) Subject: linux-info.eclass: get_localversion, do not call 'ls' X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=64d475cac5a2e4ca9a63a3f158c6f6ee745cb9a0;p=gentoo.git linux-info.eclass: get_localversion, do not call 'ls' Use bash array to perform a safe filename glob instead of calling 'ls'. Also, use nullglob to cleanly handle no matches instead of silencing errors. --- diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass index dd62b26855d2..0eca55725874 100644 --- a/eclass/linux-info.eclass +++ b/eclass/linux-info.eclass @@ -390,8 +390,13 @@ kernel_is() { get_localversion() { local lv_list i x + local shopt_save=$(shopt -p nullglob) + shopt -s nullglob + local files=( ${1}/localversion* ) + ${shopt_save} + # ignore files with ~ in it. - for i in $(ls ${1}/localversion* 2>/dev/null); do + for i in "${files[@]}"; do [[ -n ${i//*~*} ]] && lv_list="${lv_list} ${i}" done