From ecb12511edcf750ca8c2a8329c9211ab309d9590 Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Mon, 5 Sep 2016 14:58:07 -0700
Subject: [PATCH] Fix fuzzing detected failure

---
 src/core/lib/channel/http_client_filter.c     |   1 -
 .../22967e8ed837f03b76a980cc1d25054fb84b40e9  | Bin 0 -> 694 bytes
 .../3f464011f8620f227309f6b2c84df6fffb8ed962  | Bin 0 -> 794 bytes
 ...h-15070b2a2719ed8a6cbbaac25da02b7085993648 | Bin 0 -> 304 bytes
 tools/run_tests/tests.json                    |  57 ++++++++++++++++++
 5 files changed, 57 insertions(+), 1 deletion(-)
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/22967e8ed837f03b76a980cc1d25054fb84b40e9
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/3f464011f8620f227309f6b2c84df6fffb8ed962
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/crash-15070b2a2719ed8a6cbbaac25da02b7085993648

diff --git a/src/core/lib/channel/http_client_filter.c b/src/core/lib/channel/http_client_filter.c
index ef68cc86ea..edcc741ff6 100644
--- a/src/core/lib/channel/http_client_filter.c
+++ b/src/core/lib/channel/http_client_filter.c
@@ -233,7 +233,6 @@ static void hc_mutate_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem,
     if (method == GRPC_MDELEM_METHOD_GET) {
       /* allocate memory to hold the entire payload */
       calld->payload_bytes = gpr_malloc(op->send_message->length);
-      GPR_ASSERT(calld->payload_bytes);
 
       /* read slices of send_message and copy into payload_bytes */
       calld->send_op = *op;
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/22967e8ed837f03b76a980cc1d25054fb84b40e9 b/test/core/end2end/fuzzers/api_fuzzer_corpus/22967e8ed837f03b76a980cc1d25054fb84b40e9
new file mode 100644
index 0000000000000000000000000000000000000000..1aa57b990d77a1429291ccf1eea1f32a6431e13f
GIT binary patch
literal 694
zcma))v2W8r6vn@MG^ev$ER~4~r9x^`4?*gf2pPe^9}qD|#ymBF;znoJK};Pifhw^v
zu`_yN>Bho;KvxzofcO&-I^MYrL`<BQd*{1%-}k$3J6+5{1>1@(j3d&^h>fw;K*v%+
z%E^7h$?jd!;WCkZ6!oFO?u$&JEJ*vaH=%H77uj%DmWzYoY>{Tqre*s0h^NK;B@a2z
zj-SXCJ3Bx2l&yhRa0cqlBWV%Sow_CG%w$NKiw`U!*i>itEV>akP@^72dVlHot7toc
zsuCx6I~j54XN0zoO>B|6JfrHi*@scs*v@8Yp7YT^E^o0nx$^iQ4gqN?HrosR7gFp1
z<%vlz4~P??vVq_mbFsF|(kEZ7f$La3PhU*4<2*aDmh*C2l$L*qqZNmha8s?5;8E|P
zXYmIGt_XZS6$D<7=-kBhEz;--jKBo4CSUhMv^@}QSAy7F*ny`2jO#Xq5|!5w$tx$Z
z^H|@u?|<T>Rc$TV=%OJ;Z;;kLBvnNrzQghI@TslFQU7)$?M-kl`5@zbqEy$rTO}ap
w(P-`y)5UGz1qBWEY<(GqR)pgWVI=PgQzh@v987j!%Px&E3>pO1K<u3V27`;iPXGV_

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/3f464011f8620f227309f6b2c84df6fffb8ed962 b/test/core/end2end/fuzzers/api_fuzzer_corpus/3f464011f8620f227309f6b2c84df6fffb8ed962
new file mode 100644
index 0000000000000000000000000000000000000000..385a724f3dc4b0b6054ee7199fbb008660c59c48
GIT binary patch
literal 794
zcmaiyF^kkd6vy8@?uN-KVeQ01Zauhj7hUnnh(!Dfho@i>vf0P&;9ho}%x2NnfFSrS
zY*Ssc-8JF|u(Pm9qheuUB?{w9vf`Z_IHY(pdH;ED{=bJAnVbwLhbWgmDP{8O1J^;2
z`Q!cjio%_{C_BrL)BG)vK<=Z-5rhGh9I&QO-_1cAu=;@2{MF}3y#4nF0GZ1mZXTL>
zGMrdD-y7;wTOCiMjGitiO(;qiM<ecuLN4I9ZJE0EDa~XaCr=_9kERr5`Z<j$nT=U9
zL`m5(v4~Xu?w)~WbxIJyCi=3!bo7azxB!udjvwK84LWs%P;J2lxQG%!G?lV!$`#BZ
z*(i;VD4MZRMvoT&UB1;Ts&WH7<(-MoKLx?beNX~6`0_tOl-Q%y_M>aEcLQE{pNTSq
zZ`=2(yv6`<r>J5OoLRFmc{p%aPK>C!1p{k%)wu8r_Y97<+lE$Qnat9Z6037<pGBFC
zEx`_4isu^eJmASB=6oh#Ygb2C^|bbq&Hqb0SQBsPF^S!l-tD12OJaRh*T7G<w%7Z*
zD@+0K5}XI(^#dN90p2PqbZ)fIu(IP8)vN!bdjFv%g>2zTVARt8u_m_JKxSjVmB0Et
qHhXM_VVmESP?@q|M5mnhVeNE*@?kyjwbLt300nF~&p}E-p!45Nt>xMP

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/crash-15070b2a2719ed8a6cbbaac25da02b7085993648 b/test/core/end2end/fuzzers/api_fuzzer_corpus/crash-15070b2a2719ed8a6cbbaac25da02b7085993648
new file mode 100644
index 0000000000000000000000000000000000000000..e21c7c6d39ecb45c5caa324ad06b9929a32342ac
GIT binary patch
literal 304
zcmYLFO-jQ+6#izYVT=;+26m%u77<+rB*iNf*C9zCHW-sQlT6TcKoC4iR$jrAq?>|x
z0vF>11>frZe1E)?q|U(=Nlg;MaPD*-2_f~u@$H1p3)eS-qO)u6xLt%hS!Y2;rD_#8
zn8fd9+cfoMP*l}@vZZ7br%w$jBxymh%AYBqGOIS$;U9e!<YnIENf9f0Z0()mvVBM`
z=Gz!EpMRb+*#j>y0_^S9TKW8<-*IEaI^d3aCmWT7eqCABsoVi9Jm8+Q><sOMY;~l;
zjE!jZjPFhz$9Re(9CJ1?R$${-KP({_W&rEQVdmj*PoyOO`1^#`3*W#pOA5nW{{SrE
BT=M_`

literal 0
HcmV?d00001

diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index a59abba391..6ec7935c25 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -33037,6 +33037,25 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/22967e8ed837f03b76a980cc1d25054fb84b40e9"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/22c9ed2979d9963bce6500997f1e0433988e7e37"
@@ -36001,6 +36020,25 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/3f464011f8620f227309f6b2c84df6fffb8ed962"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/3f47ad9ab401599f42d3c4f37ab9f702e3ff0fc9"
@@ -49890,6 +49928,25 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-15070b2a2719ed8a6cbbaac25da02b7085993648"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-1b9aeaf762bb1a972dda8f3a455df2628efd693b"
-- 
GitLab