fuzz.c
 1  #include "../base_fuzz.h"
 2  
 3  static const size_t COMMITMENT_OFFSET = 0;
 4  static const size_t Z_OFFSET = COMMITMENT_OFFSET + BYTES_PER_COMMITMENT;
 5  static const size_t Y_OFFSET = Z_OFFSET + BYTES_PER_FIELD_ELEMENT;
 6  static const size_t PROOF_OFFSET = Y_OFFSET + BYTES_PER_FIELD_ELEMENT;
 7  static const size_t INPUT_SIZE = PROOF_OFFSET + BYTES_PER_PROOF;
 8  
 9  int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
10      initialize();
11      if (size == INPUT_SIZE) {
12          bool ok;
13          verify_kzg_proof(
14              &ok,
15              (const Bytes48 *)(data + COMMITMENT_OFFSET),
16              (const Bytes32 *)(data + Z_OFFSET),
17              (const Bytes32 *)(data + Y_OFFSET),
18              (const Bytes48 *)(data + PROOF_OFFSET),
19              &s
20          );
21      }
22      return 0;
23  }