mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-15 23:47:26 +01:00
55 lines
1000 B
Go
55 lines
1000 B
Go
|
// Code generated by gen.go. DO NOT EDIT.
|
||
|
|
||
|
// Copyright 2019 The Go Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
// +build gofuzz
|
||
|
|
||
|
package png
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"fmt"
|
||
|
)
|
||
|
|
||
|
func Fuzz(data []byte) int {
|
||
|
cfg, err := DecodeConfig(bytes.NewReader(data))
|
||
|
if err != nil {
|
||
|
return 0
|
||
|
}
|
||
|
if cfg.Width*cfg.Height > 1e6 {
|
||
|
return 0
|
||
|
}
|
||
|
img, err := Decode(bytes.NewReader(data))
|
||
|
if err != nil {
|
||
|
return 0
|
||
|
}
|
||
|
levels := []CompressionLevel{
|
||
|
DefaultCompression,
|
||
|
NoCompression,
|
||
|
BestSpeed,
|
||
|
BestCompression,
|
||
|
}
|
||
|
for _, l := range levels {
|
||
|
var w bytes.Buffer
|
||
|
e := &Encoder{CompressionLevel: l}
|
||
|
err = e.Encode(&w, img)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
img1, err := Decode(&w)
|
||
|
if err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
got := img1.Bounds()
|
||
|
want := img.Bounds()
|
||
|
if !got.Eq(want) {
|
||
|
fmt.Printf("bounds0: %#v\n", want)
|
||
|
fmt.Printf("bounds1: %#v\n", got)
|
||
|
panic("bounds have changed")
|
||
|
}
|
||
|
}
|
||
|
return 1
|
||
|
}
|