D7560: fuzz: always define LLVMFuzzerInitialize() even if we don't need it

durin42 (Augie Fackler) phabricator at mercurial-scm.org
Fri Dec 6 15:51:18 EST 2019


durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  This will make it easier to test our fuzzers outside oss-fuzz.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D7560

AFFECTED FILES
  contrib/fuzz/bdiff.cc
  contrib/fuzz/mpatch.cc
  contrib/fuzz/xdiff.cc

CHANGE DETAILS

diff --git a/contrib/fuzz/xdiff.cc b/contrib/fuzz/xdiff.cc
--- a/contrib/fuzz/xdiff.cc
+++ b/contrib/fuzz/xdiff.cc
@@ -14,6 +14,11 @@
 
 extern "C" {
 
+int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+	return 0;
+}
+
 int hunk_consumer(long a1, long a2, long b1, long b2, void *priv)
 {
 	// TODO: probably also test returning -1 from this when things break?
diff --git a/contrib/fuzz/mpatch.cc b/contrib/fuzz/mpatch.cc
--- a/contrib/fuzz/mpatch.cc
+++ b/contrib/fuzz/mpatch.cc
@@ -14,6 +14,11 @@
 
 #include "fuzzutil.h"
 
+extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+	return 0;
+}
+
 // To avoid having too many OOMs from the fuzzer infrastructure, we'll
 // skip patch application if the resulting fulltext would be bigger
 // than 10MiB.
diff --git a/contrib/fuzz/bdiff.cc b/contrib/fuzz/bdiff.cc
--- a/contrib/fuzz/bdiff.cc
+++ b/contrib/fuzz/bdiff.cc
@@ -14,6 +14,11 @@
 extern "C" {
 #include "bdiff.h"
 
+extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+	return 0;
+}
+
 int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
 {
 	FuzzedDataProvider provider(Data, Size);



To: durin42, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list