xref: /btstack/test/fuzz/fuzz_att_db.c (revision 42ec1625849cad67f1aa59eadfdd0946b230668a)
1*42ec1625SMatthias Ringwald #include <stdint.h>
2*42ec1625SMatthias Ringwald #include <stddef.h>
3*42ec1625SMatthias Ringwald #include <stdio.h>
4*42ec1625SMatthias Ringwald 
5*42ec1625SMatthias Ringwald #include <ble/att_db.h>
6*42ec1625SMatthias Ringwald #include <ble/att_db_util.h>
7*42ec1625SMatthias Ringwald 
8*42ec1625SMatthias Ringwald int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
9*42ec1625SMatthias Ringwald     static int initialized = 0;
10*42ec1625SMatthias Ringwald     if (initialized == 0){
11*42ec1625SMatthias Ringwald         initialized = 1;
12*42ec1625SMatthias Ringwald         // setup empty db
13*42ec1625SMatthias Ringwald         att_db_util_init();
14*42ec1625SMatthias Ringwald         uint8_t * att_db = att_db_util_get_address();
15*42ec1625SMatthias Ringwald         // setup att_db
16*42ec1625SMatthias Ringwald         att_set_db(att_db);
17*42ec1625SMatthias Ringwald     }
18*42ec1625SMatthias Ringwald 
19*42ec1625SMatthias Ringwald     // TODO: setup att_connection
20*42ec1625SMatthias Ringwald     att_connection_t att_connection = { 0 };
21*42ec1625SMatthias Ringwald     uint8_t att_response[1000];
22*42ec1625SMatthias Ringwald     uint16_t att_request_len = size;
23*42ec1625SMatthias Ringwald     const uint8_t * att_request = data;
24*42ec1625SMatthias Ringwald     uint16_t att_respnose_len = att_handle_request(&att_connection, (uint8_t *) att_request, att_request_len, att_response);
25*42ec1625SMatthias Ringwald     return 0;
26*42ec1625SMatthias Ringwald }
27