From 84747f065fe85ca1a168245a7711949d411660d2 Mon Sep 17 00:00:00 2001 From: Steven Moreland Date: Thu, 18 Aug 2022 00:00:57 +0000 Subject: libbinder_random_parcel: more failures logs If we can't open an FD, add a log. Bug: 240589211 Test: android.hardware.vibrator-service.example_fuzzer Change-Id: Iac30601b4d2ca65ae8a66a8b35f3c2292c38f923 --- libs/binder/tests/parcel_fuzzer/random_fd.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libs') diff --git a/libs/binder/tests/parcel_fuzzer/random_fd.cpp b/libs/binder/tests/parcel_fuzzer/random_fd.cpp index 3fcf104e81..e4dbb2d955 100644 --- a/libs/binder/tests/parcel_fuzzer/random_fd.cpp +++ b/libs/binder/tests/parcel_fuzzer/random_fd.cpp @@ -26,9 +26,12 @@ namespace android { using base::unique_fd; std::vector getRandomFds(FuzzedDataProvider* provider) { + const char* fdType; + std::vector fds = provider->PickValueInArray< std::function()>>({ [&]() { + fdType = "ashmem"; std::vector ret; ret.push_back(unique_fd( ashmem_create_region("binder test region", @@ -36,18 +39,21 @@ std::vector getRandomFds(FuzzedDataProvider* provider) { return ret; }, [&]() { + fdType = "/dev/null"; std::vector ret; ret.push_back(unique_fd(open("/dev/null", O_RDWR))); return ret; }, [&]() { + fdType = "pipefd"; + int pipefds[2]; int flags = O_CLOEXEC; if (provider->ConsumeBool()) flags |= O_DIRECT; if (provider->ConsumeBool()) flags |= O_NONBLOCK; - CHECK_EQ(0, pipe2(pipefds, flags)); + CHECK_EQ(0, pipe2(pipefds, flags)) << flags; if (provider->ConsumeBool()) std::swap(pipefds[0], pipefds[1]); @@ -58,7 +64,7 @@ std::vector getRandomFds(FuzzedDataProvider* provider) { }, })(); - for (const auto& fd : fds) CHECK(fd.ok()) << fd.get(); + for (const auto& fd : fds) CHECK(fd.ok()) << fd.get() << " " << fdType; return fds; } -- cgit v1.2.3-59-g8ed1b