X-Git-Url: https://git.ladys.computer/Gitweb/blobdiff_plain/29dc83657091a135d7aef4e7b7c6d9541c75795655905176f80431e7996e6701..60f57fb2bcf31e15544b02e8e576d775d770e0e49dffa2872071b0079beb37ea:/gitweb.cgi diff --git a/gitweb.cgi b/gitweb.cgi index 9fa1f09..08c834d 100755 --- a/gitweb.cgi +++ b/gitweb.cgi @@ -15,7 +15,7 @@ use CGI::Carp qw(fatalsToBrowser); use Fcntl ':mode'; my $cgi = new CGI; -my $version = "248"; +my $version = "249"; my $my_url = $cgi->url(); my $my_uri = $cgi->url(-absolute => 1); my $rss_link = ""; @@ -144,7 +144,7 @@ sub validate_input { if ($input =~ m/(^|\/)(|\.|\.\.)($|\/)/) { return undef; } - if ($input =~ m/[^a-zA-Z0-9_\.\/\-\+\#\~]/) { + if ($input =~ m/[^a-zA-Z0-9_ \.\/\-\+\#\~]/) { return undef; } return $input; @@ -209,8 +209,8 @@ if (!defined $action || $action eq "summary") { sub esc { my $str = shift; + $str =~ s/\+/%2B/g; $str =~ s/ /\+/g; - $str =~ s/\+/%2b/g; return $str; } @@ -580,7 +580,7 @@ sub git_diff_print { close $fd; } - open my $fd, "-|", "/usr/bin/diff -u -p -L $from_name -L $to_name $from_tmp $to_tmp"; + open my $fd, "-|", "/usr/bin/diff -u -p -L \'$from_name\' -L \'$to_name\' $from_tmp $to_tmp"; if ($format eq "plain") { undef $/; print <$fd>; @@ -2029,7 +2029,7 @@ sub git_history { "\n"; print "
/$file_name
\n"; - open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin $file_name"; + open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin \'$file_name\'"; my $commit; print "\n"; my $alternate = 0; @@ -2167,7 +2167,7 @@ sub git_search { if ($pickaxe_search) { $/ = "\n"; - open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin -S$searchtext"; + open my $fd, "-|", "$gitbin/git-rev-list $hash | $gitbin/git-diff-tree -r --stdin -S\'$searchtext\'"; undef %co; my @files; while (my $line = <$fd>) {