diff options
| author | Kostya Serebryany <kcc@google.com> | 2015-10-02 23:34:06 +0000 |
|---|---|---|
| committer | Kostya Serebryany <kcc@google.com> | 2015-10-02 23:34:06 +0000 |
| commit | 20bb5e71b25ba3f2debef4035dc8b5def7d1763c (patch) | |
| tree | a5cd689d494488459339592e88766820a5d1085f /llvm/lib/Fuzzer/FuzzerInternal.h | |
| parent | 7dfaaf3891993fb8bbce1c509d263064c7301a19 (diff) | |
| download | bcm5719-llvm-20bb5e71b25ba3f2debef4035dc8b5def7d1763c.tar.gz bcm5719-llvm-20bb5e71b25ba3f2debef4035dc8b5def7d1763c.zip | |
[libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated.
llvm-svn: 249214
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 |

