From: Harald Hoyer Date: Wed, 12 May 2021 13:09:35 +0000 (+0200) Subject: fix(dracut): prevent symbolic links containing `//` X-Git-Tag: 054~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=de0c0872fc858fa9ca952f79ea9f00be17c37a4c;p=thirdparty%2Fdracut.git fix(dracut): prevent symbolic links containing `//` Results in `usr/lib64 -> ..//usr/lib` for Arch Linux otherwise. --- diff --git a/dracut.sh b/dracut.sh index 4b762f180..bfb7a1aca 100755 --- a/dracut.sh +++ b/dracut.sh @@ -1838,6 +1838,7 @@ fi if [[ $prefix ]]; then for d in bin etc lib sbin tmp usr var $libdirs; do + d=${d#/} [[ $d == */* ]] && continue ln -sfn "${prefix#/}/${d#/}" "$initdir/$d" done @@ -1845,6 +1846,7 @@ fi if [[ $kernel_only != yes ]]; then for d in usr usr/bin usr/sbin bin etc lib sbin tmp var var/tmp $libdirs; do + d=${d#/} [[ -e "${initdir}${prefix}/$d" ]] && continue if [ -L "/$d" ]; then inst_symlink "/$d" "${prefix}/$d"