Skip to contentSkip to conversation

Fix full pathname condition in find_library

PATCH In review Sergey Fionov 2 participants 2 messages Aug 1, 2009 – Aug 5, 2009

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix full pathname condition in find_library

Hello,

Now a fact that the path is full is checked by
[[ -x $1 ]]

But if the working directory is /bin or a directory with a file named "mount", this condition will be met for "inst mount", and "mount" will not be copied into initrd at all.

dracut-functions +1 -1
index d4caacf..1078bfd 100755
@@ -83,7 +83,7 @@ inst_library() {
 # search in the usual places to find the binary.
 find_binary() {
     local binpath="/bin /sbin /usr/bin /usr/sbin" p
-    [[ -x $1 ]] && { echo $1; return 0; }
+    [[ -z ${1##/*} && -x $1 ]] && { echo $1; return 0; }
     for p in $binpath; do
        [[ -x $p/$1 ]] && { echo "$p/$1"; return 0; }
     done

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#1 lore raw
Quoted 17 lines · Sergey Fionov

Hello,

Now a fact that the path is full is checked by
[[ -x $1 ]]

But if the working directory is /bin or a directory with a file named "mount",
this condition will be met for "inst mount", and "mount" will not be copied into initrd at all.

dracut-functions +0 -0
index d4caacf..1078bfd 100755
@@ -83,7 +83,7 @@ inst_library() {
 # search in the usual places to find the binary.
 find_binary() {
Quoted 6 lines

local binpath="/bin /sbin /usr/bin /usr/sbin" p
- [[ -x $1 ]] && { echo $1; return 0; }
+ [[ -z ${1##/*} && -x $1 ]] && { echo $1; return 0; } for p in $binpath; do
[[ -x $p/$1 ]] && { echo "$p/$1"; return 0; } done

merged in git
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html