pixie/tests/fuzz_jpg.nim
Ryan Oldenburg 3555ac1552 fuzz better
2021-01-03 12:12:12 -06:00

26 lines
565 B
Nim

import random, strformat, pixie/fileformats/jpg, pixie/common
randomize()
let original = cast[seq[uint8]](readFile("tests/images/jpg/jpeg420exif.jpg"))
for i in 0 ..< 10_000:
var data = original
let
pos = rand(data.len)
value = rand(255).uint8
data[pos] = value
echo &"{i} {pos} {value}"
try:
let img = decodeJpg(data)
doAssert img.height > 0 and img.width > 0
except PixieError:
discard
data = data[0 ..< pos]
try:
let img = decodeJpg(data)
doAssert img.height > 0 and img.width > 0
except PixieError:
discard