]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 149845 - buglist.cgi checks for ORDER validity are wrong
authorbbaetz%student.usyd.edu.au <>
Sat, 8 Jun 2002 10:06:10 +0000 (10:06 +0000)
committerbbaetz%student.usyd.edu.au <>
Sat, 8 Jun 2002 10:06:10 +0000 (10:06 +0000)
r=myk x2

buglist.cgi

index b7fb72a69f746b4fb634e6d2dacb511ef262d97a..925f0296f9e09af014c7b3ed6e4fbc31db6242fd 100755 (executable)
@@ -1302,11 +1302,13 @@ if ($order) {
     # by which to sort the results.
     ORDER: for ($order) {
         /\./ && do {
+            my @columnnames = map($columns->{lc($_)}->{'name'}, keys(%$columns));
             # A custom list of columns.  Make sure each column is valid.
-            foreach my $fragment (split(/[,\s]+/, $order)) {
-                next if $fragment =~ /^asc|desc$/i;
-                my @columnnames = map($columns->{lc($_)}->{'name'}, keys(%$columns));
-                if (!grep($_ eq $fragment, @columnnames)) {
+            foreach my $fragment (split(/,/, $order)) {
+                $fragment = trim($fragment);
+                # Accept an order fragment matching a column name, with
+                # asc|desc optionally following (to specify the direction)
+                if (!grep($fragment =~ /^\Q$_\E(\s+(asc|desc))?$/, @columnnames)) {
                     my $qfragment = html_quote($fragment);
                     my $error = "The custom sort order you specified in your "
                               . "form submission contains an invalid column "