aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2017-05-06 14:43:47 +0200
committerUlrich Müller <ulm@gentoo.org>2017-05-06 14:43:47 +0200
commit2c5554fe64ace6f8cb082b6bd442e13dc3999c0c (patch)
treed9662e39e65cb322d6536d6744537ca48216bfcb
parentUpdate version to 1.4.9. (diff)
downloadeselect-2c5554fe64ace6f8cb082b6bd442e13dc3999c0c.tar.gz
eselect-2c5554fe64ace6f8cb082b6bd442e13dc3999c0c.tar.bz2
eselect-2c5554fe64ace6f8cb082b6bd442e13dc3999c0c.zip
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@gmail.com>.
-rw-r--r--ChangeLog6
-rw-r--r--modules/kernel.eselect2
-rw-r--r--modules/profile.eselect2
3 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4bd53b9..2b356bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-05-06 Ulrich Müller <ulm@gentoo.org>
+
+ * modules/kernel.eselect (set_symlink):
+ * modules/profile.eselect (set_symlink): Check range of number,
+ bug 617572. Thanks to Takuto Yoshida <otakuto.gentoo@gmail.com>.
+
2017-03-22 Ulrich Müller <ulm@gentoo.org>
* 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#*::}