diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2010-04-12 15:36:33 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2010-04-12 15:36:33 +0200 |
commit | 7a661c7aed2a0bad4ce1e3786bc707cd2b07c128 (patch) | |
tree | a61b0d7d8c42f6710c4e95dd61da7dd7a82b5e7c /plugins-scripts | |
parent | 08f83072048f2c4c783c3216f5933f04b191847f (diff) | |
download | monitoring-plugins-7a661c7aed2a0bad4ce1e3786bc707cd2b07c128.tar.gz |
Fix Debian bug #545940: Failure when run via ePN
If Perl's "shift" function is called outside of a subroutine and without
any argument, it usually shifts @ARGV. However, if a plugin is executed
via ePN, such a call will shift @_ instead, so we must explicitly
specify @ARGV for this to work as expected.
This fixes Debian bug #545940, see: http://bugs.debian.org/545940
Commit de7191e3424e02ba278a39b86e8b1906a25d0362 fixed the same issue for
check_disk_smb.
(Reported by Hendrik Jaeger, forwarded by Jan Wagner.)
Diffstat (limited to 'plugins-scripts')
-rwxr-xr-x | plugins-scripts/check_ircd.pl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/plugins-scripts/check_ircd.pl b/plugins-scripts/check_ircd.pl index 3fbce2e4..42a9bca9 100755 --- a/plugins-scripts/check_ircd.pl +++ b/plugins-scripts/check_ircd.pl @@ -187,19 +187,19 @@ MAIN: if ($opt_h) {print_help(); exit $ERRORS{'OK'};} - ($opt_H) || ($opt_H = shift) || usage("Host name/address not specified\n"); + ($opt_H) || ($opt_H = shift @ARGV) || usage("Host name/address not specified\n"); my $remotehost = $1 if ($opt_H =~ /([-.A-Za-z0-9]+)/); ($remotehost) || usage("Invalid host: $opt_H\n"); - ($opt_w) || ($opt_w = shift) || ($opt_w = 50); + ($opt_w) || ($opt_w = shift @ARGV) || ($opt_w = 50); my $warn = $1 if ($opt_w =~ /^([0-9]+)$/); ($warn) || usage("Invalid warning threshold: $opt_w\n"); - ($opt_c) || ($opt_c = shift) || ($opt_c = 100); + ($opt_c) || ($opt_c = shift @ARGV) || ($opt_c = 100); my $crit = $1 if ($opt_c =~ /^([0-9]+)$/); ($crit) || usage("Invalid critical threshold: $opt_c\n"); - ($opt_p) || ($opt_p = shift) || ($opt_p = 6667); + ($opt_p) || ($opt_p = shift @ARGV) || ($opt_p = 6667); my $remoteport = $1 if ($opt_p =~ /^([0-9]+)$/); ($remoteport) || usage("Invalid port: $opt_p\n"); |