[PATCH 3/n] gitweb: Use 's' regexp modifier to secure against filenames with LF
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Oct 30, 2006, 21:25 UTC
- Message-ID
- <200610302225.11897.jnareb@gmail.com>
- In-Reply-To
- <200610301953.01875.jnareb@gmail.com>
Use 's' (treat string as single line) regexp modifier in git_get_hash_by_path (against future changes, probably unnecessary) and in parse_ls_tree_line (when called with '-z'=>1 option) to secure against filenames containing newline.
Signed-off-by: Jakub Narebski <jnareb@gmail.com> --- Without this patch filename with LF broke "tree" view.
gitweb/gitweb.perl | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index edca27d..0fd1360 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -890,7 +890,7 @@ sub git_get_hash_by_path { close $fd or return undef; #'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa panic.c' - $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/; + $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/s; if (defined $type && $type ne $2) { # type doesn't match return undef; @@ -1305,7 +1305,7 @@ sub parse_ls_tree_line ($;%) { my %res; #'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa panic.c' - $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/; + $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t(.+)$/s; $res{'mode'} = $1; $res{'type'} = $2;
-- 1.4.3.3