diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-19 12:44:41 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-19 12:44:41 +0000 |
commit | b0b109a06f1f890b8833c6afa38c357a084c65bc (patch) | |
tree | d41f44cc623b5c198e037a0055151dacb0eeefab | |
parent | 34d5c6cd766e9565c09721004f68f570b40da857 (diff) | |
download | alpine-conf-b0b109a06f1f890b8833c6afa38c357a084c65bc.tar.bz2 alpine-conf-b0b109a06f1f890b8833c6afa38c357a084c65bc.tar.xz |
setup-apkcache: fix infinite loop when non-existing dir specified
to reproduce: setup-apkcache /ponies
ref #3976
-rw-r--r-- | setup-apkcache.in | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/setup-apkcache.in b/setup-apkcache.in index 0e578c8..5210d82 100644 --- a/setup-apkcache.in +++ b/setup-apkcache.in @@ -47,10 +47,10 @@ find_mount_point() { fi local dir="$1" - while ! [ -d "$dir" ]; do + while [ -n "$dir" ] && ! [ -d "$dir" ]; do dir=${dir%/*} done - local fs_id=$(stat -f -c %i "$dir") + local fs_id=$(stat -f -c %i "${dir:-/}") local parent="${dir%/*}" while [ -n "$dir" ] && [ "$(stat -f -c %i $parent/)" = "$fs_id" ]; do dir=$parent |