1// Copyright 2019 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build gofuzz
6
7package tiff
8
9import "bytes"
10
11func Fuzz(data []byte) int {
12 cfg, err := DecodeConfig(bytes.NewReader(data))
13 if err != nil {
14 return 0
15 }
16 if cfg.Width*cfg.Height > 1e6 {
17 return 0
18 }
19 img, err := Decode(bytes.NewReader(data))
20 if err != nil {
21 return 0
22 }
23 var w bytes.Buffer
24 err = Encode(&w, img, nil)
25 if err != nil {
26 panic(err)
27 }
28 return 1
29}