From a92ebc8352019091fa54d1f569aab0bc449c7946 Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Sun, 24 Apr 2016 11:43:24 -0700
Subject: [PATCH] Fix test bugs, expand corpus

---
 .../transport/chttp2/transport/hpack_parser.c |   2 +-
 src/core/lib/transport/metadata.h             |   1 +
 test/core/end2end/fuzzers/api_fuzzer.c        |  74 ++--
 .../07aa7d6c71878eb78b25ca12d79082f70ae7f64c  | Bin 0 -> 343 bytes
 .../3465fb573ac3c59a0804aadeba2f205870abcc3d  | Bin 0 -> 342 bytes
 .../595603f4ed37e3716cbe53b3ef180e5cdf8005f0  | Bin 0 -> 223 bytes
 .../6186bfc21ff7df3982e5d9757e5c7160da0f493a  | Bin 0 -> 390 bytes
 .../8a912877743b165b233303efaf502f5092b3c5b0  | Bin 0 -> 570 bytes
 .../a8f87a7038125bd0e3b753c2a42ebdc3e4c75cba  | Bin 0 -> 342 bytes
 .../bc6770a9bad24599ea4970735e9b17702a12b651  | Bin 0 -> 231 bytes
 ...h-7ca23a3e10cdbf579cf81a50e51af358f86631eb | Bin 0 -> 429 bytes
 .../d712d007679af5438c7bda723ddc724c2e57b0c1  | Bin 0 -> 405 bytes
 tools/run_tests/tests.json                    | 418 ++++++++++++++++++
 13 files changed, 460 insertions(+), 35 deletions(-)
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/07aa7d6c71878eb78b25ca12d79082f70ae7f64c
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/3465fb573ac3c59a0804aadeba2f205870abcc3d
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/595603f4ed37e3716cbe53b3ef180e5cdf8005f0
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/6186bfc21ff7df3982e5d9757e5c7160da0f493a
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/8a912877743b165b233303efaf502f5092b3c5b0
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/a8f87a7038125bd0e3b753c2a42ebdc3e4c75cba
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/bc6770a9bad24599ea4970735e9b17702a12b651
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/crash-7ca23a3e10cdbf579cf81a50e51af358f86631eb
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/d712d007679af5438c7bda723ddc724c2e57b0c1

diff --git a/src/core/ext/transport/chttp2/transport/hpack_parser.c b/src/core/ext/transport/chttp2/transport/hpack_parser.c
index 93c3e6d8b4..687936bfd3 100644
--- a/src/core/ext/transport/chttp2/transport/hpack_parser.c
+++ b/src/core/ext/transport/chttp2/transport/hpack_parser.c
@@ -639,7 +639,7 @@ static int on_hdr(grpc_chttp2_hpack_parser *p, grpc_mdelem *md,
     }
   }
   if (p->on_header == NULL) {
-    grpc_mdelem_unref(md);
+    GRPC_MDELEM_UNREF(md);
     return 0;
   }
   p->on_header(p->on_header_user_data, md);
diff --git a/src/core/lib/transport/metadata.h b/src/core/lib/transport/metadata.h
index e29e8df2c9..713d9e6782 100644
--- a/src/core/lib/transport/metadata.h
+++ b/src/core/lib/transport/metadata.h
@@ -120,6 +120,7 @@ void grpc_mdelem_set_user_data(grpc_mdelem *md, void (*destroy_func)(void *),
                                void *user_data);
 
 /* Reference counting */
+//#define GRPC_METADATA_REFCOUNT_DEBUG
 #ifdef GRPC_METADATA_REFCOUNT_DEBUG
 #define GRPC_MDSTR_REF(s) grpc_mdstr_ref((s), __FILE__, __LINE__)
 #define GRPC_MDSTR_UNREF(s) grpc_mdstr_unref((s), __FILE__, __LINE__)
diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c
index c1c5966801..5ccaa784a4 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.c
+++ b/test/core/end2end/fuzzers/api_fuzzer.c
@@ -143,19 +143,6 @@ static grpc_byte_buffer *read_message(input_stream *inp) {
   return out;
 }
 
-static void read_metadata(input_stream *inp, size_t *count,
-                          grpc_metadata **metadata) {
-  *count = next_byte(inp);
-  *metadata = gpr_malloc(*count * sizeof(**metadata));
-  memset(*metadata, 0, *count * sizeof(**metadata));
-  for (size_t i = 0; i < *count; i++) {
-    (*metadata)[i].key = read_string(inp);
-    read_buffer(inp, (char **)&(*metadata)[i].value,
-                &(*metadata)[i].value_length);
-    (*metadata)[i].flags = read_uint32(inp);
-  }
-}
-
 static int read_int(input_stream *inp) { return (int)read_uint32(inp); }
 
 static grpc_channel_args *read_args(input_stream *inp) {
@@ -366,6 +353,11 @@ typedef struct call_state {
   int pending_ops;
   grpc_call_details call_details;
 
+  // array of pointers to free later
+  size_t num_to_free;
+  size_t cap_to_free;
+  void **to_free;
+
   struct call_state *next;
   struct call_state *prev;
 } call_state;
@@ -403,11 +395,42 @@ static call_state *maybe_delete_call_state(call_state *call) {
   grpc_metadata_array_destroy(&call->recv_trailing_metadata);
   gpr_free(call->recv_status_details);
   grpc_call_details_destroy(&call->call_details);
+
+  for (size_t i = 0; i < call->num_to_free; i++) {
+    gpr_free(call->to_free[i]);
+  }
+  gpr_free(call->to_free);
+
   gpr_free(call);
 
   return next;
 }
 
+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 =
+        gpr_realloc(call->to_free, sizeof(*call->to_free) * call->cap_to_free);
+  }
+  call->to_free[call->num_to_free++] = p;
+}
+
+static void read_metadata(input_stream *inp, size_t *count,
+                          grpc_metadata **metadata, call_state *cs) {
+  *count = next_byte(inp);
+  *metadata = gpr_malloc(*count * sizeof(**metadata));
+  memset(*metadata, 0, *count * sizeof(**metadata));
+  for (size_t i = 0; i < *count; i++) {
+    (*metadata)[i].key = read_string(inp);
+    read_buffer(inp, (char **)&(*metadata)[i].value,
+                &(*metadata)[i].value_length);
+    (*metadata)[i].flags = read_uint32(inp);
+    add_to_free(cs, (void *)(*metadata)[i].key);
+    add_to_free(cs, (void *)(*metadata)[i].value);
+  }
+  add_to_free(cs, *metadata);
+}
+
 static call_state *destroy_call(call_state *call) {
   grpc_call_destroy(call->call);
   call->call = NULL;
@@ -688,7 +711,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
             case GRPC_OP_SEND_INITIAL_METADATA:
               op->op = GRPC_OP_SEND_INITIAL_METADATA;
               read_metadata(&inp, &op->data.send_initial_metadata.count,
-                            &op->data.send_initial_metadata.metadata);
+                            &op->data.send_initial_metadata.metadata,
+                            g_active_call);
               break;
             case GRPC_OP_SEND_MESSAGE:
               op->op = GRPC_OP_SEND_MESSAGE;
@@ -702,7 +726,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
               read_metadata(
                   &inp,
                   &op->data.send_status_from_server.trailing_metadata_count,
-                  &op->data.send_status_from_server.trailing_metadata);
+                  &op->data.send_status_from_server.trailing_metadata,
+                  g_active_call);
               op->data.send_status_from_server.status = next_byte(&inp);
               op->data.send_status_from_server.status_details =
                   read_string(&inp);
@@ -751,30 +776,11 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
           op = &ops[i];
           switch (op->op) {
             case GRPC_OP_SEND_INITIAL_METADATA:
-              for (size_t j = 0; j < op->data.send_initial_metadata.count;
-                   j++) {
-                gpr_free(
-                    (void *)op->data.send_initial_metadata.metadata[j].key);
-                gpr_free(
-                    (void *)op->data.send_initial_metadata.metadata[j].value);
-              }
-              gpr_free(op->data.send_initial_metadata.metadata);
               break;
             case GRPC_OP_SEND_MESSAGE:
               grpc_byte_buffer_destroy(op->data.send_message);
               break;
             case GRPC_OP_SEND_STATUS_FROM_SERVER:
-              for (size_t j = 0;
-                   j < op->data.send_status_from_server.trailing_metadata_count;
-                   j++) {
-                gpr_free((void *)op->data.send_status_from_server
-                             .trailing_metadata[j]
-                             .key);
-                gpr_free((void *)op->data.send_status_from_server
-                             .trailing_metadata[j]
-                             .value);
-              }
-              gpr_free(op->data.send_status_from_server.trailing_metadata);
               gpr_free((void *)op->data.send_status_from_server.status_details);
               break;
             case GRPC_OP_SEND_CLOSE_FROM_CLIENT:
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/07aa7d6c71878eb78b25ca12d79082f70ae7f64c b/test/core/end2end/fuzzers/api_fuzzer_corpus/07aa7d6c71878eb78b25ca12d79082f70ae7f64c
new file mode 100644
index 0000000000000000000000000000000000000000..e87065df42b1e613afe3153427adf0727157e647
GIT binary patch
literal 343
zcmWek&PdG5OU+?mDo!mbOD$sH_|L>v&X>x;QB<a(^`D7}fvud6Bh_BbmWhq4+&;Ca
zjEPTyfsG;c|6K;AqB6!J1|~L;J_!cKM_1U8wK6a;g3Ku@(*WsAwMWufRK~Pc@wGZ*
zQA<0+e~wjU42*|D85oPSnDkp7G5!C~5v<3=mRh_ym5Ht8(c1D<j<PO?A_g$vTFbzg
zYQ@UL$EI2SKlM3BQCTSiBZC&#e~?2M9w{(zGw?96fRwT@aB^@mF)%VPGB7Z<JX*`b
z!0DWtT3p0*1l5t&Esqiz7@640nHl&}If}~cwf=()oAPMsZ-)IvjE`Di0a8?^A;k2O
qje&vTf2uObI1bJo_Dl>63>}OukJuQj88{f$GH@1gFmP}(>;M4yC0bwr

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/3465fb573ac3c59a0804aadeba2f205870abcc3d b/test/core/end2end/fuzzers/api_fuzzer_corpus/3465fb573ac3c59a0804aadeba2f205870abcc3d
new file mode 100644
index 0000000000000000000000000000000000000000..58f59a48141f612f767a60964e63ccd8f37fde30
GIT binary patch
literal 342
zcmWek&PdG5OU+?mDo!mbOD$sH_|L>v&X>x;QB<a(^`D7}fvud6Bh_BbmWhq4+&;Ca
zjEPTyfsG;cKVwlD69Z!r0}~rap9BNrqbqF4S{WD^LFN>dX@GR5+9Pz{Eh=MLtN2=-
zv8bh;;XlW!G6u#&p$v>gT1@&akC^`d=LptgVoNRFoXW)3@@Q>&Do0tDLlFZQaIIxv
zOtoTV;$zb+|DXDtqo}NufssLr>p#dL4388TxEXkuSU^fy7&tjN85kHD7#SECTOO@t
zVc>L5O)V~BI)ds*>y}4}j7)6h%nW>~97SdJTK_?2O?kBRH^crS#z!r%@F*(N5Mp}C
q#=yYvKUEoI8VBbN`?W^FY8{L%kJuQj88{f$GH@1gFmP}(>;M4ZNLttc

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/595603f4ed37e3716cbe53b3ef180e5cdf8005f0 b/test/core/end2end/fuzzers/api_fuzzer_corpus/595603f4ed37e3716cbe53b3ef180e5cdf8005f0
new file mode 100644
index 0000000000000000000000000000000000000000..ceee8e5b32d4ac9a568b3e0f52acf965c6e04880
GIT binary patch
literal 223
zcmZQ#Vqh!h<4Cnvvt?rADz{H9Dr4ePU|?fN{eQQpjERA<h=GZ%s4TTef`O4Sy{I5r
zFE_CwJ~y?vI59mnJ|{IVy(EKyi7mBwb1D;Cc`8R)7ef&P7;vp+U}R<DV=Mok`kbSv
ztdxO|L5u4@$UKHe3Jlx~JWMPM3>pj!j0_CUsj0<9Oh=g5%K1_`IEu<NwEi<NFt$8O
zWMG7d6_wd*{r}CdzliZs3&($$n1&Y9OEv}uhX1L`Tx(evI5{|X*snDRR_kDFd9;>+
JvxtL%0RUaTIf(!O

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/6186bfc21ff7df3982e5d9757e5c7160da0f493a b/test/core/end2end/fuzzers/api_fuzzer_corpus/6186bfc21ff7df3982e5d9757e5c7160da0f493a
new file mode 100644
index 0000000000000000000000000000000000000000..45ec1dc83a09f75d4d6bbcd1df1953bbab5a218d
GIT binary patch
literal 390
zcmWek&PdG5OU+?mDo!mbOD$sH_|L?|R?e5oQB<a(^`D7}fvud6Bh_BbmWhq4+&;Ca
zjEPTyfsG;c|J|Z8CI-eL1|~L;J_!cKM_1S&Iw4va7#N|(fOMwXqv~Ay@4w<}b;hEW
zc832PtI8M{4}~%?7HKi*w>(m0`v0FJSdWP<wRm$X6I;upwdJWCWe!CQV8FGOficyJ
zm5Gl{v;2SRbB?02QU*o_Ew29{r!YKHVBlupVPXO)Wntjt;ACK6WME`qU~GA`mW6@S
zIW@Joi0KHbGp$=5B{DEFv6VA3@TC@&*=zj=nKk8+>TibqMU0PHIQ~P_7nNxUF}-Ai
z_=bUj;eV<!$V?8-9rkMtgVj11TOP47STk@itYzRt^(-`)I2brM89;%xLjx3AYt>=?
GX8-^eBx%L~

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/8a912877743b165b233303efaf502f5092b3c5b0 b/test/core/end2end/fuzzers/api_fuzzer_corpus/8a912877743b165b233303efaf502f5092b3c5b0
new file mode 100644
index 0000000000000000000000000000000000000000..1e978a110be602933d2e4948a125f0c8024c9cc8
GIT binary patch
literal 570
zcmWek&PdG5OU+?mDo!mbOD$sH_|L>v&X>x;QB<a(^`D7}fvud6Bh_BbmWhq4+&;Ca
zjEPTyfsKJ7y{I5rFE_Cwz9=<0KQAvexg<U*F*!RwEiFE`m?8B)V^J9s17nd00}~s_
zTnProM_1U8jb>nA1ldzmrU5cJ)gESY>i@e%WlU=oU#l|~wX`$*=U7$7z<4N>sob7}
zk1ZAA4zOwl#v&~y{gy{e|NnCY>oKvV7H>{vVrzM{wmg-itjmGFhye_^)-o`rTCp<m
zv1yk7Pkqi&R94Es$e_jbpRtI6iQ$m~12+Q?6AMTw3j-$yCj$c`10w?iW6PtpEDW4r
zzd~HZ08-DET$Wm-0rJaQMRj$?W{3+J7!PqUFffE7+)|thatqiY3=Hrv23f)Yau3Kg
z<^NN$xP^z2fq@}4wYZ4sNFoCR<NhMXM=cx-tI9wD$}r{8Qfqhw6_sf*FzIVJLlmQi
ztaZzyL`EjIa%NCW@qz5I*ZL3g@RUbOe>3baVw~3ki{~PS|EbFMYYl?+I*J&|G=!L5
ovN14##6aHX;M`%q)-YJDgR$ii8-q0i2g6zh&LR#54o-$009(bHrvLx|

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/a8f87a7038125bd0e3b753c2a42ebdc3e4c75cba b/test/core/end2end/fuzzers/api_fuzzer_corpus/a8f87a7038125bd0e3b753c2a42ebdc3e4c75cba
new file mode 100644
index 0000000000000000000000000000000000000000..219182e02901c79e66f495695a02959db76fc7bd
GIT binary patch
literal 342
zcmZQ7PAw`+En?vK&&0%5&X>x;QB<a(^`D7}fvud+i6hls&6bIYO@l8LBF@HDZl79I
z#>A(<z{ZgJ|87wk69Z!r0}~s_5D5mxM_0gx6qRW(v2m5B+Jlrr%q>FbSgZJ2ow2Be
zfuWt@KL-P2Zzuy}krtDF%Oj@$|2cy7nAlQ_H>WbOm8Wu)bvYC<fC1N921Y9;J~qwr
z|EbS8ipokE7|ZPcGZryuae+uChDQnv+zdQSEMV0P3=E7dkJf53a4<5kK-f@{lZAov
zMQUns5z`TfyCD8zV6bj^l*quyqy=@qz1IKVQu~V-9|^Q@{D-In1q{<mHU<WU|EbDr
iSr|AuICt2uH4IkkU~GBB#;}%wvxtL%gOh=SVFv*6#aaUZ

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/bc6770a9bad24599ea4970735e9b17702a12b651 b/test/core/end2end/fuzzers/api_fuzzer_corpus/bc6770a9bad24599ea4970735e9b17702a12b651
new file mode 100644
index 0000000000000000000000000000000000000000..57a17c105d1ce36d35a57d577d3f8a6f76b8cbbd
GIT binary patch
literal 231
zcmZQ#<0`jTWlAk8V&G$9D^KMpDr4efEB~L$QN+X%tjEMwoLW@Ik%}f&rj^Rb@Sm}W
zfr;S}Q&}pA#n{5Yz`<C=p}_E{g@G}>s32LdxHu=iB(W$xwIn_-F*h|nzbv(=C^IFM
z;Xfk-W03*_8-oS`bztW(fbC&mY*`DofZ-9_)1tD}A_lPD<kY<4(qe}H91M()S{|)s
c=wf1E;9_84Xklb{#K^#~mVtwTV-^Dg0O_ql?*IS*

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/crash-7ca23a3e10cdbf579cf81a50e51af358f86631eb b/test/core/end2end/fuzzers/api_fuzzer_corpus/crash-7ca23a3e10cdbf579cf81a50e51af358f86631eb
new file mode 100644
index 0000000000000000000000000000000000000000..9618323b35872301aaf5e956c64da67a29a618cd
GIT binary patch
literal 429
zcmZQ7PAw`+En?u<^Ph={t(-5FgQKWSL+d{i69Zd0U$7HLs^D98do^1oHm-8})S@yb
zJ~;+9hSdLei^`Z77>gK~*g)DP7#JU20qZU*(*P+=wFfDM7+9nL*3l2rvR3i6I%81_
z14BE*e+~x5-cSa{A}uEUmPbtg|7!*7F|nl<Z%$=mD^KMp>#{0h00XYI42)K+Onhvb
z<^NNka}<@8GBB3e|7R>>`2YX^e=RN$i;3Zp0s}V#4-+E;0|R4vQ9-g^acXjYUP@w7
zWqfIIYEgV*dTL$?$UMfDM{6}1I2ajN7#Kio7Ty=Bsl`Q1N5HOS(r07(pQ>zc5Ukfx
z#Kcz4!BGYZ4h9D6mPd&Uj9@h!MP>F{|9?yEFJgQo(8BQ_D#(`#4mt*q2Bw#63=9na
zQ<c}UFmQ5k?yz5L^dD>;17iy#!=tqfoE!|nY9RM_Ft$8mV_3_;X;s9rmcfI80csk=
Shad+sa0qa4GVBlt)&l@uTYMe>

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/d712d007679af5438c7bda723ddc724c2e57b0c1 b/test/core/end2end/fuzzers/api_fuzzer_corpus/d712d007679af5438c7bda723ddc724c2e57b0c1
new file mode 100644
index 0000000000000000000000000000000000000000..81295b8c9f6c5777d27faaa7b53a24c514bd8180
GIT binary patch
literal 405
zcmZQ7PAw`+En?tM|Ift4R?e5o!BJGEq4l4MiGhtVond-<Q9-g^MoCG5kzP)Ies*F;
zYGO)!Qe{bMF#{6=BUm;!u_C@GH90>oFEzO&J}EIdJ3lQgKDU?wESsE~S6o`mz*U}V
zUsT4#2eG3_fq{)7^?(1}qB2FMwTiFR8H-vN7}^>Bb1*RWhB7b~X))=yJYxF)pCee0
zi7mBwb1D;Cc`8R)mqQT)7;vp+V6<Xo;$zb+|DXDtqo}Nufw9c~KVuQY|NsC0YjJ^C
zObm|{7`PdDm>9uY7#Ld~t<_}UU}Run0JB*bcweL@78fxc0Xs^QNuQ1Bf2y**L9kv&
z5ffWE2S*twBp4X1TOK7cFoG3v6qVU){r@eszliaXKnurzs32b|M-dYPLm4ROm|n6m
zFfja2RbI=Yz{$b6!+x#Nf3SrNj4g}|kJd79rZO-va4-a`{r~?zIU_MIFExjOfzzsp
OV=aRR0|N)=(j5Q=xp&3@

literal 0
HcmV?d00001

diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index cb88e4570c..bd9d4eae1c 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -23454,6 +23454,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/0433cabb8c28820bda0a6eac35d17d120f1b6865"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/0452ea591951af85724608917fda16926dad7451"
@@ -23608,6 +23630,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/07aa7d6c71878eb78b25ca12d79082f70ae7f64c"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/07ae5ed3dedbd83e376c892a9546cc0cd733c26f"
@@ -24554,6 +24598,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/253b8946a7cf403dd466f1685df2f741d4660a34"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/2743ee5a764fb0c4e04cdf84c9b3810ac8093998"
@@ -25148,6 +25214,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/3465fb573ac3c59a0804aadeba2f205870abcc3d"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/368d2b5d4c6776afbed8e5e76cc3a4ccdde1df42"
@@ -26160,6 +26248,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/595603f4ed37e3716cbe53b3ef180e5cdf8005f0"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/5a6491ab9c23fae58967d4a4b5d5cfb23f620001"
@@ -26336,6 +26446,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/6186bfc21ff7df3982e5d9757e5c7160da0f493a"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/6230cce2862a18c4c92dc6fb4e034a1d15e1ff18"
@@ -26424,6 +26556,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/66ac31199d08e7a3b066059cd409457a850847b2"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/682cb8ad9fe4641e7a140ae3d3ee27c841ba397f"
@@ -27172,6 +27326,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/83c29132911949c65d508753420708e9a0ffd6ab"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/8492f54a92f9a2a05af1a078489a3a68145d8985"
@@ -27436,6 +27612,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/8a912877743b165b233303efaf502f5092b3c5b0"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/8a9f7329b30a562837353767313df7fa9a1f31f7"
@@ -28184,6 +28382,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/a8f87a7038125bd0e3b753c2a42ebdc3e4c75cba"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/a967ca556a517366de03b8a9d21e991783f0896c"
@@ -28360,6 +28580,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/af042d0ae8cd624acfa12788ffc0154e6f49394b"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/af0a181159725d308833841738c5d14d478228e8"
@@ -28822,6 +29064,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/bc6770a9bad24599ea4970735e9b17702a12b651"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/bc7f0b79a1781772d7f48e168462f99da27b03e2"
@@ -28844,6 +29108,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/bc96b9415e9bb48d27f37d91c51d10ec08139974"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/bcae3229d884c5cfc36ae28c672f9b960e30042f"
@@ -28910,6 +29196,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/bd4786be14d852c68e605eaefa782f79064f32e2"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/bde8a553b10a613c32f800429a07f0b5a2d37e53"
@@ -29130,6 +29438,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/c69863dd21c782e609d6ecdb9150f887a0f39989"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/c73e85bdaa195d9659ae9b08995a9fb716f9c92a"
@@ -29416,6 +29746,50 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-1b9aeaf762bb1a972dda8f3a455df2628efd693b"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-7ca23a3e10cdbf579cf81a50e51af358f86631eb"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-82b2ae1d2174f5782b32c89ce60f68bf5a30c0e1"
@@ -29900,6 +30274,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/d712d007679af5438c7bda723ddc724c2e57b0c1"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/d91e9bf6b6c78f35a68ba877f3325b3c1ee3db35"
@@ -30274,6 +30670,28 @@
       "posix"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/e33f7d7998fe6e12ecc4014c8434e4ca591371b3"
+    ], 
+    "ci_platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux", 
+      "mac", 
+      "windows", 
+      "posix"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/e401c1abdd1ef0458dd46e35167c4734667ebcc0"
-- 
GitLab