diff --git a/centreon-plugins/centreon/plugins/alternative/Getopt.pm b/centreon-plugins/centreon/plugins/alternative/Getopt.pm index f0c31da54..1d39cb448 100644 --- a/centreon-plugins/centreon/plugins/alternative/Getopt.pm +++ b/centreon-plugins/centreon/plugins/alternative/Getopt.pm @@ -40,7 +40,8 @@ sub get_assigned_value { my (%options) = @_; if (!defined($options{val}) || $options{val} eq '') { - if ($options{pos} + 1 < $options{num_args} && $ARGV[$options{pos} + 1] !~ /^--/) { + # Add defined also. Hardened code: already see: $ARGV[6] = undef for example + if ($options{pos} + 1 < $options{num_args} && defined($ARGV[$options{pos} + 1]) && $ARGV[$options{pos} + 1] !~ /^--/) { my $val = $ARGV[$options{pos} + 1]; splice @ARGV, $options{pos} + 1, 1; return ($options{num_args} - 1, $val);