summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pawan Wagh <waghpawan@google.com> 2022-11-18 04:07:41 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-11-18 04:07:41 +0000
commit5a853510ac921ae1727b0a735a557c42e9aa22e4 (patch)
treefa50f95021dd0da6cf9f627cb11a88fdb4a4028e
parente4529b1a40e49118b30843a146b1b46a1fc299d9 (diff)
parent5b3be1512afd08daabc643b7d298f6acb1dd63e5 (diff)
Merge "set calling UID in fuzzService" am: 5b3be1512a
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2307839 Change-Id: I4da8b1384b96dda735e16deb0eef2903f9e093d2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp b/libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp
index 9670aa30d8..86461c8670 100644
--- a/libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp
+++ b/libs/binder/tests/parcel_fuzzer/libbinder_driver.cpp
@@ -18,6 +18,7 @@
#include <fuzzbinder/random_parcel.h>
#include <android-base/logging.h>
+#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
namespace android {
@@ -30,6 +31,11 @@ void fuzzService(const sp<IBinder>& binder, FuzzedDataProvider&& provider) {
.extraFds = {},
};
+ if (provider.ConsumeBool()) {
+ // set calling uid
+ IPCThreadState::self()->restoreCallingIdentity(provider.ConsumeIntegral<int64_t>());
+ }
+
while (provider.remaining_bytes() > 0) {
uint32_t code = provider.ConsumeIntegral<uint32_t>();
uint32_t flags = provider.ConsumeIntegral<uint32_t>();