From 4187572616d8cde172d418329053a2a67529c6ba Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 31 Aug 2006 20:30:16 +0000 Subject: [PATCH] Fixed handling of filenames with an embedded $, @, or %. --- support/file-attr-restore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/support/file-attr-restore b/support/file-attr-restore index 11d7524f..8c25310e 100755 --- a/support/file-attr-restore +++ b/support/file-attr-restore @@ -47,7 +47,9 @@ while (<>) { my($type, $perms, $owner, $group, $name) = /$detail_line/; die "Invalid input line $.:\n$_" unless defined $name; die "A filename is not properly escaped:\n$_" unless $name =~ /^[^"\\]*(\\(\d\d\d|\D)[^"\\]*)*$/; - my $fn = eval "\"$name\""; + my $fn = $name; + $fn =~ s/([\$\@\%])/\\$1/g; + $fn = eval "\"$fn\""; if ($type eq '-') { undef $type unless -f $fn; } elsif ($type eq 'd') { -- 2.34.1