summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerInternal.h
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2015-10-02 23:34:06 +0000
committerKostya Serebryany <kcc@google.com>2015-10-02 23:34:06 +0000
commit20bb5e71b25ba3f2debef4035dc8b5def7d1763c (patch)
treea5cd689d494488459339592e88766820a5d1085f /llvm/lib/Fuzzer/FuzzerInternal.h
parent7dfaaf3891993fb8bbce1c509d263064c7301a19 (diff)
downloadbcm5719-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.h13
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
OpenPOWER on IntegriCloud