Added undefined behavior sanitizer.

Combined common sanitizer flags.
Added fuzzers.
This commit is contained in:
Chad Fraleigh 2023-07-10 18:35:34 -07:00
parent 5022a9c610
commit 5f6bbd3eb9
No known key found for this signature in database
GPG key ID: 2415C39758458A8F
23 changed files with 813 additions and 4 deletions

View file

@ -0,0 +1,33 @@
#include <thread>
#include "fuzzing.h"
static unsigned int counter = 0;
void
fuzzing_tick(void)
{
counter++;
}
void
fuzzing_throttle(void)
{
unsigned int delay;
// Give queues time to drain (avoid OOM or crash)
// - Too high a delay slows down fuzzing
// - Too low a delay causes intermittent crash on exit
delay = 50 + (counter / 50);
counter = 0;
if(delay > 5000)
delay = 5000;
std::this_thread::sleep_for (std::chrono::milliseconds(delay));
}