X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=exec%2Fumount;h=7bde90046a922f480c9c79f12ac034fb451f4767;hb=0d2dadd8ffce4fb1f1de7270766b65d748a04b30;hp=3d7fb48353d16d2f0a130d75aebe8e41e1a4944b;hpb=f596d6d2f9f2b8e7fbffd9c3332fda1de1adc798;p=vsys-scripts.git diff --git a/exec/umount b/exec/umount index 3d7fb48..7bde900 100755 --- a/exec/umount +++ b/exec/umount @@ -7,12 +7,18 @@ my $slice_dir="/vservers/$slicename/"; my $localpath = ; chomp($localpath); -$localpath=~s/\.\.//g; $localpath=$slice_dir.$localpath; -unless($localpath=~/\/?[\w\d]+\/[\w\d]*\/?/) { - die("$localpath is not a path"); +my $pathtest; + +$pathtest=''; +while ($localpath=~/(\/?[\w\d\-_]+\/?)/g) { + $pathtest=$pathtest.$1; +} + +if ($pathtest ne $localpath) { + die "$localpath is not a safe path"; } my $mntcmd="/bin/umount $localpath";