Merge pull request #4894 from stloyd/patch-2
Be sure that configuration file can be manipulated by actual userpull/4933/head
commit
9e623f50e7
|
@ -25,7 +25,7 @@ use Composer\Util\Silencer;
|
||||||
class JsonConfigSource implements ConfigSourceInterface
|
class JsonConfigSource implements ConfigSourceInterface
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var \Composer\Json\JsonFile
|
* @var JsonFile
|
||||||
*/
|
*/
|
||||||
private $file;
|
private $file;
|
||||||
|
|
||||||
|
@ -140,6 +140,14 @@ class JsonConfigSource implements ConfigSourceInterface
|
||||||
$fallback = array_pop($args);
|
$fallback = array_pop($args);
|
||||||
|
|
||||||
if ($this->file->exists()) {
|
if ($this->file->exists()) {
|
||||||
|
if (!is_writable($this->file->getPath())) {
|
||||||
|
throw new \RuntimeException(sprintf('The file "%s" is not writable.', $this->file->getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_readable($this->file->getPath())) {
|
||||||
|
throw new \RuntimeException(sprintf('The file "%s" is not readable.', $this->file->getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
$contents = file_get_contents($this->file->getPath());
|
$contents = file_get_contents($this->file->getPath());
|
||||||
} elseif ($this->authConfig) {
|
} elseif ($this->authConfig) {
|
||||||
$contents = "{\n}\n";
|
$contents = "{\n}\n";
|
||||||
|
|
Loading…
Reference in New Issue