aboutsummaryrefslogtreecommitdiffstats
path: root/main/alpine-conf/0001-setup-apkcache-fix-infinite-loop-when-non-existing-d.patch
diff options
context:
space:
mode:
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.patch33
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
+