X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gitweb%2Fgitweb.perl;h=7b9369811a37f55bb8843a90fde6fb795a6ae162;hb=36612e4daf8b5b5eaf16315aa13c66925f878cd6;hp=50a835a5bf5c617bfc9d91259b54043b5f0a6920;hpb=f174a2583c9f42315b60205890fa67a79a1f1669;p=git.git diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 50a835a5b..7b9369811 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -1054,7 +1054,16 @@ sub evaluate_and_validate_params { if (length($searchtext) < 2) { die_error(403, "At least two characters are required for search parameter"); } - $search_regexp = $search_use_regexp ? $searchtext : quotemeta $searchtext; + if ($search_use_regexp) { + $search_regexp = $searchtext; + if (!eval { qr/$search_regexp/; 1; }) { + (my $error = $@) =~ s/ at \S+ line \d+.*\n?//; + die_error(400, "Invalid search regexp '$search_regexp'", + esc_html($error)); + } + } else { + $search_regexp = quotemeta $searchtext; + } } }