aboutsummaryrefslogtreecommitdiffstats
path: root/report.cgi
diff options
context:
space:
mode:
authormyk%mozilla.org <>2002-11-08 07:28:38 +0000
committermyk%mozilla.org <>2002-11-08 07:28:38 +0000
commitfeb2db26899e2bf8075850641ae627c253238bcd (patch)
tree4f27bac134162b1a8705cb76e26c903b0d495229 /report.cgi
parent12da0dd5cc25944a940b0264cc7291ba7b43a3de (diff)
downloadbugs-feb2db26899e2bf8075850641ae627c253238bcd.tar
bugs-feb2db26899e2bf8075850641ae627c253238bcd.tar.gz
bugs-feb2db26899e2bf8075850641ae627c253238bcd.tar.bz2
bugs-feb2db26899e2bf8075850641ae627c253238bcd.tar.xz
bugs-feb2db26899e2bf8075850641ae627c253238bcd.zip
Fix for bug 178800: fixes taint failure in graphical charts with Perl 5.6.0
r=gerv a=justdave
Diffstat (limited to 'report.cgi')
-rwxr-xr-xreport.cgi11
1 files changed, 11 insertions, 0 deletions
diff --git a/report.cgi b/report.cgi
index 4c5952949..91d5074bc 100755
--- a/report.cgi
+++ b/report.cgi
@@ -109,6 +109,17 @@ $columns{'target_milestone'} = "bugs.target_milestone";
# so that we always select 3 items in the query.
$columns{''} = "42217354";
+# Validate the values in the axis fields or throw an error.
+!$row_field
+ || ($columns{$row_field} && trick_taint($row_field))
+ || ThrowCodeError("report_axis_invalid", { fld=>"x", val=>$row_field });
+!$col_field
+ || ($columns{$col_field} && trick_taint($col_field))
+ || ThrowCodeError("report_axis_invalid", { fld=>"y", val=>$col_field });
+!$tbl_field
+ || ($columns{$tbl_field} && trick_taint($tbl_field))
+ || ThrowCodeError("report_axis_invalid", { fld=>"z", val=>$tbl_field });
+
my @axis_fields = ($row_field, $col_field, $tbl_field);
my @selectnames = map($columns{$_}, @axis_fields);