From f408017c07b75f30c728a3f6545d93b17fe4bd3b Mon Sep 17 00:00:00 2001 From: "Hellekin O. Wolf =8)" Date: Sat, 12 Feb 2011 08:30:37 +0100 Subject: [PATCH] Prevent directory removals if tomb didn't create them --- src/tomb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/tomb b/src/tomb index 02174d8..135fa5d 100755 --- a/src/tomb +++ b/src/tomb @@ -570,7 +570,9 @@ mount_tomb() { notice "mounting $tombfile on mountpoint $tombmount" # we need root from here on - mkdir -p $tombmount + + local norm=$(test -d $tombmount) + $norm || mkdir -p $tombmount nstloop=`losetup -f` losetup -f ${tombfile} @@ -580,7 +582,7 @@ mount_tomb() { if [ $? != 0 ]; then # is it a LUKS encrypted nest? see cryptsetup(1) error "$tombfile is not a valid Luks encrypted storage file" - rmdir $tombmount 2>/dev/null + $norm || rmdir $tombmount 2>/dev/null return 1 fi @@ -624,7 +626,7 @@ mount_tomb() { if ! [ -r /dev/mapper/${mapper} ]; then error "failure mounting the encrypted file" losetup -d ${nstloop} - rmdir ${tombmount} 2>/dev/null + $norm || rmdir ${tombmount} 2>/dev/null return 1 fi