commit: 2c5554fe64ace6f8cb082b6bd442e13dc3999c0c Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> AuthorDate: Sat May 6 12:43:47 2017 +0000 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> CommitDate: Sat May 6 12:43:47 2017 +0000 URL: https://gitweb.gentoo.org/proj/eselect.git/commit/?id=2c5554fe
Check range of number in kernel and profile modules. * modules/kernel.eselect (set_symlink): * modules/profile.eselect (set_symlink): Check range of number, bug 617572. Thanks to Takuto Yoshida <otakuto.gentoo <AT> gmail.com>. ChangeLog | 6 ++++++ modules/kernel.eselect | 2 ++ modules/profile.eselect | 2 ++ 3 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4bd53b9..2b356bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-05-06 Ulrich Müller <[email protected]> + + * modules/kernel.eselect (set_symlink): + * modules/profile.eselect (set_symlink): Check range of number, + bug 617572. Thanks to Takuto Yoshida <[email protected]>. + 2017-03-22 Ulrich Müller <[email protected]> * configure.ac: Update version to 1.4.9. diff --git a/modules/kernel.eselect b/modules/kernel.eselect index 3104a98..e76c143 100644 --- a/modules/kernel.eselect +++ b/modules/kernel.eselect @@ -44,6 +44,8 @@ set_symlink() { if is_number "${target}"; then local targets=( $(find_targets) ) + [[ ${target} -ge 1 && ${target} -le ${#targets[@]} ]] \ + || die -q "Number out of range: $1" target=${targets[target-1]} fi diff --git a/modules/profile.eselect b/modules/profile.eselect index 68d9b8a..8d95c01 100644 --- a/modules/profile.eselect +++ b/modules/profile.eselect @@ -80,6 +80,8 @@ set_symlink() { targets=( $(find_targets) ) [[ ${#targets[@]} -eq 0 ]] \ && die -q "Failed to get a list of valid profiles" + [[ ${target} -ge 1 && ${target} -le ${#targets[@]} ]] \ + || die -q "Number out of range: $1" target=${targets[target-1]} repo=${target%%::*}; target=${target#*::} repopath=${target%%::*}; target=${target#*::}
