sys-kernel/vanilla-kernel-bin: Verify version passed to has_version
authorMichał Górny <mgorny@gentoo.org>
Sat, 28 Dec 2019 20:30:57 +0000 (21:30 +0100)
committerMichał Górny <mgorny@gentoo.org>
Sat, 28 Dec 2019 20:34:34 +0000 (21:34 +0100)
Verify the version read from /usr/src/linux symlink and make sure
that it consists of plain [0-9.] before passing it to has_version.
If it doesn't conform, it isn't our symlink anyway.

Closes: https://bugs.gentoo.org/703822
Signed-off-by: Michał Górny <mgorny@gentoo.org>
sys-kernel/vanilla-kernel-bin/vanilla-kernel-bin-5.4.6.ebuild

index fa1b7e994f20b78624720355ad3d8e30140edfe5..4908786bffb81dac40f9984bc7648ea2f4deb2ba 100644 (file)
@@ -81,8 +81,9 @@ pkg_postinst() {
        fi
 
        local symlink_target=$(readlink "${EROOT}"/usr/src/linux)
-       if [[ ${symlink_target} == linux-[0-9]* ]]; then
-               local symlink_ver=${symlink_target#linux-}
+       local symlink_ver=${symlink_target#linux-}
+       if [[ ${symlink_target} == linux-* && -z ${symlink_ver//[0-9.]/} ]]
+       then
                local symlink_pkg=${CATEGORY}/${PN}-${symlink_ver}
                # if the current target is either being replaced, or still
                # installed (probably depclean candidate), update the symlink