mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-11 07:57:29 -06:00
[bugfix] Allow processing of .png files where checksum is not correct (#487)
* add png stripping code from google/wuffs * experiment with stripping data from pngs * add test images * use StrippedPngDecode for pngs * add StrippedPngDecode func * update tests for (no)alphachannel pngs * nolint on copied function
This commit is contained in:
parent
d5fe729cf4
commit
eeb78bd141
8 changed files with 352 additions and 3 deletions
|
|
@ -74,7 +74,7 @@ func decodeImage(r io.Reader, contentType string) (*imageMeta, error) {
|
|||
case mimeImageJpeg:
|
||||
i, err = jpeg.Decode(r)
|
||||
case mimeImagePng:
|
||||
i, err = png.Decode(r)
|
||||
i, err = StrippedPngDecode(r)
|
||||
default:
|
||||
err = fmt.Errorf("content type %s not recognised", contentType)
|
||||
}
|
||||
|
|
@ -117,7 +117,7 @@ func deriveThumbnail(r io.Reader, contentType string, createBlurhash bool) (*ima
|
|||
case mimeImageJpeg:
|
||||
i, err = jpeg.Decode(r)
|
||||
case mimeImagePng:
|
||||
i, err = png.Decode(r)
|
||||
i, err = StrippedPngDecode(r)
|
||||
case mimeImageGif:
|
||||
i, err = gif.Decode(r)
|
||||
default:
|
||||
|
|
@ -175,7 +175,7 @@ func deriveStaticEmoji(r io.Reader, contentType string) (*imageMeta, error) {
|
|||
|
||||
switch contentType {
|
||||
case mimeImagePng:
|
||||
i, err = png.Decode(r)
|
||||
i, err = StrippedPngDecode(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue