Commit 324ea8a4 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 793893: Tabular reports crash when no format parameter is defined

r=glob a=LpSolit
parent dfa185b3
......@@ -117,10 +117,12 @@ $width <= 2000 || ThrowUserError("chart_too_large");
|| ThrowCodeError("invalid_dimensions");
$height <= 2000 || ThrowUserError("chart_too_large");
my $formatparam = $cgi->param('format') || '';
# These shenanigans are necessary to make sure that both vertical and
# horizontal 1D tables convert to the correct dimension when you ask to
# display them as some sort of chart.
if (defined $cgi->param('format') && $cgi->param('format') eq "table") {
if ($formatparam eq "table") {
if ($col_field && !$row_field) {
# 1D *tables* should be displayed vertically (with a row_field only)
$row_field = $col_field;
......@@ -243,7 +245,7 @@ $vars->{'row_names'} = \@row_names;
$vars->{'tbl_names'} = \@tbl_names;
# Below a certain width, we don't see any bars, so there needs to be a minimum.
if ($cgi->param('format') eq "bar") {
if ($formatparam eq "bar") {
my $min_width = (scalar(@col_names) || 1) * 20;
if (!$cgi->param('cumulate')) {
......@@ -259,8 +261,6 @@ $vars->{'query'} = $query;
$vars->{'saved_report_id'} = $cgi->param('saved_report_id');
$vars->{'debug'} = $cgi->param('debug');
my $formatparam = $cgi->param('format');
if ($action eq "wrap") {
# So which template are we using? If action is "wrap", we will be using
# no format (it gets passed through to be the format of the actual data),
......@@ -269,7 +269,6 @@ if ($action eq "wrap") {
# data, or images generated by calling report.cgi again with action as
# "plot".
$formatparam =~ s/[^a-zA-Z\-]//g;
trick_taint($formatparam);
$vars->{'format'} = $formatparam;
$formatparam = '';
......
......@@ -90,7 +90,6 @@
'formaturl',
'other_format.name',
'switchbase',
'format',
'cumulate',
],
......
......@@ -123,7 +123,7 @@
<a href="query.cgi?[% switchbase %]&amp;format=report-table">Edit this report</a>
[% ELSE %]
<a href="query.cgi?[% switchbase %]&amp;chart_format=
[%~ format %]&amp;format=report-graph&amp;cumulate=[% cumulate %]">
[%~ format FILTER uri %]&amp;format=report-graph&amp;cumulate=[% cumulate %]">
Edit this report</a>
[% END %]
</td>
......@@ -135,7 +135,7 @@
[% ELSE %]
<form method="get" action="report.cgi">
<input type="submit" id="remember" value="Remember report"> as
<input type="hidden" name="query" value="[% switchbase %]&amp;format=[% format FILTER html %]&amp;action=wrap">
<input type="hidden" name="query" value="[% switchbase %]&amp;format=[% format FILTER uri %]&amp;action=wrap">
<input type="hidden" name="action" value="add">
<input type="hidden" name="token" value="[% issue_hash_token(['save_report']) FILTER html %]">
<input type="text" id="name" name="name" size="20" value="" maxlength="64">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment