mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-03-01 00:59:49 +01:00
53 lines
998 B
C
53 lines
998 B
C
|
#include "orconfig.h"
|
||
|
#include "torint.h"
|
||
|
#include "util.h"
|
||
|
#include "torlog.h"
|
||
|
#include "backtrace.h"
|
||
|
#include "fuzzing.h"
|
||
|
|
||
|
extern const char tor_git_revision[];
|
||
|
const char tor_git_revision[] = "";
|
||
|
|
||
|
#define MAX_FUZZ_SIZE (128*1024)
|
||
|
|
||
|
#ifdef LLVM_FUZZ
|
||
|
int
|
||
|
LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
|
||
|
static int initialized = 0;
|
||
|
if (!initialized) {
|
||
|
if (fuzz_init() < 0)
|
||
|
abort();
|
||
|
}
|
||
|
|
||
|
return fuzz_main(Data, Size);
|
||
|
}
|
||
|
|
||
|
#else /* Not LLVM_FUZZ, so AFL. */
|
||
|
|
||
|
int
|
||
|
main(int argc, char **argv)
|
||
|
{
|
||
|
size_t size;
|
||
|
char *input = read_file_to_str_until_eof(0, MAX_FUZZ_SIZE, &size);
|
||
|
|
||
|
tor_threads_init();
|
||
|
init_logging(1);
|
||
|
|
||
|
if (argc > 1 && !strcmp(argv[1], "--info")) {
|
||
|
log_severity_list_t sev;
|
||
|
set_log_severity_config(LOG_INFO, LOG_ERR, &sev);
|
||
|
add_stream_log(&sev, "stdout", 1);
|
||
|
configure_backtrace_handler(NULL);
|
||
|
}
|
||
|
|
||
|
tor_assert(input);
|
||
|
if (fuzz_init() < 0)
|
||
|
abort();
|
||
|
fuzz_main((const uint8_t*)input, size);
|
||
|
tor_free(input);
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
#endif
|
||
|
|