aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/end2end/fuzzers
diff options
context:
space:
mode:
authorGravatar Noah Eisen <ncteisen@google.com>2018-02-13 16:06:34 -0800
committerGravatar Noah Eisen <ncteisen@google.com>2018-02-13 16:06:34 -0800
commiteec31840abe64b7251731eeb5132fbd4991b3bb5 (patch)
tree2872c33520f0d595c933de39b5a5bcec953dc662 /test/core/end2end/fuzzers
parentc7f026142d81477ca209b04ac0955e9be44607a5 (diff)
Fix fuzz test
Diffstat (limited to 'test/core/end2end/fuzzers')
-rw-r--r--test/core/end2end/fuzzers/api_fuzzer.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc
index dc1183b9a0..cbfefc641f 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.cc
+++ b/test/core/end2end/fuzzers/api_fuzzer.cc
@@ -1067,9 +1067,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
&g_active_call->recv_initial_metadata;
break;
case GRPC_OP_RECV_MESSAGE:
- op->op = GRPC_OP_RECV_MESSAGE;
- has_ops |= 1 << GRPC_OP_RECV_MESSAGE;
- op->data.recv_message.recv_message = &g_active_call->recv_message;
+ if (g_active_call->done_flags & DONE_FLAG_CALL_CLOSED) {
+ ok = false;
+ } else {
+ op->op = GRPC_OP_RECV_MESSAGE;
+ has_ops |= 1 << GRPC_OP_RECV_MESSAGE;
+ op->data.recv_message.recv_message =
+ &g_active_call->recv_message;
+ }
break;
case GRPC_OP_RECV_STATUS_ON_CLIENT:
op->op = GRPC_OP_RECV_STATUS_ON_CLIENT;