commit:     64d475cac5a2e4ca9a63a3f158c6f6ee745cb9a0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  8 15:48:39 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul  9 16:54:45 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64d475ca

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.

 eclass/linux-info.eclass | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index dd62b26855d..0eca5572587 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
 

Reply via email to