diff options
Diffstat (limited to 'main/alpine-conf/0001-setup-apkcache-fix-infinite-loop-when-non-existing-d.patch')
-rw-r--r-- | main/alpine-conf/0001-setup-apkcache-fix-infinite-loop-when-non-existing-d.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/main/alpine-conf/0001-setup-apkcache-fix-infinite-loop-when-non-existing-d.patch b/main/alpine-conf/0001-setup-apkcache-fix-infinite-loop-when-non-existing-d.patch new file mode 100644 index 0000000000..ed3191d2b6 --- /dev/null +++ b/main/alpine-conf/0001-setup-apkcache-fix-infinite-loop-when-non-existing-d.patch @@ -0,0 +1,33 @@ +From b0b109a06f1f890b8833c6afa38c357a084c65bc Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Thu, 19 Mar 2015 12:44:41 +0000 +Subject: [PATCH] setup-apkcache: fix infinite loop when non-existing dir + specified + +to reproduce: setup-apkcache /ponies + +ref #3976 +--- + setup-apkcache.in | 4 ++-- + 1 file 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 +-- +2.3.3 + |