diff --git a/lib/CLI.php b/lib/CLI.php index 825441e..38614a6 100644 --- a/lib/CLI.php +++ b/lib/CLI.php @@ -330,11 +330,15 @@ USAGE_TEXT; protected function resolvePID(string $pidfile): string { $dir = dirname($pidfile); $file = basename($pidfile); - if ($base = @realpath($dir)) { + if (!strlen($file)) { + throw new \Exception("Specified PID file location must be a regular file"); + } elseif ($base = @realpath($dir)) { $out = "$base/$file"; if (file_exists($out)) { if (!is_writable($out)) { throw new \Exception("PID file is not writable"); + } elseif (!is_file($out)) { + throw new \Exception("Specified PID file location must be a regular file"); } } elseif (!is_writable($base)) { throw new \Exception("Cannot create PID file");