mirror of
https://github.com/friendica/friendica
synced 2024-11-11 12:22:55 +00:00
Fix unsupported animated webp parsing
This commit is contained in:
parent
c4ec80e839
commit
783b05cbb1
1 changed files with 17 additions and 8 deletions
|
@ -159,15 +159,24 @@ class Image
|
|||
}
|
||||
|
||||
$this->valid = false;
|
||||
$this->image = @imagecreatefromstring($data);
|
||||
if ($this->image !== false) {
|
||||
$this->width = imagesx($this->image);
|
||||
$this->height = imagesy($this->image);
|
||||
$this->valid = true;
|
||||
imagealphablending($this->image, false);
|
||||
imagesavealpha($this->image, true);
|
||||
try {
|
||||
$this->image = @imagecreatefromstring($data);
|
||||
if ($this->image !== false) {
|
||||
$this->width = imagesx($this->image);
|
||||
$this->height = imagesy($this->image);
|
||||
$this->valid = true;
|
||||
imagealphablending($this->image, false);
|
||||
imagesavealpha($this->image, true);
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
} catch (\Throwable $error) {
|
||||
/** @see https://github.com/php/doc-en/commit/d09a881a8e9059d11e756ee59d75bf404d6941ed */
|
||||
if (strstr($error->getMessage(), "gd-webp cannot allocate temporary buffer")) {
|
||||
DI::logger()->notice('Image is probably a kind of unsupported, animated GID', ['error' => $error]);
|
||||
} else {
|
||||
DI::logger()->warning('Unexpected throwable.', ['error' => $error]);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue