Skip to content

Commit d412fd4

Browse files
committed
feat: support crash resistant gcov coverage
1 parent 1cbbc58 commit d412fd4

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

include/cifuzz/cifuzz.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,21 @@ static const int DOCTEST_ANON_VAR_15771531 = \
6262

6363
static void LLVMFuzzerTestOneInputNoReturn(const uint8_t *data, size_t size);
6464

65+
#ifdef CIFUZZ_GCOV
66+
CIFUZZ_C_LINKAGE void __gcov_dump();
67+
CIFUZZ_C_LINKAGE void __gcov_reset();
6568
CIFUZZ_C_LINKAGE int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
6669
LLVMFuzzerTestOneInputNoReturn(data, size);
70+
__gcov_dump();
71+
__gcov_reset();
6772
return 0;
6873
}
74+
#else
75+
CIFUZZ_C_LINKAGE int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
76+
LLVMFuzzerTestOneInputNoReturn(data, size);
77+
return 0;
78+
}
79+
#endif
6980

7081
#define FUZZ_TEST void LLVMFuzzerTestOneInputNoReturn
7182

0 commit comments

Comments
 (0)