1
0
Fork 0

Ensure exception is thrown when classmaps are requested for corrupted or binary files. Refs #4885

pull/4886/head
Niels Keurentjes 2016-02-06 02:00:54 +01:00
parent 101fca9071
commit c2d9960898
1 changed files with 5 additions and 5 deletions

View File

@ -123,14 +123,14 @@ class ClassMapGenerator
} }
try { try {
$contents = Silencer::call('php_strip_whitespace', $path); $contents = @php_strip_whitespace($path);
if (!$contents) { if (!$contents) {
if (!file_exists($path)) { if (!file_exists($path)) {
throw new \Exception('File does not exist'); throw new \RuntimeException(sprintf('File at "%s" does not exist, check your classmap definitions', $path));
} } elseif (!is_readable($path)) {
if (!is_readable($path)) { throw new \RuntimeException(sprintf('File at "%s" is not readable, check its permissions', $path));
throw new \Exception('File is not readable');
} }
throw new \RuntimeException(sprintf('File at "%s" could not be parsed as PHP - it may be binary or corrupted', $path));
} }
} catch (\Exception $e) { } catch (\Exception $e) {
throw new \RuntimeException('Could not scan for classes inside '.$path.": \n".$e->getMessage(), 0, $e); throw new \RuntimeException('Could not scan for classes inside '.$path.": \n".$e->getMessage(), 0, $e);