summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorbladewing <lukas@ifflaender-family.de>2020-07-14 23:10:53 +0200
committerlui87kw <lukas.ifflaender@uni-wuerzburg.de>2020-07-15 10:18:47 +0200
commit7dafd5831fad2c2be79c3df81fb973c00ec76287 (patch)
tree72388b772fe6d159ab973f84e4531a7eb49c801d /lib
parent3e8087bff1584e33f328486c36fd2a8255286bad (diff)
downloadnextcloud-server-7dafd5831fad2c2be79c3df81fb973c00ec76287.tar.gz
nextcloud-server-7dafd5831fad2c2be79c3df81fb973c00ec76287.zip
Avoid substr() error when strpos returns false
"Exception: substr() expects parameter 3 to be int, bool given" can occur on Line 378 $mimePart = substr($icon, 0, strpos($icon, '-')); This happens, when '-' is not found and strpos returns false instead of an int. When this occurs, e.g., Activity hangs. Signed-off-by: lui87kw <lukas.ifflaender@uni-wuerzburg.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Files/Type/Detection.php15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/private/Files/Type/Detection.php b/lib/private/Files/Type/Detection.php
index e8825037666..34caf072d98 100644
--- a/lib/private/Files/Type/Detection.php
+++ b/lib/private/Files/Type/Detection.php
@@ -373,12 +373,15 @@ class Detection implements IMimeTypeDetector {
}
// Try only the first part of the filetype
- $mimePart = substr($icon, 0, strpos($icon, '-'));
- try {
- $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/' . $mimePart . '.svg');
- return $this->mimetypeIcons[$mimetype];
- } catch (\RuntimeException $e) {
- // Image for the first part of the mimetype not found
+
+ if(strpos($icon, '-')) {
+ $mimePart = substr($icon, 0, strpos($icon, '-'));
+ try {
+ $this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/' . $mimePart . '.svg');
+ return $this->mimetypeIcons[$mimetype];
+ } catch (\RuntimeException $e) {
+ // Image for the first part of the mimetype not found
+ }
}
$this->mimetypeIcons[$mimetype] = $this->urlGenerator->imagePath('core', 'filetypes/file.svg');