diff options
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerInternal.h')
-rw-r--r-- | llvm/lib/Fuzzer/FuzzerInternal.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerInternal.h b/llvm/lib/Fuzzer/FuzzerInternal.h index 78e9c2208b6..3049167c62b 100644 --- a/llvm/lib/Fuzzer/FuzzerInternal.h +++ b/llvm/lib/Fuzzer/FuzzerInternal.h @@ -176,12 +176,19 @@ class SimpleUserSuppliedFuzzer: public UserSuppliedFuzzer { public: SimpleUserSuppliedFuzzer(FuzzerRandomBase *Rand, UserCallback Callback) : UserSuppliedFuzzer(Rand), Callback(Callback) {} - virtual void TargetFunction(const uint8_t *Data, size_t Size) { - return Callback(Data, Size); + + SimpleUserSuppliedFuzzer(FuzzerRandomBase *Rand, DeprecatedUserCallback Callback) + : UserSuppliedFuzzer(Rand), DeprecatedCallback(Callback) {} + + virtual int TargetFunction(const uint8_t *Data, size_t Size) override { + if (Callback) return Callback(Data, Size); + DeprecatedCallback(Data, Size); + return 0; } private: - UserCallback Callback; + DeprecatedUserCallback DeprecatedCallback = nullptr; + UserCallback Callback = nullptr; }; }; // namespace fuzzer |