// 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 | |
} |