diff options
author | Morris Jobke <hey@morrisjobke.de> | 2019-04-08 15:33:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-08 15:33:21 +0100 |
commit | f473d7c46aab330927356a3b0f47c8d4960a6ac2 (patch) | |
tree | f81853e1efe746cd80da7b7e0375cdf125755843 /lib | |
parent | 2b67c7d0259ae9726ee308d3ab1a8a9d28a07367 (diff) | |
parent | 5d360bd16f345e395f7650998e8ee4a5d252c2b5 (diff) | |
download | nextcloud-server-f473d7c46aab330927356a3b0f47c8d4960a6ac2.tar.gz nextcloud-server-f473d7c46aab330927356a3b0f47c8d4960a6ac2.zip |
Merge pull request #14989 from nextcloud/enh/check_failing_putcontent_appdata
Harden appdata putcontent
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Files/SimpleFS/SimpleFile.php | 13 | ||||
-rw-r--r-- | lib/public/Files/SimpleFS/ISimpleFile.php | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/private/Files/SimpleFS/SimpleFile.php b/lib/private/Files/SimpleFS/SimpleFile.php index 7b83e9372f7..9c9ca10650c 100644 --- a/lib/private/Files/SimpleFS/SimpleFile.php +++ b/lib/private/Files/SimpleFS/SimpleFile.php @@ -99,9 +99,14 @@ class SimpleFile implements ISimpleFile { * * @param string|resource $data * @throws NotPermittedException + * @throws NotFoundException */ public function putContent($data) { - $this->file->putContent($data); + try { + return $this->file->putContent($data); + } catch (NotFoundException $e) { + $this->checkFile(); + } } /** @@ -119,7 +124,11 @@ class SimpleFile implements ISimpleFile { while ($cur->stat() === false) { $parent = $cur->getParent(); - $cur->delete(); + try { + $cur->delete(); + } catch (NotFoundException $e) { + // Just continue then + } $cur = $parent; } diff --git a/lib/public/Files/SimpleFS/ISimpleFile.php b/lib/public/Files/SimpleFS/ISimpleFile.php index a3cd3245cc7..b00f5c482c6 100644 --- a/lib/public/Files/SimpleFS/ISimpleFile.php +++ b/lib/public/Files/SimpleFS/ISimpleFile.php @@ -80,6 +80,7 @@ interface ISimpleFile { * * @param string|resource $data * @throws NotPermittedException + * @throws NotFoundException * @since 11.0.0 */ public function putContent($data); |