| // 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. | |
| //go:build gofuzz | |
| package tiff | |
| import "bytes" | |
| 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 | |
| } | |
| var w bytes.Buffer | |
| err = Encode(&w, img, nil) | |
| if err != nil { | |
| panic(err) | |
| } | |
| return 1 | |
| } |