mirror of
https://github.com/status-im/c-kzg-4844.git
synced 2025-01-10 18:25:48 +00:00
7d170f9939
* Start to add fuzzers * Update path to trusted setup in gen_corpus * Update path one more time * Add support for two more targets * Add fuzzers for remaining targets * Clean up a little * Add README * Fix typos * De-dup fuzzing files * Add newline at the end of base_fuzz * Make generic rule for displaying targets * Use regular make command * Remove duplicate targets * Update .gitignore file
24 lines
771 B
C
24 lines
771 B
C
#include "../base_fuzz.h"
|
|
|
|
static const size_t COMMITMENT_OFFSET = 0;
|
|
static const size_t Z_OFFSET = COMMITMENT_OFFSET + BYTES_PER_COMMITMENT;
|
|
static const size_t Y_OFFSET = Z_OFFSET + BYTES_PER_FIELD_ELEMENT;
|
|
static const size_t PROOF_OFFSET = Y_OFFSET + BYTES_PER_FIELD_ELEMENT;
|
|
static const size_t INPUT_SIZE = PROOF_OFFSET + BYTES_PER_PROOF;
|
|
|
|
int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
|
initialize();
|
|
if (size == INPUT_SIZE) {
|
|
bool ok;
|
|
verify_kzg_proof(
|
|
&ok,
|
|
(const Bytes48 *)(data + COMMITMENT_OFFSET),
|
|
(const Bytes32 *)(data + Z_OFFSET),
|
|
(const Bytes32 *)(data + Y_OFFSET),
|
|
(const Bytes48 *)(data + PROOF_OFFSET),
|
|
&s
|
|
);
|
|
}
|
|
return 0;
|
|
}
|