forked from cerc-io/plugeth
tests/fuzzers: fix false positive in bitutil fuzzer (#22076)
This commit is contained in:
parent
9c6b5b904a
commit
b13e9c4e3d
@ -51,7 +51,19 @@ func fuzzDecode(data []byte) int {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
if comp := bitutil.CompressBytes(blob); !bytes.Equal(comp, data) {
|
// re-compress it (it's OK if the re-compressed differs from the
|
||||||
|
// original - the first input may not have been compressed at all)
|
||||||
|
comp := bitutil.CompressBytes(blob)
|
||||||
|
if len(comp) > len(blob) {
|
||||||
|
// After compression, it must be smaller or equal
|
||||||
|
panic("bad compression")
|
||||||
|
}
|
||||||
|
// But decompressing it once again should work
|
||||||
|
decomp, err := bitutil.DecompressBytes(data, 1024)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
if !bytes.Equal(decomp, blob) {
|
||||||
panic("content mismatch")
|
panic("content mismatch")
|
||||||
}
|
}
|
||||||
return 1
|
return 1
|
||||||
|
Loading…
Reference in New Issue
Block a user