>From 6cd7488322c61fbd3aca00a4f9be8ade6c9b8f64 Mon Sep 17 00:00:00 2001 From: Salvatore Bonaccorso Date: Fri, 12 Dec 2014 22:27:00 +0100 Subject: [PATCH 2/2] Resolve file name to an absolute path --- run-mailcap | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/run-mailcap b/run-mailcap index dd98178..5443bec 100755 --- a/run-mailcap +++ b/run-mailcap @@ -9,6 +9,7 @@ # ############################################################################### +use File::Spec; $debug=($ENV{RUN_MAILCAP_DEBUG} || 0); $norun=0; @@ -474,6 +475,8 @@ foreach (@files) { } if ($file ne "-") { + # Resolve file name to an absolute path + $file = File::Spec->rel2abs($file); if ($file =~ m![^ a-z0-9,.:/@%^+=_-]!i) { $match =~ m/nametemplate=(.*?)\s*($|;)/; my $prefix = $1; @@ -481,13 +484,7 @@ foreach (@files) { while (!$linked) { $tmplink = TempFile($prefix); unlink($tmplink); - if ($file =~ m!^/!) { - $linked = symlink($file,$tmplink); - } else { - my $pwd = `/bin/pwd`; - chomp($pwd); - $linked = symlink("$pwd/$file",$tmplink); - } + $linked = symlink($file,$tmplink); } $file = $tmplink; print STDERR " - filename contains shell meta-characters; aliased to '$tmplink'\n" if $debug; -- 2.1.3