From: Matthias Lederhofer Date: Sun, 17 Sep 2006 21:38:38 GMT Subject: Re: [PATCH] gitweb fix validating pg (page) parameter Message-ID: <20060917213838.GA12782@moooo.ath.cx> In-Reply-To: <7vlkoi2nqr.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > Matthias Lederhofer writes: > > > Currently it is possible to give any string ending with a number as > > page. -1 for example is quite bad (error log shows probably 100 > > warnings). > > > > @@ -259,7 +259,7 @@ if (defined $hash_parent_base) { > > > > our $page = $cgi->param('pg'); > > if (defined $page) { > > - if ($page =~ m/[^0-9]$/) { > > + if ($page =~ m/[^0-9]/) { > > die_error(undef, "Invalid page parameter"); > > } > > } > > Are we complaining if $page is not a validly formatted number > here? If so why not > > unless ($page =~ /^\d+$/ && 1 <= $page) { > barf(...); > } The first page seems to have number 0. After removing the 1 <= $page this code should do the same as my patch, apply whatever you think is easier to read (I prefer if over unless most of the time).