From e98b494db77f9b10522cf6a8238deb8d7bd55345 Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Sat, 30 Apr 2016 14:11:33 -0700
Subject: [PATCH] Fix bug where max_frame_size was ignored

Also add corpus entries that helped diagnose this bug
---
 .../ext/transport/chttp2/transport/internal.h |   8 +-
 .../ext/transport/chttp2/transport/parsing.c  |  21 +-
 .../03a72675e1969f836094f1ecfec2a7b34418e306  | Bin 0 -> 286 bytes
 .../0416afd6875d9ba55f1e5f86a6456a5445d5e576  | Bin 0 -> 651 bytes
 .../08c42ef29eff83052c5887855f2fa3e07ebe470c  | Bin 0 -> 650 bytes
 .../1ba889ea1543297824e99e641e6ca8b91f45732e  | Bin 0 -> 650 bytes
 .../3b09bf453c6f93983c24c4d5481e55d66213f93a  | Bin 0 -> 650 bytes
 .../49cb33cbb60f041e8e99dd718993acd2c3354416  | Bin 0 -> 357 bytes
 .../59743fe120be6ae1aed1c02230ee1bb460f621ee  | Bin 0 -> 628 bytes
 .../a5ccb8f124d8ddb5350b90bc0d6b96db280cb7c9  | Bin 0 -> 651 bytes
 .../a7fac1265a384fe9e45a9ee3d708b79c4e80505e  | Bin 0 -> 286 bytes
 .../aaf049720c707d4e14e47e7eb31d6a2dda60e66a  | Bin 0 -> 651 bytes
 .../c4e4c7572e005e18d56eac407033da058737a5ab  | Bin 0 -> 651 bytes
 ...h-dae0f07934a527989f23f06e630710ff6ca8c809 | Bin 0 -> 104 bytes
 .../e96ad9c17795e52edc810a08d4fc61fe8790002a  | Bin 0 -> 651 bytes
 .../fa202a5f51cd49f8ea5af60c5f403f797c01c504  | Bin 0 -> 651 bytes
 tools/run_tests/tests.json                    | 224 ++++++++++++++++++
 17 files changed, 246 insertions(+), 7 deletions(-)
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/03a72675e1969f836094f1ecfec2a7b34418e306
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/0416afd6875d9ba55f1e5f86a6456a5445d5e576
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/08c42ef29eff83052c5887855f2fa3e07ebe470c
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/1ba889ea1543297824e99e641e6ca8b91f45732e
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/3b09bf453c6f93983c24c4d5481e55d66213f93a
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/49cb33cbb60f041e8e99dd718993acd2c3354416
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/59743fe120be6ae1aed1c02230ee1bb460f621ee
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/a5ccb8f124d8ddb5350b90bc0d6b96db280cb7c9
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/a7fac1265a384fe9e45a9ee3d708b79c4e80505e
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/aaf049720c707d4e14e47e7eb31d6a2dda60e66a
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/c4e4c7572e005e18d56eac407033da058737a5ab
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/crash-dae0f07934a527989f23f06e630710ff6ca8c809
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/e96ad9c17795e52edc810a08d4fc61fe8790002a
 create mode 100644 test/core/end2end/fuzzers/server_fuzzer_corpus/fa202a5f51cd49f8ea5af60c5f403f797c01c504

diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h
index 7a8084641d..04c75619df 100644
--- a/src/core/ext/transport/chttp2/transport/internal.h
+++ b/src/core/ext/transport/chttp2/transport/internal.h
@@ -236,9 +236,6 @@ struct grpc_chttp2_transport_parsing {
   /** was a goaway frame received? */
   uint8_t goaway_received;
 
-  /** the last sent max_table_size setting */
-  uint32_t last_sent_max_table_size;
-
   /** initial window change */
   int64_t initial_window_update;
 
@@ -272,6 +269,9 @@ struct grpc_chttp2_transport_parsing {
   uint32_t incoming_frame_size;
   uint32_t incoming_stream_id;
 
+  /* current max frame size */
+  uint32_t max_frame_size;
+
   /* active parser */
   void *parser_data;
   grpc_chttp2_stream_parsing *incoming_stream;
@@ -282,6 +282,8 @@ struct grpc_chttp2_transport_parsing {
 
   /* received settings */
   uint32_t settings[GRPC_CHTTP2_NUM_SETTINGS];
+  /* last settings that were sent */
+  uint32_t last_sent_settings[GRPC_CHTTP2_NUM_SETTINGS];
 
   /* goaway data */
   grpc_status_code goaway_error;
diff --git a/src/core/ext/transport/chttp2/transport/parsing.c b/src/core/ext/transport/chttp2/transport/parsing.c
index e827a43f7a..2995066e51 100644
--- a/src/core/ext/transport/chttp2/transport/parsing.c
+++ b/src/core/ext/transport/chttp2/transport/parsing.c
@@ -79,9 +79,12 @@ void grpc_chttp2_prepare_to_read(
   GPR_TIMER_BEGIN("grpc_chttp2_prepare_to_read", 0);
 
   transport_parsing->next_stream_id = transport_global->next_stream_id;
-  transport_parsing->last_sent_max_table_size =
-      transport_global->settings[GRPC_SENT_SETTINGS]
-                                [GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE];
+  memcpy(transport_parsing->last_sent_settings,
+         transport_global->settings[GRPC_SENT_SETTINGS],
+         sizeof(transport_parsing->last_sent_settings));
+  transport_parsing->max_frame_size =
+      transport_global->settings[GRPC_ACKED_SETTINGS]
+                                [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE];
 
   /* update the parsing view of incoming window */
   while (grpc_chttp2_list_pop_unannounced_incoming_window_available(
@@ -388,6 +391,12 @@ int grpc_chttp2_perform_read(grpc_exec_ctx *exec_ctx,
           return 1;
         }
         goto dts_fh_0; /* loop */
+      } else if (transport_parsing->incoming_frame_size >
+                 transport_parsing->max_frame_size) {
+        gpr_log(GPR_DEBUG, "Frame size %d is larger than max frame size %d",
+                transport_parsing->incoming_frame_size,
+                transport_parsing->max_frame_size);
+        return 0;
       }
       if (++cur == end) {
         return 1;
@@ -840,7 +849,11 @@ static int init_settings_frame_parser(
     transport_parsing->settings_ack_received = 1;
     grpc_chttp2_hptbl_set_max_bytes(
         &transport_parsing->hpack_parser.table,
-        transport_parsing->last_sent_max_table_size);
+        transport_parsing
+            ->last_sent_settings[GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE]);
+    transport_parsing->max_frame_size =
+        transport_parsing
+            ->last_sent_settings[GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE];
   }
   transport_parsing->parser = grpc_chttp2_settings_parser_parse;
   transport_parsing->parser_data = &transport_parsing->simple.settings;
diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/03a72675e1969f836094f1ecfec2a7b34418e306 b/test/core/end2end/fuzzers/server_fuzzer_corpus/03a72675e1969f836094f1ecfec2a7b34418e306
new file mode 100644
index 0000000000000000000000000000000000000000..503af15fe81ccba6a1300796531f278f34d9be84
GIT binary patch
literal 286
zcmY+9%}&EG49DA1#HcnY7p|z{#K*FBNL=;=?0~3fUm$b5#!{L@t&14X%>$5f!?LZP
zzx0>uk3;cTytZv!K5wgazRsJsIVVYy#hC3UohcQU`=Hn?%aixzQ4Qj1KZ3y?Gs7HW
z)gv3Pv--VhMP~fS*VcowGl>;=$LLt{IpD1d!4fDY@5*inVEBnf8U0gP(rHu+AQb=x
zmgvB1a@`H-cu#!ZXgpcPxaqzrhy~-42SpZ#QRLHzgH&ByygMo_!BWIxmXJ_Z+g*Hd
bTNU?~-1PMzR(}Jg9{t1@yQ=x$S-dpAwYOHl

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/0416afd6875d9ba55f1e5f86a6456a5445d5e576 b/test/core/end2end/fuzzers/server_fuzzer_corpus/0416afd6875d9ba55f1e5f86a6456a5445d5e576
new file mode 100644
index 0000000000000000000000000000000000000000..30229f98fd3e7479f61635c604dbb259dddfd23f
GIT binary patch
literal 651
zcmcIiO;3a{5G@2Fq9i@&op@5Se7Hw0UiDxkE`Oj~y3nNCHtmqO{%(&ZS`cnz_2ML*
zbf#}6Gw-!}eM;_<$GWcabymbt9BrNlj}Qvnapog$xOw=b)C9UP-zk-EiNU9(r5)R|
zpaak@+B4`>6I3so8b>ARU1T^M&V-^wbjkw0ph^OhkitPTOtco965vYat<e-;4n8H6
zG7Tw{R5e_-R}I?<0&K+_SLyn#+IOz84=e;jxM0TOsJG0dq;-Jm*L~23=T`I3ywCNP
zG$|F_6({2WG%vDyM@Cj8H-gLl?G`<Jj#PM~|6k`Xv_Bu`vOu7>PKosbWJ<*&a^^0a
eIa?_BlZ?S2+mC<?EsmwWCOd{1-ll(nltkZz^?4)!

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/08c42ef29eff83052c5887855f2fa3e07ebe470c b/test/core/end2end/fuzzers/server_fuzzer_corpus/08c42ef29eff83052c5887855f2fa3e07ebe470c
new file mode 100644
index 0000000000000000000000000000000000000000..828275ee3c3c46584136c653f39bac7885b6e912
GIT binary patch
literal 650
zcmcIiO-sZu5KWhgwOYtQ@5PhK_Ct@o=ur=1ar+0dX|@eylaNfo^>=#|G^x9XE}~u>
z$dEV8o6NjP{rr$#rT0x!7dLsC#7Vq(^d2D;y5nqy0)GqeL8S@wQL$30SQ3K|D@%K}
zW?>JY9a=N!RU6h%iw4IP85}YkHb+8HB6?*3pHL-%NyuQM875i_P6==&i_U0@Prc6w
zrA$M{Bvmb!-C4_4f&iQI)-heZdH2dSo&k%%5H6UpI36rB8R=X?{p&pFEpVd+XgAOK
zlC&8W+>z6<0a}##wG$&R(+k1n@N$W6-@OuncT=mT@So7}*p~$YgAM3Uk0fK}PP=HQ
i**BCwtugd#`&!_B3A`Ve;E%0Mf)j8zqV2apN}^Aa{(0R1

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/1ba889ea1543297824e99e641e6ca8b91f45732e b/test/core/end2end/fuzzers/server_fuzzer_corpus/1ba889ea1543297824e99e641e6ca8b91f45732e
new file mode 100644
index 0000000000000000000000000000000000000000..6ed060d1e33cc75aa2a1c2e40990d19970c94819
GIT binary patch
literal 650
zcmcgqJx{|h5VflyLLia{*dr!D%|{utu)=_dX#RlfxQQj#w(N^U`Q402;DlzY0uv|s
z$!Fg?-@SA7`jp%yk9A$;_gN7~akPFO5Fr%!<!yoRu*2k}G!(ip-)fz2s3oVRV;$e|
zpaU@8+i~c06I3tjnnWe-y=MjN&!lElcG>~CU|IoJkiy<@LXDAvQ4m_?tu>5X4wzEL
zxPg=_rW>K!tA=kS1-=xGXZn20_FWjV03L#+LUQX!)H`ld+WLU%*M86k_N`$w^>e+U
zP0FP3<YX*><wdsgVq`^fBZcbUZqdW%C<Pwz|KWVB%K?Sn;nm#x@fbO27fzZTq5Nr#
Z!7#R;0Uk*)cl33zxfp+U_!dYj^bHJ$c_9D*

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/3b09bf453c6f93983c24c4d5481e55d66213f93a b/test/core/end2end/fuzzers/server_fuzzer_corpus/3b09bf453c6f93983c24c4d5481e55d66213f93a
new file mode 100644
index 0000000000000000000000000000000000000000..1a7a213cd715ecf7e3b2bbef1becd953cf6ce4b4
GIT binary patch
literal 650
zcmbtSO-sZu5KWhgwOYtQ@5PhK_Ct@o=ur=1ar+0dX|@SulhDqB6@Ruz!A-jEq3b6&
zkRfj}?~!>)`FIy!#J5#dW>;w*g;6-WcNrn%+ht>dJh$`kUSSCEAX{ji%}I;*i;i-(
zWIhKl7A+ZYUHj$3tioYIRu;7a`U9yck-X^uA5pD<DM+9<3=?Cdpag_gS<@Pdk6lg(
zrOZIW6xFp*%}LD`k^q~E+A^))w0RZ=Pk;r`5+PaJp=cm(8NO@yejfDd+0i_-o#%8;
z>V!&R)#E{jW_fyP%}De3ObWGnI!D)U&I!+@aTH@{(fdbyI`~K7aJW|o1Xi6#e-auy
m5o|nr>A#@-=^1^lJJ>wnt_0pKjPUO++zkCZ8@>h73atUHl!AHy

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/49cb33cbb60f041e8e99dd718993acd2c3354416 b/test/core/end2end/fuzzers/server_fuzzer_corpus/49cb33cbb60f041e8e99dd718993acd2c3354416
new file mode 100644
index 0000000000000000000000000000000000000000..7f975251ddc4dcbabc73068dc55220f700ed5502
GIT binary patch
literal 357
zcmZ`#O;5ux3~fh&QEgI?xNt#LPYl+tNeF2-Zg4<Uw0|H=y*5&sM2%Z9{x?@jigw|E
z6<g2Gmh<fV{Ux{yp35>%HgUT2mwxd&MaOYG>yv%C6LQJvR#R-|$zG|1cI13(SOYD1
z4WhPL3)ra2%ioIcaU4tHHOk<HP>hNRkp)u{L1Kgl4L4M4!5KxaWKwsU-DAT|WZysq
zugKNJMU-8JA*-b6O|;|k%s@B5(|=+IPHod+UBO;ZgmwMNHJKsIv7=l-XNce12@$QW
zif~7(hzV|C@cS1_9^=fOAWnl@!DaukB8%F!iz9DA^>~t{ZDFZN*O8jp>ZWj<>*Im`
O6#XE3Fu>GGR^|s4h-V@I

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/59743fe120be6ae1aed1c02230ee1bb460f621ee b/test/core/end2end/fuzzers/server_fuzzer_corpus/59743fe120be6ae1aed1c02230ee1bb460f621ee
new file mode 100644
index 0000000000000000000000000000000000000000..3038fde54719db4a3f0ce804f452a626f38a0ca2
GIT binary patch
literal 628
zcmd5)O-sZu5KWhgwOGhO@5PhK_Ct@oc-4bg-2Q>tbhZs-laNlq^>=&pU|QXSu%O_@
zKpvSPGrW0k>gR{_I=ye2y132DBu?Vh<AjW{&|iNRESO#aKdLNH9~B#8iZwWXTn(bf
zErvaj_0bloH*Huytr{LzF#5<z+MOsPK=o!IekzP6)RfWAA_r@g6hPAGqH|X8vk5a0
z0xe~zg=wYk&Rg6lAY97USNeX-?p0d8AdJX?ROkjCj{~|4I{%^maUS;eeV&Uow3$%S
z7pF4;QIz?O7b7pzOC|OAa>ef6XDNai{}m)N<-J(ZUZevYf8|>^`Sj`7ffj#BeJubp
GntcG*sBCWl

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a5ccb8f124d8ddb5350b90bc0d6b96db280cb7c9 b/test/core/end2end/fuzzers/server_fuzzer_corpus/a5ccb8f124d8ddb5350b90bc0d6b96db280cb7c9
new file mode 100644
index 0000000000000000000000000000000000000000..9d39854fc970a412a7822e0bae9030fa900e56e2
GIT binary patch
literal 651
zcmcgqJx{|h5VflyLLia{*dr!D%?BN`u)=_dX#RlfxQQj#w(N^U`Q402;DlzY0uv|s
z$!Fg?-@SA7`jp%yk9A$;tE`BlI9fjsh!6_=^0q*D*kN)~8VX&QZ?(=h)RNQEv5xO}
z&;c0l?KpJ0396TMO`?+a-m?PsXHqjNJMDm6Fs*<qNMUa{p~gtTC<v|c)*41G2TUnr
z+(60|(~VH=Rl~QE0$+;8Gkv~g`z{Pw01v@ZA-Q!V>K(T!ZGAxXYd`1%`_?d;`nlfF
zCS_81axxac@*=zUVq`^fBZcbUZqdW%C<Pwz|KWVB%K?Sn;nm#x@fbO27fzZTq5Nr#
Z!7#R;0Uk*)cl33zxtQVZ@Gp>7=o^D)c_IJ+

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/a7fac1265a384fe9e45a9ee3d708b79c4e80505e b/test/core/end2end/fuzzers/server_fuzzer_corpus/a7fac1265a384fe9e45a9ee3d708b79c4e80505e
new file mode 100644
index 0000000000000000000000000000000000000000..338f61bdce7de24e9f547fea219d7e330cf4cd55
GIT binary patch
literal 286
zcmY+9%}&EG49C||#HcnY7p|z{1ZZhHBrf9x*a1<|zCh-9jioe+S{E^%n+G7}hGknn
zf9WsRABX%ge{I{kd@8C<w#k~eIWHEAG{$T{$xMm3+y}*GRi3;rk7^KC`w<NGm>T8~
zs~*{So!0M7D^lY}zP28eok^_0J4VNn&jD{$2$n!Gc~^ErfEPA2%IKfUl1`#p0I2{l
zutW!5lk09s$9v-QR^!Pk#%=daK`a?pJSeg_j3S#x9Hi>v;@wec36>(}vxJ1QDt7V3
cqRQ_rx#{actp5f~J^G0+c2)DgvwUuT0lv*v&;S4c

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/aaf049720c707d4e14e47e7eb31d6a2dda60e66a b/test/core/end2end/fuzzers/server_fuzzer_corpus/aaf049720c707d4e14e47e7eb31d6a2dda60e66a
new file mode 100644
index 0000000000000000000000000000000000000000..dab9c75822fa7c75554351917d686c8e18ddad75
GIT binary patch
literal 651
zcmcgqJx{|h5VflyLLia{*dr!D%?FHGSYfD$X#RlfxQQj#w(N^U`Q402;DlzY0uv|s
z$!Fg?-@SA7`kdS)Pjy}84_OgMakO3yh!6_=^0q*D*kN)~8VX&QZ?(=h)RNQEv5xO}
z&;c0l?KpJ0396TMO`?+a-m?PsXHqjNJMDm6Fs*<qNMUa{p~gtTC<v|c)*41G2TUnr
z+(60|(~VH=Rl~QE0$+;8Gkv~g`z{Pw01v@ZA-Q!V>K(T!ZGAxXYd`1%`_?d;`nlfF
zCS_81axxac@*=zUVq`^fBZcbUZqeiCC<Pwz|KWVB%K?Sn;bQLnc#NF13n$HvQ2sQ=
ZU>Mua0FR`YJNi1<T+DEH_!mek^bLWvc_07)

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/c4e4c7572e005e18d56eac407033da058737a5ab b/test/core/end2end/fuzzers/server_fuzzer_corpus/c4e4c7572e005e18d56eac407033da058737a5ab
new file mode 100644
index 0000000000000000000000000000000000000000..070a581b37eaef8e50d072c59c07435c9044d109
GIT binary patch
literal 651
zcmcIiO-sZu5KWhgwOYtQ@5R$9+Yh}6y?AvGVsZNivT3#rWRs9i!S#206f~*Z!@^R%
zIFKPPnVHPIm-2NP-^Nc>Rc7~T9)(f3dUhTm<lAL!hCH|P@JXQwv_ZB}Dq9nSPm7MW
zY|H!>KwGqB(5l)mUse?k3({L;IPA`ZqC~W+1AIZ11STPYoo1M5EjT5>mCPEWDZX?*
zA(S!=36oUSTsBuV+Xw<|!E2jo>n)mhuJH_50ETeEOozk1V<sVu4Jdz|2Yq;UG!KpQ
zT(3!;P{D0-JTySFJiW7Iq<K6ST=s7_=<(Ar;W>9`#UcDBbUyUe0fD}Im`^<t4Ur>v
g!N}Q>lt0PnJK25&JW^un=xc9NG45{vFOZVx8}uT1hyVZp

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-dae0f07934a527989f23f06e630710ff6ca8c809 b/test/core/end2end/fuzzers/server_fuzzer_corpus/crash-dae0f07934a527989f23f06e630710ff6ca8c809
new file mode 100644
index 0000000000000000000000000000000000000000..b6dfd77e676bc7c6dc4500e2b4533846853e1dcc
GIT binary patch
literal 104
zcmWFt@>I}L@CXSB&^OXE;N{}w3ibt&3=9k%Dpo*}fkA?uk%i&80^|Px6tyDhMFq*a
iiOI>S1&l_idCB=HnR)3PK&1?fAYF|A8{mMUfdK$pcNnJt

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/e96ad9c17795e52edc810a08d4fc61fe8790002a b/test/core/end2end/fuzzers/server_fuzzer_corpus/e96ad9c17795e52edc810a08d4fc61fe8790002a
new file mode 100644
index 0000000000000000000000000000000000000000..df9241dd0c6f33819a08674d0a1514907cf16c66
GIT binary patch
literal 651
zcmcIiJx{|h5VflyLLia{*dwNbnhzMWu)=_dX#RlfxQQj#w&IIK`Q402V25_7R0S4J
z^2yJ>JKw$M>h&qPO&;sI%I~uxj^b$f>^(v#aLd^YVZX!Vq%;(|Fkfq(uV_zBOUpXG
z;Xwyr9NKW`bQ4rB%bG+b9USTfY|o@-RCd||xnNoWSCGQia6*ldf>97!<!x^mx%57z
zjBx`gS4=lTwO0*aOA34;8kgznE!uZs$P9Q0Jr$DomPCW)eM(ywQ2ja&`oL~9jP~<f
zuV|ApDO_?gHo)>CyK`h@MKYH{4R1H-;nOpLy*sq>5dIT7AN#UEVX$~U^+-HM?zs#1
foE=H|lZ=6v?MJ{PC8mzPb~Y8`?{@zJX@$N4#wK}E

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/server_fuzzer_corpus/fa202a5f51cd49f8ea5af60c5f403f797c01c504 b/test/core/end2end/fuzzers/server_fuzzer_corpus/fa202a5f51cd49f8ea5af60c5f403f797c01c504
new file mode 100644
index 0000000000000000000000000000000000000000..0ba5935164ce79aad888bbb5bb41a191d02e561e
GIT binary patch
literal 651
zcmcgqO-sZu5KWefwOYtQ@5PhK_Cvu-FJAQ^7Po&On`YZUHVMfTTz|JmLDRauE!C3)
zd1R7#lbJWEUZ0Yi<gu=+{4OivD2`Uo10sY1zq~CF9(I@<m4-qW<{Pc^HMQipbgbiB
z9&`Z4ds_~jZi4D%Rg<Wsz4xqu-HFtU%1%2VXG|;L3R2h^PN*?bFbYDeytRgr^8r)J
z7&nk|#dIT7d(rTXq`;S=@l2m@*}e-y7QjQWR7h?eiF(IvN?RXL{n`)uz`iw%rhYEh
zv`Lv1o}7#Yu)N4_y%<@MTuGt&w`=t9IZA;?{C_wd>vBM$cldtp{dkO=v<oNA4p9Cy
a#$XuR&j1gkm^=E~+g!|WxBnMNEA$P8@_8iy

literal 0
HcmV?d00001

diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index 0fd77854d2..cf1154426f 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -57757,6 +57757,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/03a72675e1969f836094f1ecfec2a7b34418e306"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/03b9be1fa172dff5d1543be079b9c64fa2c9a278"
@@ -57773,6 +57789,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/0416afd6875d9ba55f1e5f86a6456a5445d5e576"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/052c8f28e5884bb48f0d504461272cd3a5893215"
@@ -57917,6 +57949,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/08c42ef29eff83052c5887855f2fa3e07ebe470c"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/09938e3256d06a8e168eb038d8a58b8462f7f697"
@@ -58365,6 +58413,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/1ba889ea1543297824e99e641e6ca8b91f45732e"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/1cf17783de9e662f3720847f2d83d86dcdcab500"
@@ -59149,6 +59213,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/3b09bf453c6f93983c24c4d5481e55d66213f93a"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/3ca5da2f.bin"
@@ -59501,6 +59581,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/49cb33cbb60f041e8e99dd718993acd2c3354416"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/4aa883d0.bin"
@@ -59949,6 +60045,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/59743fe120be6ae1aed1c02230ee1bb460f621ee"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/597fdab5.bin"
@@ -61341,6 +61453,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/a5ccb8f124d8ddb5350b90bc0d6b96db280cb7c9"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/a7e64803.bin"
@@ -61357,6 +61485,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/a7fac1265a384fe9e45a9ee3d708b79c4e80505e"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/a8d229374635fa6f2a75ca1669892e1bc244e719"
@@ -61501,6 +61645,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/aaf049720c707d4e14e47e7eb31d6a2dda60e66a"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/ad810f7f.bin"
@@ -61965,6 +62125,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/c4e4c7572e005e18d56eac407033da058737a5ab"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/c559f565.bin"
@@ -62269,6 +62445,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-dae0f07934a527989f23f06e630710ff6ca8c809"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/crash-e34b0a9a428001cb4094a9ebca76329f578811a4"
@@ -62589,6 +62781,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/e96ad9c17795e52edc810a08d4fc61fe8790002a"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/e9bbe2fe47b7b9c2683e7f17f4a33625c6ffbd8c"
@@ -62909,6 +63117,22 @@
       "linux"
     ]
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/server_fuzzer_corpus/fa202a5f51cd49f8ea5af60c5f403f797c01c504"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "server_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ]
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/server_fuzzer_corpus/fa36b4280d9e28edd81c5e4d192d1a5c2765e5e4"
-- 
GitLab