summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawan Wagh <waghpawan@google.com>2023-01-20 19:11:39 +0000
committerPawan Wagh <waghpawan@google.com>2023-01-20 20:55:10 +0000
commit0beb956917b34471e5709a6ce2ab47d83011b1e6 (patch)
tree2f9a70362c60ae840417468d7591a805055834ad
parenta754657354c4d3889b19bcaeac13802ba00674e7 (diff)
downloadnative-0beb956917b34471e5709a6ce2ab47d83011b1e6.tar.gz
Check for null data buffer in AParcel_marshal
Test: m binder_parcel_fuzzer && out/host/linux-x86/fuzz/x86_64/binder_parcel_fuzzer/binder_parcel_fuzzer Bug: 265412053 Change-Id: I2f2b9b82ef1f86ba046deffba6d719c1be433ab5
-rw-r--r--libs/binder/ndk/parcel.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/binder/ndk/parcel.cpp b/libs/binder/ndk/parcel.cpp
index 86930229ce..94f72d96f6 100644
--- a/libs/binder/ndk/parcel.cpp
+++ b/libs/binder/ndk/parcel.cpp
@@ -700,6 +700,9 @@ binder_status_t AParcel_marshal(const AParcel* parcel, uint8_t* buffer, size_t s
return STATUS_BAD_VALUE;
}
const uint8_t* internalBuffer = parcel->get()->data();
+ if (internalBuffer == nullptr) {
+ return STATUS_UNEXPECTED_NULL;
+ }
memcpy(buffer, internalBuffer + start, len);
return STATUS_OK;
}