+ Hardened GetOpt library

This commit is contained in:
garnier-quentin 2017-03-02 16:11:40 +01:00
parent 2b907e25e1
commit 2090aeb62c
1 changed files with 2 additions and 1 deletions

View File

@ -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);