summaryrefslogtreecommitdiff
path: root/internal/media/image.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-04-25 14:45:44 +0200
committerLibravatar GitHub <noreply@github.com>2022-04-25 14:45:44 +0200
commiteeb78bd141ea69a59c4361fac2cfe6fc36df59b3 (patch)
treea79204ae9a98151791e06f94060f95cd2f61c6d9 /internal/media/image.go
parent[chore] Add two new test images for media processing (#424) (diff)
downloadgotosocial-eeb78bd141ea69a59c4361fac2cfe6fc36df59b3.tar.xz
[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
Diffstat (limited to 'internal/media/image.go')
-rw-r--r--internal/media/image.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/internal/media/image.go b/internal/media/image.go
index 4f2db0e95..cb26ad539 100644
--- a/internal/media/image.go
+++ b/internal/media/image.go
@@ -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
}