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
238435f9b5
commit
2cafd81d23
|
@ -164,7 +164,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