Skip to content
Snippets Groups Projects
Commit 907e8be7 authored by Egor Ivkov's avatar Egor Ivkov Committed by Dmitry Ivanov
Browse files

test/fuzz: xrow_decode_raft fuzz also type and group_id params

NO_DOC=internal
NO_TEST=internal
NO_CHANGELOG=internal
parent 5bff08bf
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,17 @@ teardown(void)
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
{
// Need at least 2 bytes for header values `type` and `group_id`
if (size < 2)
return -1;
struct xrow_header row = {0};
row.type = data[0];
row.group_id = data[1];
// Shift pointers now that header valuas are read,
// everything else is reserved for body
data += 2;
size -= 2;
const char *d = (const char *)data;
const char *end = (const char *)data + size;
if (mp_check(&d, end) != 0)
......@@ -34,11 +45,8 @@ LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
body.iov_base = (void *)data;
body.iov_len = size;
struct xrow_header row = {0};
row.body[0] = body;
row.bodycnt = 1;
row.type = IPROTO_RAFT;
row.group_id = GROUP_LOCAL;
struct raft_request request = {0};
struct vclock vclock = {0};
......
# IPROTO_RAFT and GROUP_LOCAL
header="\x1E\x01"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment