Commit e3ff0892 authored by Richard Levitte's avatar Richard Levitte
Browse files

Small fix in OpenSSL::Test



Be careful when shifting in a function argument, you end up changing
the caller's value.  Instead, when it is an array, make a shallow copy
and shift in that instead.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 5beb63c4
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -695,8 +695,10 @@ sub __build_cmd {

    my $num = shift;
    my $path_builder = shift;
    my $cmd = __fixup_cmd($path_builder->(shift @{$_[0]}));
    my @args = @{$_[0]}; shift;
    # Make a copy to not destroy the caller's array
    my @cmdarray = ( @{$_[0]} ); shift;
    my $cmd = __fixup_cmd($path_builder->(shift @cmdarray));
    my @args = @cmdarray;
    my %opts = @_;

    return () if !$cmd;