obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
35 lines
821 B
C++
35 lines
821 B
C++
#include "router_fuzzing_context.hpp"
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
#ifndef __AFL_FUZZ_TESTCASE_LEN
|
|
ssize_t fuzz_len;
|
|
#define __AFL_FUZZ_TESTCASE_LEN fuzz_len
|
|
unsigned char fuzz_buf[1024000];
|
|
#define __AFL_FUZZ_TESTCASE_BUF fuzz_buf
|
|
#define __AFL_FUZZ_INIT() void sync(void);
|
|
#define __AFL_LOOP(x) ((fuzz_len = read(0, fuzz_buf, sizeof(fuzz_buf))) > 0 ? 1 : 0)
|
|
#define __AFL_INIT() sync()
|
|
#endif
|
|
|
|
__AFL_FUZZ_INIT();
|
|
|
|
int main()
|
|
{
|
|
#ifdef __AFL_HAVE_MANUAL_CONTROL
|
|
__AFL_INIT();
|
|
#endif
|
|
|
|
vanetza::RouterFuzzingContext context;
|
|
|
|
unsigned char *buf = __AFL_FUZZ_TESTCASE_BUF;
|
|
while (__AFL_LOOP(10000)) {
|
|
int len = __AFL_FUZZ_TESTCASE_LEN;
|
|
vanetza::ByteBuffer buffer { buf, buf + len };
|
|
context.initialize();
|
|
context.indicate(std::move(buffer));
|
|
}
|
|
|
|
return 0;
|
|
}
|