diff --git a/src/image/png/fuzz.go b/src/image/png/fuzz.go index 688b6c99361339..1a4539a6d901a4 100644 --- a/src/image/png/fuzz.go +++ b/src/image/png/fuzz.go @@ -28,6 +28,7 @@ func Fuzz(data []byte) int { NoCompression, BestSpeed, BestCompression, + HuffmanOnly, } for _, l := range levels { var w bytes.Buffer diff --git a/src/image/png/fuzz_test.go b/src/image/png/fuzz_test.go index 4b639459e71598..07e276b8744943 100644 --- a/src/image/png/fuzz_test.go +++ b/src/image/png/fuzz_test.go @@ -50,6 +50,7 @@ func FuzzDecode(f *testing.F) { NoCompression, BestSpeed, BestCompression, + HuffmanOnly, } for _, l := range levels { var w bytes.Buffer diff --git a/src/image/png/writer.go b/src/image/png/writer.go index 0d747da17055cc..596ed3d3f7a826 100644 --- a/src/image/png/writer.go +++ b/src/image/png/writer.go @@ -59,6 +59,7 @@ const ( NoCompression CompressionLevel = -1 BestSpeed CompressionLevel = -2 BestCompression CompressionLevel = -3 + HuffmanOnly CompressionLevel = -4 // Positive CompressionLevel values are reserved to mean a numeric zlib // compression level, although that is not implemented yet. @@ -578,6 +579,8 @@ func levelToZlib(l CompressionLevel) int { return zlib.BestSpeed case BestCompression: return zlib.BestCompression + case HuffmanOnly: + return zlib.HuffmanOnly default: return zlib.DefaultCompression }