stedolan / crowbar

Property fuzzing for OCaml
MIT License
180 stars 31 forks source link

Replication of crashe #54

Open dinosaure opened 5 years ago

dinosaure commented 5 years ago

I try currently to use crowbar and afl to test an implementation of RFC 1951 available here: https://github.com/dinosaure/z Fuzzer is available here: https://github.com/dinosaure/z/blob/master/fuzz/fuzz.ml#L156

hxd is necessary (to pin) for debugging. afl-fuzz got an error with this output:

$ xxd fuzz0.in
00000000: 01f4 ffff ff00 0000 0000 0000 1a00      ..............

Which is the output of:

    [# 255; #1 [0; 0]]

In other words, a Literal '\255' and a Copy (0, 0). So I launched it on my server, get back fuzz0.in and run locally the same fuzzer on my computer:

$ dune exec fuzz/fuzz.exe -- fuzz0.in
z/zlib: PASS

It seems that the result differ from what afl-fuzz said on my server. On my server, I ran the same command and it tells me the expected error. On my computer, it seems that Copy (0, 0) does not appear and fuzzer can not get the error.

Finally, I can not reproduce error from my server locally with:

I can deliver more details if you want.