1 #include <cstdint> 2 #include <cstdio> 3 4 struct Simple { 5 int x_; SimpleSimple6 Simple() { 7 x_ = 5; 8 } ~SimpleSimple9 ~Simple() { 10 x_ += 1; 11 } 12 }; 13 14 Simple *volatile SimpleSink; 15 LLVMFuzzerTestOneInput(const uint8_t * Data,size_t Size)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