From 82787bc9132869edb068904dfc8123414c115639 Mon Sep 17 00:00:00 2001 From: "mozilla%colinogilvie.co.uk" <> Date: Wed, 20 Jul 2005 05:38:14 +0000 Subject: Bug 282737: Software Error from time-tracking fields during Change Columns Patch by Joel, Me, r=wurblzap, a=myk --- buglist.cgi | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'buglist.cgi') diff --git a/buglist.cgi b/buglist.cgi index 4768843de..45c0db552 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -733,7 +733,15 @@ foreach my $fragment (split(/,/, $order)) { # Add order columns to selectnames # The fragment has already been validated $fragment =~ s/\s+(asc|desc)$//; - $fragment =~ tr/a-zA-Z\.0-9\-_//cd; + # This fixes an issue where columns being used in the ORDER BY statement + # can have the SQL that generates the value changed to become invalid - + # mainly affects time tracking. + if ($fragment =~ / AS (\w+)/) { + $fragment = $columns->{$1}->{'name'}; + } + else { + $fragment =~ tr/a-zA-Z\.0-9\-_//cd; + } push @selectnames, $fragment; } } @@ -881,7 +889,7 @@ while (my @row = $buglist_sth->fetchrow_array()) { # or because of human choice my %min_membercontrol; if (@bugidlist) { - my $sth = $dbh->prepare( + my $sth = $dbh->prepare( "SELECT DISTINCT bugs.bug_id, MIN(group_control_map.membercontrol) " . "FROM bugs " . "INNER JOIN bug_group_map " . -- cgit v1.2.3-24-g4f1b