fuzz.go raw
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 //go:build gofuzz
6
7 package tiff
8
9 import "bytes"
10
11 func 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 }
30