Code

gitweb: fix esc_url
authorPavan Kumar Sunkara <pavan.sss1991@gmail.com>
Thu, 15 Jul 2010 07:29:01 +0000 (12:59 +0530)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Jul 2010 18:59:37 +0000 (11:59 -0700)
Earlier, 452e225 (gitweb: fix esc_param, 2009-10-13) fixed CGI escaping
rules used in esc_url.  A very similar logic exists in esc_param and needs
to be fixed the same way.

Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl

index c356e95f18f0f784584ce644c08e1966ca1be52f..a97ce03444e4ca24273dff32d9e7b9bbc874aa41 100755 (executable)
@@ -1173,8 +1173,7 @@ sub esc_param {
 sub esc_url {
        my $str = shift;
        return undef unless defined $str;
-       $str =~ s/([^A-Za-z0-9\-_.~();\/;?:@&=])/sprintf("%%%02X", ord($1))/eg;
-       $str =~ s/\+/%2B/g;
+       $str =~ s/([^A-Za-z0-9\-_.~();\/;?:@&= ]+)/CGI::escape($1)/eg;
        $str =~ s/ /\+/g;
        return $str;
 }