util/wrap.pl.in: Use parentheses so `kill` gets all its arguments
authorRichard Levitte <levitte@openssl.org>
Wed, 14 Sep 2022 05:07:41 +0000 (07:07 +0200)
committerTomas Mraz <tomas@openssl.org>
Thu, 15 Sep 2022 06:42:23 +0000 (08:42 +0200)
In perl, this may be ambiguous:

    fn (expr1), expr2

Is the comma (which may be `=>` just as well in this case) a separator
between arguments to `fn`, or is it the comma operator, separating the
expressions `fn(expr1)` and `expr2`?  It appears that in this particular
case, perl takes the existing parentheses to mean the latter.  When the
former was intended, extra parentheses are required.

Fixes #19209

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19211)

util/wrap.pl.in

index de4692f31999e3f301a8843b7dd17872a701d80c..5126513d4c3e91a58273f0d425b5bca60ad4dd1d 100644 (file)
@@ -69,7 +69,7 @@ die "wrap.pl: Failed to execute '", join(' ', @cmd), "': $!\n"
     if $waitcode == -1;
 
 # When the subprocess aborted on a signal, we simply raise the same signal.
-kill ($? & 255) => $$ if ($? & 255) != 0;
+kill(($? & 255) => $$) if ($? & 255) != 0;
 
 # If that didn't stop this script, mimic what Unix shells do, by
 # converting the signal code to an exit code by setting the high bit.