string.c: do not interpret '\\' before '\0' (CVE-2019-15846)
[users/heiko/exim.git] / test / src / locate.pl
index 6f752c13794c15d78f90c6492efdd0ab1bf7f3ab..ba74e030b60fdc0fb2ed1b760362aaffe8b4acec 100644 (file)
@@ -1,4 +1,6 @@
 #!/usr/bin/env perl
+
+use 5.010;
 use strict;
 use warnings;
 use File::Find;
@@ -8,6 +10,7 @@ my @dirs = grep { /^\// && -d } split(/:/, $ENV{PATH}), qw(
   /bin
   /usr/bin
   /usr/sbin
+  /usr/lib
   /usr/libexec
   /usr/local/bin
   /usr/local/sbin
@@ -39,7 +42,8 @@ sub locate {
     eval {
         find(
             sub {
-                return unless $tool eq $_ and -x $_ and -f _;
+                return $File::Find::prune = 1 unless -r -x -r;
+                return unless $tool eq $_ and -x and -f _;
                 die { found => $File::Find::name };
             },
             @dirs