Bug#598427:
This bug also affects current version in unstable.
If you choose a base-unexistent path in crosshurd,
which subsequently will be passed to makehurddir.sh,
makehurddir.sh will call readlink -f,
which may return an empty string in some cases,
thus $TARGET will be "", so commands like:
cp /etc/resolv.conf "$TARGET/etc/resolv.conf"
will end up overwriting some of root filesystem's files.
Do not try this as root !!!
Here is a possible patch for makehurddir.sh:
----------------
--- a/makehurddir.sh 2016-02-21 23:28:54.000000000 +0100
+++ b/makehurddir.sh 2016-05-18 17:07:46.578718033 +0200
@@ -10,6 +10,11 @@
DEB_TARGET_GNU_CPU=$2
DEB_TARGET_GNU_SYSTEM=$3
+if [ x"$TARGET" = x ]; then
+ echo "Refused to overwrite inexistent/empty TARGET."
+ exit 1
+fi
+
. /usr/share/crosshurd/functions
debs=`cat /etc/crosshurd/packages/{common,$DEB_TARGET_GNU_SYSTEM} |
grep -v '^#'`
----------------
Reply to:
- Follow-Ups:
- Bug#598427:
- From: Samuel Thibault <sthibault@debian.org>