brintos

brintos / llvm-project-archived public Read only

0
0
Text · 483 B · dcefca5 Raw
28 lines · cpp
1#include <cstdint>2#include <cstdio>3 4struct Simple {5  int x_;6  Simple() {7    x_ = 5;8  }9  ~Simple() {10    x_ += 1;11  }12};13 14Simple *volatile SimpleSink;15 16extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {17  if (Size < 4) return 0;18  if (Data[0] == 'F' && Data[1] == 'U' && Data[2] == 'Z' && Data[3] == 'Z') {19    {20      Simple S;21      SimpleSink = &S;22    }23    if (SimpleSink->x_) fprintf(stderr, "Failed to catch use-after-dtor\n");24  }25  return 0;26}27 28