As is shown in a fuzz driver example of library curl, a main function exists in the code:
|
// Main function for fuzzing |
|
int main(int argc, char **argv) { |
|
if (argc < 2) { |
|
fprintf(stderr, "Usage: %s <input_file>\n", argv[0]); |
|
return 1; |
|
} |
However, all Libfuzzer drivers are required to use the LLVMFuzzerTestOneInput function as the entry of program. This is an obviously abnormal fuzz driver and can not be built successfully.
As far as I understand, these fuzz driver examples were generated successfully by CKGFuzzer and have passed the build procedure. Then how can they possibly contain such an obvious mistake? Or does it mean that these example drivers are merely intermediate programs and are not 100 percent correct?
I'll appreciate your explanation.
As is shown in a fuzz driver example of library
curl, amainfunction exists in the code:CKGFuzzer/example/curl/driver_97.cc
Lines 37 to 42 in bb50d2f
However, all Libfuzzer drivers are required to use the
LLVMFuzzerTestOneInputfunction as the entry of program. This is an obviously abnormal fuzz driver and can not be built successfully.As far as I understand, these fuzz driver examples were generated successfully by CKGFuzzer and have passed the build procedure. Then how can they possibly contain such an obvious mistake? Or does it mean that these example drivers are merely intermediate programs and are not 100 percent correct?
I'll appreciate your explanation.