]> Lady’s Gitweb - Gitweb/commitdiff
Escape project name in regexp
authormartin f. krafft <redacted>
Sun, 20 Apr 2008 21:03:56 +0000 (23:03 +0200)
committerLady <redacted>
Mon, 6 Apr 2026 04:07:12 +0000 (00:07 -0400)
The project name, when used in a regular expression, needs to be quoted
properly, so that stuff like '++' in the project name does not cause
Perl to barf.

Related info: http://bugs.debian.org/476076
This is a bug in Perl's CGI.pm, but fixing that exposed a similar bug in
gitweb.perl

Signed-off-by: martin f. krafft <redacted>
Signed-off-by: Junio C Hamano <redacted>
gitweb.perl

index 5deffa71a72547beff349bfd9f3ada45ee20f0be469470cbff73d9d6b337f7f5..2cb6bc5a16dbd39cd2d02c8575f9841986bc18ec12e60ea51a2eeae500386517 100755 (executable)
@@ -512,7 +512,7 @@ sub evaluate_path_info {
        }
        # do not change any parameters if an action is given using the query string
        return if $action;
        }
        # do not change any parameters if an action is given using the query string
        return if $action;
-       $path_info =~ s,^$project/*,,;
+       $path_info =~ s,^\Q$project\E/*,,;
        my ($refname, $pathname) = split(/:/, $path_info, 2);
        if (defined $pathname) {
                # we got "project.git/branch:filename" or "project.git/branch:dir/"
        my ($refname, $pathname) = split(/:/, $path_info, 2);
        if (defined $pathname) {
                # we got "project.git/branch:filename" or "project.git/branch:dir/"
This page took 0.301414 seconds and 4 git commands to generate.