From 77f98a83ddd22ee15329b60e1337c04db2d66d1a Mon Sep 17 00:00:00 2001
From: Craig Tiller <ctiller@google.com>
Date: Mon, 31 Oct 2016 08:06:50 -0700
Subject: [PATCH] Fix bad memory usage

---
 test/core/end2end/fuzzers/api_fuzzer.c        |   3 +-
 .../3fbf231b2182dc58d2cdf1c62f01a8b709752505  | Bin 0 -> 79 bytes
 .../494f747fe7c326002c3fb676c35d5dca2e28fd89  | Bin 0 -> 101 bytes
 .../a404f3f4dbe1521cc977ed94ea50c49dbd6e32a2  | Bin 0 -> 110 bytes
 .../ce95d2fc5b099365cd781aa7e2b297ac92a215b3  | Bin 0 -> 70 bytes
 ...h-0597bbdd657fa4ed14443994c9147a1a7bbc205f | Bin 0 -> 21 bytes
 .../e48ae5d10ab8c349250e8c6b9a491a154b4a861d  | Bin 0 -> 90 bytes
 tools/run_tests/tests.json                    | 132 ++++++++++++++++++
 8 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/3fbf231b2182dc58d2cdf1c62f01a8b709752505
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/494f747fe7c326002c3fb676c35d5dca2e28fd89
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/a404f3f4dbe1521cc977ed94ea50c49dbd6e32a2
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/ce95d2fc5b099365cd781aa7e2b297ac92a215b3
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/crash-0597bbdd657fa4ed14443994c9147a1a7bbc205f
 create mode 100644 test/core/end2end/fuzzers/api_fuzzer_corpus/e48ae5d10ab8c349250e8c6b9a491a154b4a861d

diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c
index 13343c2012..5556b37038 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.c
+++ b/test/core/end2end/fuzzers/api_fuzzer.c
@@ -178,9 +178,10 @@ static grpc_channel_args *read_args(input_stream *inp) {
         break;
       case 3:
         args[i].type = GRPC_ARG_POINTER;
-        args[i].key = GRPC_ARG_RESOURCE_QUOTA;
+        args[i].key = gpr_strdup(GRPC_ARG_RESOURCE_QUOTA);
         args[i].value.pointer.vtable = grpc_resource_quota_arg_vtable();
         args[i].value.pointer.p = g_resource_quota;
+        grpc_resource_quota_ref(g_resource_quota);
         break;
       default:
         end(inp);
diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/3fbf231b2182dc58d2cdf1c62f01a8b709752505 b/test/core/end2end/fuzzers/api_fuzzer_corpus/3fbf231b2182dc58d2cdf1c62f01a8b709752505
new file mode 100644
index 0000000000000000000000000000000000000000..65e06f4b14ec45afcf93ef608782f8a3b94c3403
GIT binary patch
literal 79
zcmZQ7PAw`+En;9`Vc=rWPs`7T@EOyK3X=7Ti*w>j5{uGPOXBkqb5rB<fhvnKQ&JiF
a|NsAAFU-xu$iTqF#`vp~fdR~BW(NQiNf>AV

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/494f747fe7c326002c3fb676c35d5dca2e28fd89 b/test/core/end2end/fuzzers/api_fuzzer_corpus/494f747fe7c326002c3fb676c35d5dca2e28fd89
new file mode 100644
index 0000000000000000000000000000000000000000..883f2a50924b52de90df450c658837e2b83f54b7
GIT binary patch
literal 101
ycmZQ#E9cWp<tPecf-rzA4Xyt`1m$B&FaQB(%cHd{44fRCC~SnN07I}Ik|F@M5*B&@

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/a404f3f4dbe1521cc977ed94ea50c49dbd6e32a2 b/test/core/end2end/fuzzers/api_fuzzer_corpus/a404f3f4dbe1521cc977ed94ea50c49dbd6e32a2
new file mode 100644
index 0000000000000000000000000000000000000000..00d6cb96a7dfae8b6ab96aa1798ad410e9ea8beb
GIT binary patch
literal 110
zcmZQ7PAw`+En;9`Vc=rWPs`7T@EOyK3P3nnuedlTz9g|IJ+&l0FEKYYJ|C#MC^IFM
d0gqJw|NsB%g}Hec85o$@7=Lv#Fo4<2>;NuMBsu^9

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/ce95d2fc5b099365cd781aa7e2b297ac92a215b3 b/test/core/end2end/fuzzers/api_fuzzer_corpus/ce95d2fc5b099365cd781aa7e2b297ac92a215b3
new file mode 100644
index 0000000000000000000000000000000000000000..8b87565221dd0ccb54b496deaa85346807af3a54
GIT binary patch
literal 70
zcmZQ#V*moK@>KgGJ_ZFgJ_d&WsT@URObm=g3~W!CQj?YzX_PTAK3dD5&REpa&hVdu
Wf$>nwqb`u9wG5058Vn2^Rtx|l>kuUX

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/crash-0597bbdd657fa4ed14443994c9147a1a7bbc205f b/test/core/end2end/fuzzers/api_fuzzer_corpus/crash-0597bbdd657fa4ed14443994c9147a1a7bbc205f
new file mode 100644
index 0000000000000000000000000000000000000000..732f3d7297ea22426e07aad2cc431c3f97811d51
GIT binary patch
literal 21
ccmZQ#E9Wan<tQq%|Ig6C%-Hg1EdvJw071wGFaQ7m

literal 0
HcmV?d00001

diff --git a/test/core/end2end/fuzzers/api_fuzzer_corpus/e48ae5d10ab8c349250e8c6b9a491a154b4a861d b/test/core/end2end/fuzzers/api_fuzzer_corpus/e48ae5d10ab8c349250e8c6b9a491a154b4a861d
new file mode 100644
index 0000000000000000000000000000000000000000..7dce27f84ebbc3fd480fd864bac13e9f9683a154
GIT binary patch
literal 90
zcmZQ#E9Xny!@*IMrlIwpfq}8*Q5fg{|7%$oSlKz5I5?S@^x2sHrz+bU1nYGaF@Y3w
n6qRXcF_aZ4rm8DPD894SVQ7YE1Zrkvc(j&*lY?O`g9ifuP{<eW

literal 0
HcmV?d00001

diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json
index 91182aebdb..5924d46e49 100644
--- a/tools/run_tests/tests.json
+++ b/tools/run_tests/tests.json
@@ -45756,6 +45756,28 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/3fbf231b2182dc58d2cdf1c62f01a8b709752505"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "exclude_iomgrs": [
+      "uv"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/40b4b92460c4e76a39af9042fb3d86d491a98e16"
@@ -46944,6 +46966,28 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/494f747fe7c326002c3fb676c35d5dca2e28fd89"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "exclude_iomgrs": [
+      "uv"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/49d816ae44b329820f47979c5790eebc8eadafd7"
@@ -57174,6 +57218,28 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/a404f3f4dbe1521cc977ed94ea50c49dbd6e32a2"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "exclude_iomgrs": [
+      "uv"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/a41e8b175a837b55e540874c3f056a9d9535866c"
@@ -61992,6 +62058,28 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/ce95d2fc5b099365cd781aa7e2b297ac92a215b3"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "exclude_iomgrs": [
+      "uv"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/cea57d6a128cc7cd195cb2390bfde28047d6acf8"
@@ -62058,6 +62146,28 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-0597bbdd657fa4ed14443994c9147a1a7bbc205f"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "exclude_iomgrs": [
+      "uv"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/crash-0a0ee428270236e707457b9560a91c233ed2326c"
@@ -65358,6 +65468,28 @@
     ], 
     "uses_polling": false
   }, 
+  {
+    "args": [
+      "test/core/end2end/fuzzers/api_fuzzer_corpus/e48ae5d10ab8c349250e8c6b9a491a154b4a861d"
+    ], 
+    "ci_platforms": [
+      "linux"
+    ], 
+    "cpu_cost": 0.1, 
+    "exclude_configs": [
+      "tsan"
+    ], 
+    "exclude_iomgrs": [
+      "uv"
+    ], 
+    "flaky": false, 
+    "language": "c", 
+    "name": "api_fuzzer_one_entry", 
+    "platforms": [
+      "linux"
+    ], 
+    "uses_polling": false
+  }, 
   {
     "args": [
       "test/core/end2end/fuzzers/api_fuzzer_corpus/e4ba9f46387c5687fb9003724893c0b199debf2d"
-- 
GitLab