diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c
index d13c3f18e7a62b005b8d61072216774b6372ba46..bf6f74d1aa67021bc83b73eabe901087bb5f7ed0 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.c
+++ b/test/core/end2end/fuzzers/api_fuzzer.c
@@ -151,9 +151,7 @@ typedef enum {
   SERVER_SHUTDOWN,
 } tag_name;
 
-static void *tag(tag_name name) {
-  return (void*)(uintptr_t)name;
-}
+static void *tag(tag_name name) { return (void *)(uintptr_t)name; }
 
 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   grpc_test_only_set_metadata_hash_seed(0);
@@ -170,7 +168,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
 
   grpc_completion_queue *cq = grpc_completion_queue_create(NULL);
 
-  while (!is_eof(&inp) && channel && server) {
+  while (!is_eof(&inp) || channel != NULL || server != NULL) {
     if (is_eof(&inp)) {
       if (channel != NULL) {
         grpc_channel_destroy(channel);
@@ -180,7 +178,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         if (!server_shutdown) {
           grpc_server_shutdown_and_notify(server, cq, tag(SERVER_SHUTDOWN));
           server_shutdown = true;
-          pending_server_shutdowns ++;
+          pending_server_shutdowns++;
         } else if (pending_server_shutdowns == 0) {
           grpc_server_destroy(server);
           server = NULL;
@@ -196,12 +194,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         switch (ev.type) {
           case GRPC_OP_COMPLETE:
             switch ((tag_name)(uintptr_t)ev.type) {
-            case SERVER_SHUTDOWN:
-              GPR_ASSERT(pending_server_shutdowns);
-              pending_server_shutdowns--;
-              break;
-            default:
-              GPR_ASSERT(false);
+              case SERVER_SHUTDOWN:
+                GPR_ASSERT(pending_server_shutdowns);
+                pending_server_shutdowns--;
+                break;
+              default:
+                GPR_ASSERT(false);
             }
             break;
           case GRPC_QUEUE_TIMEOUT:
@@ -274,7 +272,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
       }
       // destroy server
       case 7: {
-        if (server != NULL && server_shutdown && pending_server_shutdowns == 0) {
+        if (server != NULL && server_shutdown &&
+            pending_server_shutdowns == 0) {
           grpc_server_destroy(server);
           server = NULL;
         }
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/00.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/00.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
Binary files /dev/null and b/test/core/end2end/fuzzers/api_fuzzer_corpus/00.bin differ
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/01.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/01.bin
new file mode 100644
index 0000000000000000000000000000000000000000..6b2aaa7640726588bcd3d57e1de4b1315b7f315e
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/01.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/02.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/02.bin
new file mode 100644
index 0000000000000000000000000000000000000000..25cb955ba23571f6fefd57cecf5f67454210bbc8
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/02.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/03.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/03.bin
new file mode 100644
index 0000000000000000000000000000000000000000..fc2b5693e00bdbea3f74ac60459b1df43c295356
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/03.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/04.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/04.bin
new file mode 100644
index 0000000000000000000000000000000000000000..45a8ca02bfc82ca6f053c14f35bc90a6382b2612
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/04.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/05.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/05.bin
new file mode 100644
index 0000000000000000000000000000000000000000..b0b2b1c8ddb2dd9e025526d2ea88d82854de6be8
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/05.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/06.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/06.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f8fa5a235408d5c6f2c2844e44cd98c1fa666ac8
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/06.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/07.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/07.bin
new file mode 100644
index 0000000000000000000000000000000000000000..303e398c82e88040b372475614e4fe2888bcbe56
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/07.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/08.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/08.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5a77f05831a38ab834f5f49342e29f931e073f5a
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/08.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/09.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/09.bin
new file mode 100644
index 0000000000000000000000000000000000000000..501a6bbaf1e2cec78ba2c39f1bd551a43638094b
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/09.bin
@@ -0,0 +1 @@
+	
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/empty b/test/core/end2end/fuzzers/api_fuzzer_corpus/0a.bin
similarity index 100%
rename from test/core/end2end/fuzzers/api_fuzzer_corpus/empty
rename to test/core/end2end/fuzzers/api_fuzzer_corpus/0a.bin
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/0b.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/0b.bin
new file mode 100644
index 0000000000000000000000000000000000000000..2725bca0006db42c8ee38c15dfa290bbe57f9a94
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/0b.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/0c.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/0c.bin
new file mode 100644
index 0000000000000000000000000000000000000000..8214d0ee079917c29e57d16e764fc46de8fb50bf
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/0c.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/0d.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/0d.bin
new file mode 100644
index 0000000000000000000000000000000000000000..67c3297611451bb352bbda488b0cd7cb2528a0d3
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/0d.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/0e.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/0e.bin
new file mode 100644
index 0000000000000000000000000000000000000000..9280c0d31d5a7c1fd9abaaa7ffd6160759eca320
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/0e.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/0f.bin b/test/core/end2end/fuzzers/api_fuzzer_corpus/0f.bin
new file mode 100644
index 0000000000000000000000000000000000000000..c30d0581bfa3e1d73eb6a5efbe638c72911dadb7
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/0f.bin
@@ -0,0 +1 @@
+
\ No newline at end of file