xref: /aosp_15_r20/system/nfc/src/fuzzers/fuzz_cmn.cc (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1*7eba2f3bSAndroid Build Coastguard Worker #include "fuzz_cmn.h"
2*7eba2f3bSAndroid Build Coastguard Worker 
nfcsnoop_capture(NFC_HDR const *,bool)3*7eba2f3bSAndroid Build Coastguard Worker void nfcsnoop_capture(NFC_HDR const*, bool){};
delete_stack_non_volatile_store(bool)4*7eba2f3bSAndroid Build Coastguard Worker void delete_stack_non_volatile_store(bool){};
debug_nfcsnoop_dump(int)5*7eba2f3bSAndroid Build Coastguard Worker void debug_nfcsnoop_dump(int){};
6*7eba2f3bSAndroid Build Coastguard Worker std::string nfc_storage_path;
storeNfcSnoopLogs(std::string,off_t)7*7eba2f3bSAndroid Build Coastguard Worker bool storeNfcSnoopLogs(std::string, off_t) { return true; };
8*7eba2f3bSAndroid Build Coastguard Worker 
9*7eba2f3bSAndroid Build Coastguard Worker uint8_t appl_dta_mode_flag = 0;
10*7eba2f3bSAndroid Build Coastguard Worker unsigned int t5t_mute_legacy = 0;
11*7eba2f3bSAndroid Build Coastguard Worker bool nfc_nci_reset_keep_cfg_enabled = false;
12*7eba2f3bSAndroid Build Coastguard Worker uint8_t nfc_nci_reset_type = 0x00;
13*7eba2f3bSAndroid Build Coastguard Worker 
14*7eba2f3bSAndroid Build Coastguard Worker namespace android {
15*7eba2f3bSAndroid Build Coastguard Worker namespace util {
stats_write(int32_t,...)16*7eba2f3bSAndroid Build Coastguard Worker void stats_write(int32_t, ...) {}
17*7eba2f3bSAndroid Build Coastguard Worker }  // namespace util
18*7eba2f3bSAndroid Build Coastguard Worker }  // namespace android
19*7eba2f3bSAndroid Build Coastguard Worker 
20*7eba2f3bSAndroid Build Coastguard Worker #ifdef STANDALONE_FUZZER
main(int argc,char * argv[])21*7eba2f3bSAndroid Build Coastguard Worker int main(int argc, char* argv[]) {
22*7eba2f3bSAndroid Build Coastguard Worker   uint_t iterations = 50;
23*7eba2f3bSAndroid Build Coastguard Worker   uint_t seed = 0;
24*7eba2f3bSAndroid Build Coastguard Worker 
25*7eba2f3bSAndroid Build Coastguard Worker   if (argc >= 2) {
26*7eba2f3bSAndroid Build Coastguard Worker     seed = atol(argv[1]);
27*7eba2f3bSAndroid Build Coastguard Worker   }
28*7eba2f3bSAndroid Build Coastguard Worker 
29*7eba2f3bSAndroid Build Coastguard Worker   if (argc >= 3) {
30*7eba2f3bSAndroid Build Coastguard Worker     iterations = atol(argv[2]);
31*7eba2f3bSAndroid Build Coastguard Worker   }
32*7eba2f3bSAndroid Build Coastguard Worker 
33*7eba2f3bSAndroid Build Coastguard Worker   FUZZLOG("iterations=%d, seed=%d", iterations, seed);
34*7eba2f3bSAndroid Build Coastguard Worker 
35*7eba2f3bSAndroid Build Coastguard Worker   if (0 != LLVMFuzzerInitialize(&argc, &argv)) {
36*7eba2f3bSAndroid Build Coastguard Worker     return -1;
37*7eba2f3bSAndroid Build Coastguard Worker   }
38*7eba2f3bSAndroid Build Coastguard Worker 
39*7eba2f3bSAndroid Build Coastguard Worker   for (auto i = 0; i < iterations; i++) {
40*7eba2f3bSAndroid Build Coastguard Worker     FUZZLOG("iteration=%d, seed=%d", i, seed);
41*7eba2f3bSAndroid Build Coastguard Worker     srandom(seed);
42*7eba2f3bSAndroid Build Coastguard Worker     seed = random();
43*7eba2f3bSAndroid Build Coastguard Worker     auto data = FuzzSeqGen(3, 255);
44*7eba2f3bSAndroid Build Coastguard Worker     if (!LLVMFuzzerTestOneInput(&data[0], data.size())) {
45*7eba2f3bSAndroid Build Coastguard Worker       break;
46*7eba2f3bSAndroid Build Coastguard Worker     }
47*7eba2f3bSAndroid Build Coastguard Worker   }
48*7eba2f3bSAndroid Build Coastguard Worker 
49*7eba2f3bSAndroid Build Coastguard Worker   return 0;
50*7eba2f3bSAndroid Build Coastguard Worker }
51*7eba2f3bSAndroid Build Coastguard Worker #endif
52