Package: mrtg-rrd
Version: 0.7-5.1
Severity: grave
Tags: patch
Justification: renders package unusable
Dear Maintainer,
The fix for bug #787608 has left the package in an unusable state (the result
of the execution of mrtg-rrd.cgi is a blank page).
The cause is the blind removal of the defined function. At least in 3 of the 4
instances it should be replaced with exists. I don't know about the fourth
instance since I am not a Perl expert.
Please, see the proposed patch below. It should be applied instead of
no-defined-hash-array.patch, i.e. against the original source.
--- a/mrtg-rrd.cgi
+++ b/mrtg-rrd.cgi
@@ -496,7 +496,7 @@ sub common_args($$$)
{
my ($name, $target, $q) = @_;
- return @{$target->{args}} if defined @{$target->{args}};
+ return @{$target->{args}} if exists $target->{args};
my $noi = 1 if $target->{options}{noi};
my $noo = 1 if $target->{options}{noo};
@@ -521,7 +521,7 @@ sub common_args($$$)
$target->{rrd} = $dir . '/' . $tdir . $name . '.rrd';
%{$target->{options}} = ()
- unless defined %{$target->{options}};
+ unless %{$target->{options}};
$dir = $cfg->{workdir};
$dir = $cfg->{imagedir}
@@ -908,7 +908,7 @@ EOF
print $directories{$dir}{bodytag};
my $subdirs_printed;
- if (defined @{$directories{$dir}{subdir}}) {
+ if (exists $directories{$dir}{subdir}) {
$subdirs_printed = 1;
print <<EOF;
<H1>MRTG subdirectories in the directory $dir1</H1>
@@ -921,7 +921,7 @@ EOF
print "</UL>\n";
}
- if (defined @{$directories{$dir}{target}}) {
+ if (exists $directories{$dir}{target}) {
print "<HR>\n" if defined $subdirs_printed;
print <<EOF;
<H1>MRTG graphs in the directory $dir1</H1>