summaryrefslogtreecommitdiff
path: root/gitweb
diff options
context:
space:
mode:
authorCharles McGarvey <chazmcgarvey@brokenzipper.com>2013-06-04 22:44:28 -0600
committerJunio C Hamano <gitster@pobox.com>2013-06-07 09:37:16 -0700
commitca7a5dcfd39bdeb26d74074e78e6966df5e63a6b (patch)
tree49078e2d93dd3a494f4aa81fb7bed68f3cdcb94e /gitweb
parentedca4152560522a431a51fc0a06147fc680b5b18 (diff)
downloadgit-ca7a5dcfd39bdeb26d74074e78e6966df5e63a6b.tar.gz
gitweb: fix problem causing erroneous project list
The bug is manifest when running gitweb in a persistent process (e.g. FastCGI, PSGI), and it's easy to reproduce. If a gitweb request includes the searchtext parameter (i.e. s), subsequent requests using the project_list action--which is the default action--and without a searchtext parameter will be filtered by the searchtext value of the first request. This is because the value of the $search_regexp global (the value of which is based on the searchtext parameter) is currently being persisted between requests. Instead, clear $search_regexp before dispatching each request. Signed-off-by: Charles McGarvey <chazmcgarvey@brokenzipper.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'gitweb')
-rwxr-xr-xgitweb/gitweb.perl2
1 files changed, 1 insertions, 1 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 80950c018d..8d69ada042 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1086,7 +1086,7 @@ sub evaluate_and_validate_params {
our $search_use_regexp = $input_params{'search_use_regexp'};
our $searchtext = $input_params{'searchtext'};
- our $search_regexp;
+ our $search_regexp = undef;
if (defined $searchtext) {
if (length($searchtext) < 2) {
die_error(403, "At least two characters are required for search parameter");