summaryrefslogtreecommitdiff
path: root/scripts/repo-add.sh.in
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2019-04-27 22:54:17 -0400
committerAllan McRae <allan@archlinux.org>2019-05-08 12:45:26 +1000
commitb93dfa935f900d884f14d5be8949dc0ae85f1692 (patch)
tree6943b1414231c5ee5df6c41490d9d44d0346634f /scripts/repo-add.sh.in
parenta0f4429e95240b8a275ab6c43c4b8d0b11cfcd5d (diff)
downloadpacman-b93dfa935f900d884f14d5be8949dc0ae85f1692.tar.xz
scripts: protect against unintended glob matching in [[ ]] RHS
The right-hand side of the [[ ... = ... ]] keyword is an exception to the general rule that quoting is unnecessary with [[ This is usually not a problem, e.g. in libmakepkg, lint_one_pkgname will already fail if pkgname has an asterisk, but it certainly doesn't hurt to be "more proper" and go with the spec; it is more dangerous in repo-add, which can get caught in an infinite loop instead of safely asserting there is no package named 'foo*'. Reported-by: Rafael Ascensão <rafa.almas@gmail.com> Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'scripts/repo-add.sh.in')
-rw-r--r--scripts/repo-add.sh.in4
1 files changed, 2 insertions, 2 deletions
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 57413df5..e23f47c9 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -121,7 +121,7 @@ find_pkgentry() {
for pkgentry in "$tmpdir/db/$pkgname"*; do
name=${pkgentry##*/}
- if [[ ${name%-*-*} = $pkgname ]]; then
+ if [[ ${name%-*-*} = "$pkgname" ]]; then
echo $pkgentry
return 0
fi
@@ -464,7 +464,7 @@ remove() {
error "$(gettext "Package matching '%s' not found.")" "$pkgname"
return 1
fi
-
+
return 0
}