summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wonsik Kim <wonsik@google.com> 2023-09-08 21:23:51 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-09-08 21:23:51 +0000
commitb59db30583a7fe613e1d81803a86657f90d1a0b4 (patch)
treeff16dafcf1feeb2f204899c98d0211657bb1f9a0
parent78de5051f4fd4a6d8a5c264d9225cd2beb089e4f (diff)
parentfe18554125e2cff196dd7a83a25e06606e7b5fdc (diff)
Merge "Protect AHardwareBuffer API calls with __builtin_available" into main am: 2bce819db7 am: d8606ef3ff am: 1f1b0b8c94 am: 09de6e167a am: fe18554125
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2730939 Change-Id: Id4b35c05847388a84fecc985e9354348f11540d0 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libs/nativewindow/include/android/hardware_buffer_aidl.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/libs/nativewindow/include/android/hardware_buffer_aidl.h b/libs/nativewindow/include/android/hardware_buffer_aidl.h
index e269f0dddf..3f77c78096 100644
--- a/libs/nativewindow/include/android/hardware_buffer_aidl.h
+++ b/libs/nativewindow/include/android/hardware_buffer_aidl.h
@@ -95,14 +95,22 @@ public:
binder_status_t readFromParcel(const AParcel* _Nonnull parcel) {
reset();
- return AHardwareBuffer_readFromParcel(parcel, &mBuffer);
+ if (__builtin_available(android __ANDROID_API_U__, *)) {
+ return AHardwareBuffer_readFromParcel(parcel, &mBuffer);
+ } else {
+ return STATUS_FAILED_TRANSACTION;
+ }
}
binder_status_t writeToParcel(AParcel* _Nonnull parcel) const {
if (!mBuffer) {
return STATUS_BAD_VALUE;
}
- return AHardwareBuffer_writeToParcel(mBuffer, parcel);
+ if (__builtin_available(android __ANDROID_API_U__, *)) {
+ return AHardwareBuffer_writeToParcel(mBuffer, parcel);
+ } else {
+ return STATUS_FAILED_TRANSACTION;
+ }
}
/**
@@ -150,9 +158,13 @@ public:
if (!mBuffer) {
return "<HardwareBuffer: Invalid>";
}
- uint64_t id = 0;
- AHardwareBuffer_getId(mBuffer, &id);
- return "<HardwareBuffer " + std::to_string(id) + ">";
+ if (__builtin_available(android __ANDROID_API_S__, *)) {
+ uint64_t id = 0;
+ AHardwareBuffer_getId(mBuffer, &id);
+ return "<HardwareBuffer " + std::to_string(id) + ">";
+ } else {
+ return "<HardwareBuffer (unknown)>";
+ }
}
private: