Check if array elements exist before using them
It seems that in some recent upgrade here. Not always the entries we expect are returned. So we should first check if they exist. As to not spam the log. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
b0eec52c85
commit
42d56c9655
|
@ -165,7 +165,13 @@ class AmazonS3 extends \OC\Files\Storage\Common {
|
||||||
'MaxKeys' => 1,
|
'MaxKeys' => 1,
|
||||||
'Delimiter' => '/',
|
'Delimiter' => '/',
|
||||||
]);
|
]);
|
||||||
$this->directoryCache[$path] = ($result['Contents'][0]['Key'] === rtrim($path, '/') . '/') || $result['CommonPrefixes'];
|
|
||||||
|
if ((isset($result['Contents'][0]['Key']) && $result['Contents'][0]['Key'] === rtrim($path, '/') . '/')
|
||||||
|
|| isset($result['CommonPrefixes'])) {
|
||||||
|
$this->directoryCache[$path] = true;
|
||||||
|
} else {
|
||||||
|
$this->directoryCache[$path] = false;
|
||||||
|
}
|
||||||
} catch (S3Exception $e) {
|
} catch (S3Exception $e) {
|
||||||
if ($e->getStatusCode() === 403) {
|
if ($e->getStatusCode() === 403) {
|
||||||
$this->directoryCache[$path] = false;
|
$this->directoryCache[$path] = false;
|
||||||
|
|
Loading…
Reference in New Issue