mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02: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:
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user