]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Better lookup for openssl executable
authorDmitry Belyavskiy <beldmit@gmail.com>
Wed, 25 Jun 2025 15:33:16 +0000 (17:33 +0200)
committerMatt Caswell <matt@openssl.org>
Mon, 30 Jun 2025 09:42:05 +0000 (10:42 +0100)
Fixes #27891

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27895)

tools/c_rehash.in

index 4dd1b4468279f73506c5a0adc469acdc9d0ea748..7b574daef7f39744952b40b0f84b7cfec696cc0a 100644 (file)
@@ -63,10 +63,10 @@ if (defined(&Cwd::getcwd)) {
 my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':';
 $ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : "");
 
-if (! -x $openssl) {
+if (!(-f $openssl && -x $openssl)) {
     my $found = 0;
     foreach (split /$path_delim/, $ENV{PATH}) {
-        if (-x "$_/$openssl") {
+        if (-f "$_/$openssl" && -x "$_/$openssl") {
             $found = 1;
             $openssl = "$_/$openssl";
             last;
@@ -88,7 +88,7 @@ if (@ARGV) {
 
 if (-d $dirlist[0]) {
     chdir $dirlist[0];
-    $openssl="$pwd/$openssl" if (!-x $openssl);
+    $openssl="$pwd/$openssl" if (!(-f $openssl && -x $openssl));
     chdir $pwd;
 }