summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2022-12-27 23:08:17 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-12-27 23:08:17 +0000
commit6d2dbfaaa53aafa2ae861b01d9103a2b2fb04404 (patch)
tree2659aa12a0d2261a5c044f1336a4ed6168389621 /libs
parent5d437ec2449ea7e4e4254990ac7d5512f00f24f9 (diff)
parent60c292a57d82dd6374c1b35ec97ef33438c21a04 (diff)
Merge "binder_rpc_fuzzer: limit connections" am: 139344295c am: 60c292a57d
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2368629 Change-Id: Ifbf55f76369fa07a3032475758ccdafd75eccf3b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libs')
-rw-r--r--libs/binder/tests/rpc_fuzzer/main.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/binder/tests/rpc_fuzzer/main.cpp b/libs/binder/tests/rpc_fuzzer/main.cpp
index f68a56144d..b8ae84d5c0 100644
--- a/libs/binder/tests/rpc_fuzzer/main.cpp
+++ b/libs/binder/tests/rpc_fuzzer/main.cpp
@@ -133,8 +133,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
bool hangupBeforeShutdown = provider.ConsumeBool();
+ // b/260736889 - limit arbitrarily, due to thread resource exhaustion, which currently
+ // aborts. Servers should consider RpcServer::setConnectionFilter instead.
+ constexpr size_t kMaxConnections = 1000;
+
while (provider.remaining_bytes() > 0) {
- if (connections.empty() || provider.ConsumeBool()) {
+ if (connections.empty() ||
+ (connections.size() < kMaxConnections && provider.ConsumeBool())) {
base::unique_fd fd(TEMP_FAILURE_RETRY(socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)));
CHECK_NE(fd.get(), -1);
CHECK_EQ(0,