Make the fuzzers more reproducible
authorKurt Roeckx <kurt@roeckx.be>
Fri, 2 Dec 2016 18:34:54 +0000 (19:34 +0100)
committerKurt Roeckx <kurt@roeckx.be>
Fri, 2 Dec 2016 23:14:15 +0000 (00:14 +0100)
commitd69d8f904c9c558c7a9455ee816e494690d80ca8
tree727e69f282ae7e060371ed0d0cff2d22e4fec7c4
parent0282aeb690d63fab73a07191b63300a2fe30d212
Make the fuzzers more reproducible

We want to be in the same global state each time we come in
FuzzerTestOneInput(). There are various reasons why we might not be that
include:
- Initialization that happens on first use. This is mostly the
  RUN_ONCE() things, or loading of error strings.
- Results that get cached. For instance a stack that is sorted, RSA
  blinding that has been set up, ...

So I try to trigger as much as possible in FuzzerInitialize(), and for
things I didn't find out how to trigger this it needs to happen in
FuzzerTestOneInput().

Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #2023
fuzz/asn1parse.c
fuzz/bndiv.c
fuzz/cms.c
fuzz/conf.c
fuzz/crl.c
fuzz/ct.c
fuzz/server.c
fuzz/x509.c