Merge pull request #11461 from nextcloud/feature/noid/drop-find-and-pass-additional-paths
Dont use find to lookup binaries
This commit is contained in:
commit
1034efd640
1 changed files with 1 additions and 14 deletions
|
@ -505,20 +505,7 @@ class OC_Helper {
|
|||
if (self::is_function_enabled('exec')) {
|
||||
$exeSniffer = new ExecutableFinder();
|
||||
// Returns null if nothing is found
|
||||
$result = $exeSniffer->find($program);
|
||||
if (empty($result)) {
|
||||
$paths = getenv('PATH');
|
||||
if (empty($paths)) {
|
||||
$paths = '/usr/local/bin /usr/bin /opt/bin /bin';
|
||||
} else {
|
||||
$paths = str_replace(':',' ',getenv('PATH'));
|
||||
}
|
||||
$command = 'find ' . $paths . ' -name ' . escapeshellarg($program) . ' 2> /dev/null';
|
||||
exec($command, $output, $returnCode);
|
||||
if (count($output) > 0) {
|
||||
$result = escapeshellcmd($output[0]);
|
||||
}
|
||||
}
|
||||
$result = $exeSniffer->find($program, null, ['/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin', '/opt/bin']);
|
||||
}
|
||||
// store the value for 5 minutes
|
||||
$memcache->set($program, $result, 300);
|
||||
|
|
Loading…
Reference in a new issue