aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/end2end/fuzzers/api_fuzzer.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/core/end2end/fuzzers/api_fuzzer.c')
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer.c324
1 files changed, 164 insertions, 160 deletions
diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c
index 0a787bbf30..c85c9b0301 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.c
+++ b/test/core/end2end/fuzzers/api_fuzzer.c
@@ -46,15 +46,15 @@
bool squelch = true;
bool leak_check = true;
-static void dont_log(gpr_log_func_args *args) {}
+static void dont_log(gpr_log_func_args* args) {}
////////////////////////////////////////////////////////////////////////////////
// global state
static gpr_timespec g_now;
-static grpc_server *g_server;
-static grpc_channel *g_channel;
-static grpc_resource_quota *g_resource_quota;
+static grpc_server* g_server;
+static grpc_channel* g_channel;
+static grpc_resource_quota* g_resource_quota;
extern gpr_timespec (*gpr_now_impl)(gpr_clock_type clock_type);
@@ -70,21 +70,21 @@ static gpr_timespec now_impl(gpr_clock_type clock_type) {
// past the end (avoiding needing to check everywhere)
typedef struct {
- const uint8_t *cur;
- const uint8_t *end;
+ const uint8_t* cur;
+ const uint8_t* end;
} input_stream;
-static uint8_t next_byte(input_stream *inp) {
+static uint8_t next_byte(input_stream* inp) {
if (inp->cur == inp->end) {
return 0;
}
return *inp->cur++;
}
-static void end(input_stream *inp) { inp->cur = inp->end; }
+static void end(input_stream* inp) { inp->cur = inp->end; }
-static char *read_string(input_stream *inp, bool *special) {
- char *str = NULL;
+static char* read_string(input_stream* inp, bool* special) {
+ char* str = NULL;
size_t cap = 0;
size_t sz = 0;
char c;
@@ -105,8 +105,8 @@ static char *read_string(input_stream *inp, bool *special) {
return str;
}
-static void read_buffer(input_stream *inp, char **buffer, size_t *length,
- bool *special) {
+static void read_buffer(input_stream* inp, char** buffer, size_t* length,
+ bool* special) {
*length = next_byte(inp);
if (*length == 255) {
if (special != NULL) *special = true;
@@ -126,16 +126,16 @@ static grpc_slice maybe_intern(grpc_slice s, bool intern) {
return r;
}
-static grpc_slice read_string_like_slice(input_stream *inp) {
+static grpc_slice read_string_like_slice(input_stream* inp) {
bool special;
- char *s = read_string(inp, &special);
+ char* s = read_string(inp, &special);
grpc_slice r = maybe_intern(grpc_slice_from_copied_string(s), special);
gpr_free(s);
return r;
}
-static grpc_slice read_buffer_like_slice(input_stream *inp) {
- char *buffer;
+static grpc_slice read_buffer_like_slice(input_stream* inp) {
+ char* buffer;
size_t length;
bool special;
read_buffer(inp, &buffer, &length, &special);
@@ -145,7 +145,7 @@ static grpc_slice read_buffer_like_slice(input_stream *inp) {
return r;
}
-static uint32_t read_uint22(input_stream *inp) {
+static uint32_t read_uint22(input_stream* inp) {
uint8_t b = next_byte(inp);
uint32_t x = b & 0x7f;
if (b & 0x80) {
@@ -160,7 +160,7 @@ static uint32_t read_uint22(input_stream *inp) {
return x;
}
-static uint32_t read_uint32(input_stream *inp) {
+static uint32_t read_uint32(input_stream* inp) {
uint8_t b = next_byte(inp);
uint32_t x = b & 0x7f;
if (b & 0x80) {
@@ -184,19 +184,19 @@ static uint32_t read_uint32(input_stream *inp) {
return x;
}
-static grpc_byte_buffer *read_message(input_stream *inp) {
+static grpc_byte_buffer* read_message(input_stream* inp) {
grpc_slice slice = grpc_slice_malloc(read_uint22(inp));
memset(GRPC_SLICE_START_PTR(slice), 0, GRPC_SLICE_LENGTH(slice));
- grpc_byte_buffer *out = grpc_raw_byte_buffer_create(&slice, 1);
+ grpc_byte_buffer* out = grpc_raw_byte_buffer_create(&slice, 1);
grpc_slice_unref(slice);
return out;
}
-static int read_int(input_stream *inp) { return (int)read_uint32(inp); }
+static int read_int(input_stream* inp) { return (int)read_uint32(inp); }
-static grpc_channel_args *read_args(input_stream *inp) {
+static grpc_channel_args* read_args(input_stream* inp) {
size_t n = next_byte(inp);
- grpc_arg *args = gpr_malloc(sizeof(*args) * n);
+ grpc_arg* args = gpr_malloc(sizeof(*args) * n);
for (size_t i = 0; i < n; i++) {
switch (next_byte(inp)) {
case 1:
@@ -222,7 +222,7 @@ static grpc_channel_args *read_args(input_stream *inp) {
break;
}
}
- grpc_channel_args *a = gpr_malloc(sizeof(*a));
+ grpc_channel_args* a = gpr_malloc(sizeof(*a));
a->args = args;
a->num_args = n;
return a;
@@ -230,21 +230,21 @@ static grpc_channel_args *read_args(input_stream *inp) {
typedef struct cred_artifact_ctx {
int num_release;
- char *release[3];
+ char* release[3];
} cred_artifact_ctx;
#define CRED_ARTIFACT_CTX_INIT \
{ \
0, { 0 } \
}
-static void cred_artifact_ctx_finish(cred_artifact_ctx *ctx) {
+static void cred_artifact_ctx_finish(cred_artifact_ctx* ctx) {
for (int i = 0; i < ctx->num_release; i++) {
gpr_free(ctx->release[i]);
}
}
-static const char *read_cred_artifact(cred_artifact_ctx *ctx, input_stream *inp,
- const char **builtins,
+static const char* read_cred_artifact(cred_artifact_ctx* ctx, input_stream* inp,
+ const char** builtins,
size_t num_builtins) {
uint8_t b = next_byte(inp);
if (b == 0) return NULL;
@@ -256,28 +256,28 @@ static const char *read_cred_artifact(cred_artifact_ctx *ctx, input_stream *inp,
return builtins[b - 1];
}
-static grpc_channel_credentials *read_ssl_channel_creds(input_stream *inp) {
+static grpc_channel_credentials* read_ssl_channel_creds(input_stream* inp) {
cred_artifact_ctx ctx = CRED_ARTIFACT_CTX_INIT;
- static const char *builtin_root_certs[] = {test_root_cert};
- static const char *builtin_private_keys[] = {
+ static const char* builtin_root_certs[] = {test_root_cert};
+ static const char* builtin_private_keys[] = {
test_server1_key, test_self_signed_client_key, test_signed_client_key};
- static const char *builtin_cert_chains[] = {
+ static const char* builtin_cert_chains[] = {
test_server1_cert, test_self_signed_client_cert, test_signed_client_cert};
- const char *root_certs = read_cred_artifact(
+ const char* root_certs = read_cred_artifact(
&ctx, inp, builtin_root_certs, GPR_ARRAY_SIZE(builtin_root_certs));
- const char *private_key = read_cred_artifact(
+ const char* private_key = read_cred_artifact(
&ctx, inp, builtin_private_keys, GPR_ARRAY_SIZE(builtin_private_keys));
- const char *certs = read_cred_artifact(&ctx, inp, builtin_cert_chains,
+ const char* certs = read_cred_artifact(&ctx, inp, builtin_cert_chains,
GPR_ARRAY_SIZE(builtin_cert_chains));
grpc_ssl_pem_key_cert_pair key_cert_pair = {private_key, certs};
- grpc_channel_credentials *creds = grpc_ssl_credentials_create(
+ grpc_channel_credentials* creds = grpc_ssl_credentials_create(
root_certs, private_key != NULL && certs != NULL ? &key_cert_pair : NULL,
NULL);
cred_artifact_ctx_finish(&ctx);
return creds;
}
-static grpc_call_credentials *read_call_creds(input_stream *inp) {
+static grpc_call_credentials* read_call_creds(input_stream* inp) {
switch (next_byte(inp)) {
default:
end(inp);
@@ -285,10 +285,10 @@ static grpc_call_credentials *read_call_creds(input_stream *inp) {
case 0:
return NULL;
case 1: {
- grpc_call_credentials *c1 = read_call_creds(inp);
- grpc_call_credentials *c2 = read_call_creds(inp);
+ grpc_call_credentials* c1 = read_call_creds(inp);
+ grpc_call_credentials* c2 = read_call_creds(inp);
if (c1 != NULL && c2 != NULL) {
- grpc_call_credentials *out =
+ grpc_call_credentials* out =
grpc_composite_call_credentials_create(c1, c2, NULL);
grpc_call_credentials_release(c1);
grpc_call_credentials_release(c2);
@@ -304,18 +304,19 @@ static grpc_call_credentials *read_call_creds(input_stream *inp) {
}
case 2: {
cred_artifact_ctx ctx = CRED_ARTIFACT_CTX_INIT;
- const char *access_token = read_cred_artifact(&ctx, inp, NULL, 0);
- grpc_call_credentials *out =
- access_token == NULL ? NULL : grpc_access_token_credentials_create(
- access_token, NULL);
+ const char* access_token = read_cred_artifact(&ctx, inp, NULL, 0);
+ grpc_call_credentials* out =
+ access_token == NULL
+ ? NULL
+ : grpc_access_token_credentials_create(access_token, NULL);
cred_artifact_ctx_finish(&ctx);
return out;
}
case 3: {
cred_artifact_ctx ctx = CRED_ARTIFACT_CTX_INIT;
- const char *auth_token = read_cred_artifact(&ctx, inp, NULL, 0);
- const char *auth_selector = read_cred_artifact(&ctx, inp, NULL, 0);
- grpc_call_credentials *out = auth_token == NULL || auth_selector == NULL
+ const char* auth_token = read_cred_artifact(&ctx, inp, NULL, 0);
+ const char* auth_selector = read_cred_artifact(&ctx, inp, NULL, 0);
+ grpc_call_credentials* out = auth_token == NULL || auth_selector == NULL
? NULL
: grpc_google_iam_credentials_create(
auth_token, auth_selector, NULL);
@@ -326,16 +327,16 @@ static grpc_call_credentials *read_call_creds(input_stream *inp) {
}
}
-static grpc_channel_credentials *read_channel_creds(input_stream *inp) {
+static grpc_channel_credentials* read_channel_creds(input_stream* inp) {
switch (next_byte(inp)) {
case 0:
return read_ssl_channel_creds(inp);
break;
case 1: {
- grpc_channel_credentials *c1 = read_channel_creds(inp);
- grpc_call_credentials *c2 = read_call_creds(inp);
+ grpc_channel_credentials* c1 = read_channel_creds(inp);
+ grpc_call_credentials* c2 = read_call_creds(inp);
if (c1 != NULL && c2 != NULL) {
- grpc_channel_credentials *out =
+ grpc_channel_credentials* out =
grpc_composite_channel_credentials_create(c1, c2, NULL);
grpc_channel_credentials_release(c1);
grpc_call_credentials_release(c2);
@@ -358,32 +359,32 @@ static grpc_channel_credentials *read_channel_creds(input_stream *inp) {
}
}
-static bool is_eof(input_stream *inp) { return inp->cur == inp->end; }
+static bool is_eof(input_stream* inp) { return inp->cur == inp->end; }
////////////////////////////////////////////////////////////////////////////////
// dns resolution
typedef struct addr_req {
grpc_timer timer;
- char *addr;
- grpc_closure *on_done;
- grpc_resolved_addresses **addrs;
- grpc_lb_addresses **lb_addrs;
+ char* addr;
+ grpc_closure* on_done;
+ grpc_resolved_addresses** addrs;
+ grpc_lb_addresses** lb_addrs;
} addr_req;
-static void finish_resolve(grpc_exec_ctx *exec_ctx, void *arg,
- grpc_error *error) {
- addr_req *r = arg;
+static void finish_resolve(grpc_exec_ctx* exec_ctx, void* arg,
+ grpc_error* error) {
+ addr_req* r = arg;
if (error == GRPC_ERROR_NONE && 0 == strcmp(r->addr, "server")) {
if (r->addrs != NULL) {
- grpc_resolved_addresses *addrs = gpr_malloc(sizeof(*addrs));
+ grpc_resolved_addresses* addrs = gpr_malloc(sizeof(*addrs));
addrs->naddrs = 1;
addrs->addrs = gpr_malloc(sizeof(*addrs->addrs));
addrs->addrs[0].len = 0;
*r->addrs = addrs;
} else if (r->lb_addrs != NULL) {
- grpc_lb_addresses *lb_addrs = grpc_lb_addresses_create(1, NULL);
+ grpc_lb_addresses* lb_addrs = grpc_lb_addresses_create(1, NULL);
grpc_lb_addresses_set_address(lb_addrs, 0, NULL, 0, NULL, NULL, NULL);
*r->lb_addrs = lb_addrs;
}
@@ -398,12 +399,12 @@ static void finish_resolve(grpc_exec_ctx *exec_ctx, void *arg,
gpr_free(r);
}
-void my_resolve_address(grpc_exec_ctx *exec_ctx, const char *addr,
- const char *default_port,
- grpc_pollset_set *interested_parties,
- grpc_closure *on_done,
- grpc_resolved_addresses **addresses) {
- addr_req *r = gpr_malloc(sizeof(*r));
+void my_resolve_address(grpc_exec_ctx* exec_ctx, const char* addr,
+ const char* default_port,
+ grpc_pollset_set* interested_parties,
+ grpc_closure* on_done,
+ grpc_resolved_addresses** addresses) {
+ addr_req* r = gpr_malloc(sizeof(*r));
r->addr = gpr_strdup(addr);
r->on_done = on_done;
r->addrs = addresses;
@@ -413,12 +414,12 @@ void my_resolve_address(grpc_exec_ctx *exec_ctx, const char *addr,
GRPC_CLOSURE_CREATE(finish_resolve, r, grpc_schedule_on_exec_ctx));
}
-grpc_ares_request *my_dns_lookup_ares(
- grpc_exec_ctx *exec_ctx, const char *dns_server, const char *addr,
- const char *default_port, grpc_pollset_set *interested_parties,
- grpc_closure *on_done, grpc_lb_addresses **lb_addrs, bool check_grpclb,
- char **service_config_json) {
- addr_req *r = gpr_malloc(sizeof(*r));
+grpc_ares_request* my_dns_lookup_ares(
+ grpc_exec_ctx* exec_ctx, const char* dns_server, const char* addr,
+ const char* default_port, grpc_pollset_set* interested_parties,
+ grpc_closure* on_done, grpc_lb_addresses** lb_addrs, bool check_grpclb,
+ char** service_config_json) {
+ addr_req* r = gpr_malloc(sizeof(*r));
r->addr = gpr_strdup(addr);
r->on_done = on_done;
r->addrs = NULL;
@@ -434,32 +435,32 @@ grpc_ares_request *my_dns_lookup_ares(
// defined in tcp_client_posix.c
extern void (*grpc_tcp_client_connect_impl)(
- grpc_exec_ctx *exec_ctx, grpc_closure *closure, grpc_endpoint **ep,
- grpc_pollset_set *interested_parties, const grpc_channel_args *channel_args,
- const grpc_resolved_address *addr, gpr_timespec deadline);
+ grpc_exec_ctx* exec_ctx, grpc_closure* closure, grpc_endpoint** ep,
+ grpc_pollset_set* interested_parties, const grpc_channel_args* channel_args,
+ const grpc_resolved_address* addr, gpr_timespec deadline);
-static void sched_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure,
- grpc_endpoint **ep, gpr_timespec deadline);
+static void sched_connect(grpc_exec_ctx* exec_ctx, grpc_closure* closure,
+ grpc_endpoint** ep, gpr_timespec deadline);
typedef struct {
grpc_timer timer;
- grpc_closure *closure;
- grpc_endpoint **ep;
+ grpc_closure* closure;
+ grpc_endpoint** ep;
gpr_timespec deadline;
} future_connect;
-static void do_connect(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
- future_connect *fc = arg;
+static void do_connect(grpc_exec_ctx* exec_ctx, void* arg, grpc_error* error) {
+ future_connect* fc = arg;
if (error != GRPC_ERROR_NONE) {
*fc->ep = NULL;
GRPC_CLOSURE_SCHED(exec_ctx, fc->closure, GRPC_ERROR_REF(error));
} else if (g_server != NULL) {
- grpc_endpoint *client;
- grpc_endpoint *server;
+ grpc_endpoint* client;
+ grpc_endpoint* server;
grpc_passthru_endpoint_create(&client, &server, g_resource_quota, NULL);
*fc->ep = client;
- grpc_transport *transport =
+ grpc_transport* transport =
grpc_create_chttp2_transport(exec_ctx, NULL, server, 0);
grpc_server_setup_transport(exec_ctx, g_server, transport, NULL, NULL);
grpc_chttp2_transport_start_reading(exec_ctx, transport, NULL);
@@ -471,16 +472,17 @@ static void do_connect(grpc_exec_ctx *exec_ctx, void *arg, grpc_error *error) {
gpr_free(fc);
}
-static void sched_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure,
- grpc_endpoint **ep, gpr_timespec deadline) {
+static void sched_connect(grpc_exec_ctx* exec_ctx, grpc_closure* closure,
+ grpc_endpoint** ep, gpr_timespec deadline) {
if (gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) < 0) {
*ep = NULL;
- GRPC_CLOSURE_SCHED(exec_ctx, closure, GRPC_ERROR_CREATE_FROM_STATIC_STRING(
- "Connect deadline exceeded"));
+ GRPC_CLOSURE_SCHED(
+ exec_ctx, closure,
+ GRPC_ERROR_CREATE_FROM_STATIC_STRING("Connect deadline exceeded"));
return;
}
- future_connect *fc = gpr_malloc(sizeof(*fc));
+ future_connect* fc = gpr_malloc(sizeof(*fc));
fc->closure = closure;
fc->ep = ep;
fc->deadline = deadline;
@@ -489,11 +491,11 @@ static void sched_connect(grpc_exec_ctx *exec_ctx, grpc_closure *closure,
GRPC_CLOSURE_CREATE(do_connect, fc, grpc_schedule_on_exec_ctx));
}
-static void my_tcp_client_connect(grpc_exec_ctx *exec_ctx,
- grpc_closure *closure, grpc_endpoint **ep,
- grpc_pollset_set *interested_parties,
- const grpc_channel_args *channel_args,
- const grpc_resolved_address *addr,
+static void my_tcp_client_connect(grpc_exec_ctx* exec_ctx,
+ grpc_closure* closure, grpc_endpoint** ep,
+ grpc_pollset_set* interested_parties,
+ const grpc_channel_args* channel_args,
+ const grpc_resolved_address* addr,
gpr_timespec deadline) {
sched_connect(exec_ctx, closure, ep, deadline);
}
@@ -502,40 +504,40 @@ static void my_tcp_client_connect(grpc_exec_ctx *exec_ctx,
// test driver
typedef struct validator {
- void (*validate)(void *arg, bool success);
- void *arg;
+ void (*validate)(void* arg, bool success);
+ void* arg;
} validator;
-static validator *create_validator(void (*validate)(void *arg, bool success),
- void *arg) {
- validator *v = gpr_malloc(sizeof(*v));
+static validator* create_validator(void (*validate)(void* arg, bool success),
+ void* arg) {
+ validator* v = gpr_malloc(sizeof(*v));
v->validate = validate;
v->arg = arg;
return v;
}
-static void assert_success_and_decrement(void *counter, bool success) {
+static void assert_success_and_decrement(void* counter, bool success) {
GPR_ASSERT(success);
- --*(int *)counter;
+ --*(int*)counter;
}
-static void decrement(void *counter, bool success) { --*(int *)counter; }
+static void decrement(void* counter, bool success) { --*(int*)counter; }
typedef struct connectivity_watch {
- int *counter;
+ int* counter;
gpr_timespec deadline;
} connectivity_watch;
-static connectivity_watch *make_connectivity_watch(gpr_timespec s,
- int *counter) {
- connectivity_watch *o = gpr_malloc(sizeof(*o));
+static connectivity_watch* make_connectivity_watch(gpr_timespec s,
+ int* counter) {
+ connectivity_watch* o = gpr_malloc(sizeof(*o));
o->deadline = s;
o->counter = counter;
return o;
}
-static void validate_connectivity_watch(void *p, bool success) {
- connectivity_watch *w = p;
+static void validate_connectivity_watch(void* p, bool success) {
+ connectivity_watch* w = p;
if (!success) {
GPR_ASSERT(gpr_time_cmp(gpr_now(w->deadline.clock_type), w->deadline) >= 0);
}
@@ -543,7 +545,7 @@ static void validate_connectivity_watch(void *p, bool success) {
gpr_free(w);
}
-static void free_non_null(void *p) {
+static void free_non_null(void* p) {
GPR_ASSERT(p != NULL);
gpr_free(p);
}
@@ -554,8 +556,8 @@ typedef enum { ROOT, CLIENT, SERVER, PENDING_SERVER } call_state_type;
typedef struct call_state {
call_state_type type;
- grpc_call *call;
- grpc_byte_buffer *recv_message;
+ grpc_call* call;
+ grpc_byte_buffer* recv_message;
grpc_status_code status;
grpc_metadata_array recv_initial_metadata;
grpc_metadata_array recv_trailing_metadata;
@@ -563,7 +565,7 @@ typedef struct call_state {
int cancelled;
int pending_ops;
grpc_call_details call_details;
- grpc_byte_buffer *send_message;
+ grpc_byte_buffer* send_message;
// starts at 0, individual flags from DONE_FLAG_xxx are set
// as different operations are completed
uint64_t done_flags;
@@ -571,21 +573,21 @@ typedef struct call_state {
// array of pointers to free later
size_t num_to_free;
size_t cap_to_free;
- void **to_free;
+ void** to_free;
// array of slices to unref
size_t num_slices_to_unref;
size_t cap_slices_to_unref;
- grpc_slice **slices_to_unref;
+ grpc_slice** slices_to_unref;
- struct call_state *next;
- struct call_state *prev;
+ struct call_state* next;
+ struct call_state* prev;
} call_state;
-static call_state *g_active_call;
+static call_state* g_active_call;
-static call_state *new_call(call_state *sibling, call_state_type type) {
- call_state *c = gpr_malloc(sizeof(*c));
+static call_state* new_call(call_state* sibling, call_state_type type) {
+ call_state* c = gpr_malloc(sizeof(*c));
memset(c, 0, sizeof(*c));
if (sibling != NULL) {
c->next = sibling;
@@ -598,8 +600,8 @@ static call_state *new_call(call_state *sibling, call_state_type type) {
return c;
}
-static call_state *maybe_delete_call_state(call_state *call) {
- call_state *next = call->next;
+static call_state* maybe_delete_call_state(call_state* call) {
+ call_state* next = call->next;
if (call->call != NULL) return next;
if (call->pending_ops != 0) return next;
@@ -631,7 +633,7 @@ static call_state *maybe_delete_call_state(call_state *call) {
return next;
}
-static void add_to_free(call_state *call, void *p) {
+static void add_to_free(call_state* call, void* p) {
if (call->num_to_free == call->cap_to_free) {
call->cap_to_free = GPR_MAX(8, 2 * call->cap_to_free);
call->to_free =
@@ -640,7 +642,7 @@ static void add_to_free(call_state *call, void *p) {
call->to_free[call->num_to_free++] = p;
}
-static grpc_slice *add_slice_to_unref(call_state *call, grpc_slice s) {
+static grpc_slice* add_slice_to_unref(call_state* call, grpc_slice s) {
if (call->num_slices_to_unref == call->cap_slices_to_unref) {
call->cap_slices_to_unref = GPR_MAX(8, 2 * call->cap_slices_to_unref);
call->slices_to_unref =
@@ -653,8 +655,8 @@ static grpc_slice *add_slice_to_unref(call_state *call, grpc_slice s) {
return call->slices_to_unref[call->num_slices_to_unref - 1];
}
-static void read_metadata(input_stream *inp, size_t *count,
- grpc_metadata **metadata, call_state *cs) {
+static void read_metadata(input_stream* inp, size_t* count,
+ grpc_metadata** metadata, call_state* cs) {
*count = next_byte(inp);
if (*count) {
*metadata = gpr_malloc(*count * sizeof(**metadata));
@@ -672,14 +674,14 @@ static void read_metadata(input_stream *inp, size_t *count,
add_to_free(cs, *metadata);
}
-static call_state *destroy_call(call_state *call) {
+static call_state* destroy_call(call_state* call) {
grpc_call_unref(call->call);
call->call = NULL;
return maybe_delete_call_state(call);
}
-static void finished_request_call(void *csp, bool success) {
- call_state *cs = csp;
+static void finished_request_call(void* csp, bool success) {
+ call_state* cs = csp;
GPR_ASSERT(cs->pending_ops > 0);
--cs->pending_ops;
if (success) {
@@ -691,12 +693,12 @@ static void finished_request_call(void *csp, bool success) {
}
typedef struct {
- call_state *cs;
+ call_state* cs;
uint8_t has_ops;
} batch_info;
-static void finished_batch(void *p, bool success) {
- batch_info *bi = p;
+static void finished_batch(void* p, bool success) {
+ batch_info* bi = p;
--bi->cs->pending_ops;
if ((bi->has_ops & (1u << GRPC_OP_RECV_MESSAGE)) &&
(bi->cs->done_flags & DONE_FLAG_CALL_CLOSED)) {
@@ -719,17 +721,17 @@ static void finished_batch(void *p, bool success) {
gpr_free(bi);
}
-static validator *make_finished_batch_validator(call_state *cs,
+static validator* make_finished_batch_validator(call_state* cs,
uint8_t has_ops) {
- batch_info *bi = gpr_malloc(sizeof(*bi));
+ batch_info* bi = gpr_malloc(sizeof(*bi));
bi->cs = cs;
bi->has_ops = has_ops;
return create_validator(finished_batch, bi);
}
-int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
grpc_test_only_set_slice_hash_seed(0);
- char *grpc_trace_fuzzer = gpr_getenv("GRPC_TRACE_FUZZER");
+ char* grpc_trace_fuzzer = gpr_getenv("GRPC_TRACE_FUZZER");
if (squelch && grpc_trace_fuzzer == NULL) gpr_set_log_function(dont_log);
gpr_free(grpc_trace_fuzzer);
input_stream inp = {data, data + size};
@@ -756,7 +758,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
g_active_call = new_call(NULL, ROOT);
g_resource_quota = grpc_resource_quota_create("api_fuzzer");
- grpc_completion_queue *cq = grpc_completion_queue_create_for_next(NULL);
+ grpc_completion_queue* cq = grpc_completion_queue_create_for_next(NULL);
while (!is_eof(&inp) || g_channel != NULL || g_server != NULL ||
pending_channel_watches > 0 || pending_pings > 0 ||
@@ -769,8 +771,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
if (g_server != NULL) {
if (!server_shutdown) {
grpc_server_shutdown_and_notify(
- g_server, cq, create_validator(assert_success_and_decrement,
- &pending_server_shutdowns));
+ g_server, cq,
+ create_validator(assert_success_and_decrement,
+ &pending_server_shutdowns));
server_shutdown = true;
pending_server_shutdowns++;
} else if (pending_server_shutdowns == 0) {
@@ -778,7 +781,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
g_server = NULL;
}
}
- call_state *s = g_active_call;
+ call_state* s = g_active_call;
do {
if (s->type != PENDING_SERVER && s->call != NULL) {
s = destroy_call(s);
@@ -803,7 +806,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
cq, gpr_inf_past(GPR_CLOCK_REALTIME), NULL);
switch (ev.type) {
case GRPC_OP_COMPLETE: {
- validator *v = ev.tag;
+ validator* v = ev.tag;
v->validate(v->arg, ev.success);
gpr_free(v);
break;
@@ -825,10 +828,10 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
// create an insecure channel
case 2: {
if (g_channel == NULL) {
- char *target = read_string(&inp, NULL);
- char *target_uri;
+ char* target = read_string(&inp, NULL);
+ char* target_uri;
gpr_asprintf(&target_uri, "dns:%s", target);
- grpc_channel_args *args = read_args(&inp);
+ grpc_channel_args* args = read_args(&inp);
g_channel = grpc_insecure_channel_create(target_uri, args, NULL);
GPR_ASSERT(g_channel != NULL);
{
@@ -856,7 +859,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
// bring up a server
case 4: {
if (g_server == NULL) {
- grpc_channel_args *args = read_args(&inp);
+ grpc_channel_args* args = read_args(&inp);
g_server = grpc_server_create(args, NULL);
GPR_ASSERT(g_server != NULL);
{
@@ -877,8 +880,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
case 5: {
if (g_server != NULL) {
grpc_server_shutdown_and_notify(
- g_server, cq, create_validator(assert_success_and_decrement,
- &pending_server_shutdowns));
+ g_server, cq,
+ create_validator(assert_success_and_decrement,
+ &pending_server_shutdowns));
pending_server_shutdowns++;
server_shutdown = true;
} else {
@@ -945,7 +949,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
case 10: {
bool ok = true;
if (g_channel == NULL) ok = false;
- grpc_call *parent_call = NULL;
+ grpc_call* parent_call = NULL;
if (g_active_call->type != ROOT) {
if (g_active_call->call == NULL || g_active_call->type == CLIENT) {
end(&inp);
@@ -964,7 +968,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
gpr_time_from_micros(read_uint32(&inp), GPR_TIMESPAN));
if (ok) {
- call_state *cs = new_call(g_active_call, CLIENT);
+ call_state* cs = new_call(g_active_call, CLIENT);
cs->call =
grpc_channel_create_call(g_channel, parent_call, propagation_mask,
cq, method, &host, deadline, NULL);
@@ -992,11 +996,11 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
end(&inp);
break;
}
- grpc_op *ops = gpr_malloc(sizeof(grpc_op) * num_ops);
+ grpc_op* ops = gpr_malloc(sizeof(grpc_op) * num_ops);
if (num_ops > 0) memset(ops, 0, sizeof(grpc_op) * num_ops);
bool ok = true;
size_t i;
- grpc_op *op;
+ grpc_op* op;
uint8_t has_ops = 0;
for (i = 0; i < num_ops; i++) {
op = &ops[i];
@@ -1070,7 +1074,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
op->flags = read_uint32(&inp);
}
if (ok) {
- validator *v = make_finished_batch_validator(g_active_call, has_ops);
+ validator* v = make_finished_batch_validator(g_active_call, has_ops);
g_active_call->pending_ops++;
grpc_call_error error =
grpc_call_start_batch(g_active_call->call, ops, num_ops, v, NULL);
@@ -1129,14 +1133,14 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
}
// enable a tracer
case 17: {
- char *tracer = read_string(&inp, NULL);
+ char* tracer = read_string(&inp, NULL);
grpc_tracer_set_enabled(tracer, 1);
gpr_free(tracer);
break;
}
// disable a tracer
case 18: {
- char *tracer = read_string(&inp, NULL);
+ char* tracer = read_string(&inp, NULL);
grpc_tracer_set_enabled(tracer, 0);
gpr_free(tracer);
break;
@@ -1147,9 +1151,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
end(&inp);
break;
}
- call_state *cs = new_call(g_active_call, PENDING_SERVER);
+ call_state* cs = new_call(g_active_call, PENDING_SERVER);
cs->pending_ops++;
- validator *v = create_validator(finished_request_call, cs);
+ validator* v = create_validator(finished_request_call, cs);
grpc_call_error error =
grpc_server_request_call(g_server, &cs->call, &cs->call_details,
&cs->recv_initial_metadata, cq, cq, v);
@@ -1178,11 +1182,11 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
// create a secure channel
case 22: {
if (g_channel == NULL) {
- char *target = read_string(&inp, NULL);
- char *target_uri;
+ char* target = read_string(&inp, NULL);
+ char* target_uri;
gpr_asprintf(&target_uri, "dns:%s", target);
- grpc_channel_args *args = read_args(&inp);
- grpc_channel_credentials *creds = read_channel_creds(&inp);
+ grpc_channel_args* args = read_args(&inp);
+ grpc_channel_credentials* creds = read_channel_creds(&inp);
g_channel = grpc_secure_channel_create(creds, target_uri, args, NULL);
GPR_ASSERT(g_channel != NULL);
{