From 481635cc36126c90ecef37f9fdc6156df53e2a0b Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Wed, 13 Apr 2016 10:30:10 -0700
Subject: [PATCH] Fix non-test bug

---
 test/core/end2end/fuzzers/api_fuzzer.c        |  23 +++++++++---------
 .../end2end/fuzzers/api_fuzzer_corpus/00.bin  | Bin 0 -> 1 bytes
 .../end2end/fuzzers/api_fuzzer_corpus/01.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/02.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/03.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/04.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/05.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/06.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/07.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/08.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/09.bin  |   1 +
 .../api_fuzzer_corpus/{empty => 0a.bin}       |   0
 .../end2end/fuzzers/api_fuzzer_corpus/0b.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/0c.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/0d.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/0e.bin  |   1 +
 .../end2end/fuzzers/api_fuzzer_corpus/0f.bin  |   1 +
 17 files changed, 25 insertions(+), 12 deletions(-)
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/00.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/01.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/02.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/03.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/04.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/05.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/06.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/07.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/08.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/09.bin
 rename test/core/end2end/fuzzers/api_fuzzer_corpus/{empty => 0a.bin} (100%)
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/0b.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/0c.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/0d.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/0e.bin
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/0f.bin

diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c
index d13c3f18e7..bf6f74d1aa 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
GIT binary patch
literal 1
IcmZPo000310RR91

literal 0
HcmV?d00001

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 0000000000..6b2aaa7640
--- /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 0000000000..25cb955ba2
--- /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 0000000000..fc2b5693e0
--- /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 0000000000..45a8ca02bf
--- /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 0000000000..b0b2b1c8dd
--- /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 0000000000..f8fa5a2354
--- /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 0000000000..303e398c82
--- /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 0000000000..5a77f05831
--- /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 0000000000..501a6bbaf1
--- /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 0000000000..2725bca000
--- /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 0000000000..8214d0ee07
--- /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 0000000000..67c3297611
--- /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 0000000000..9280c0d31d
--- /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 0000000000..c30d0581bf
--- /dev/null
+++ b/test/core/end2end/fuzzers/api_fuzzer_corpus/0f.bin
@@ -0,0 +1 @@
+
\ No newline at end of file
-- 
GitLab