diff options
-rw-r--r-- | lib/private/User/Manager.php | 5 | ||||
-rw-r--r-- | lib/private/legacy/OC_Image.php | 20 |
2 files changed, 17 insertions, 8 deletions
diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index 12c615d500b..1827be61a7a 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -158,7 +158,7 @@ class Manager extends PublicEmitter implements IUserManager { return $this->cachedUsers[$uid]; } - $cachedBackend = $this->cache->get($uid); + $cachedBackend = $this->cache->get(sha1($uid)); if ($cachedBackend !== null && isset($this->backends[$cachedBackend])) { // Cache has the info of the user backend already, so ask that one directly $backend = $this->backends[$cachedBackend]; @@ -174,7 +174,8 @@ class Manager extends PublicEmitter implements IUserManager { } if ($backend->userExists($uid)) { - $this->cache->set($uid, $i, 300); + // Hash $uid to ensure that only valid characters are used for the cache key + $this->cache->set(sha1($uid), $i, 300); return $this->getUserObject($uid, $backend); } } diff --git a/lib/private/legacy/OC_Image.php b/lib/private/legacy/OC_Image.php index 59d51773528..890df2241af 100644 --- a/lib/private/legacy/OC_Image.php +++ b/lib/private/legacy/OC_Image.php @@ -562,9 +562,13 @@ class OC_Image implements \OCP\IImage { case IMAGETYPE_GIF: if (imagetypes() & IMG_GIF) { $this->resource = imagecreatefromgif($imagePath); - // Preserve transparency - imagealphablending($this->resource, true); - imagesavealpha($this->resource, true); + if ($this->resource) { + // Preserve transparency + imagealphablending($this->resource, true); + imagesavealpha($this->resource, true); + } else { + $this->logger->debug('OC_Image->loadFromFile, GIF image not valid: ' . $imagePath, ['app' => 'core']); + } } else { $this->logger->debug('OC_Image->loadFromFile, GIF images not supported: ' . $imagePath, ['app' => 'core']); } @@ -583,9 +587,13 @@ class OC_Image implements \OCP\IImage { case IMAGETYPE_PNG: if (imagetypes() & IMG_PNG) { $this->resource = @imagecreatefrompng($imagePath); - // Preserve transparency - imagealphablending($this->resource, true); - imagesavealpha($this->resource, true); + if ($this->resource) { + // Preserve transparency + imagealphablending($this->resource, true); + imagesavealpha($this->resource, true); + } else { + $this->logger->debug('OC_Image->loadFromFile, PNG image not valid: ' . $imagePath, ['app' => 'core']); + } } else { $this->logger->debug('OC_Image->loadFromFile, PNG images not supported: ' . $imagePath, ['app' => 'core']); } |