summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wonsik Kim <wonsik@google.com> 2023-09-08 19:00:49 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-09-08 19:00:49 +0000
commit1f1b0b8c943a40d10c963492b091d59a55e3e824 (patch)
tree1c8a7412ae62cd2f8346fd7fca60b02efc5b1fc8
parent91db541e9c91f0d257b305fde23580b68f735303 (diff)
parentd8606ef3ffe63071bed7d3a063be5317064f69c5 (diff)
Merge "Protect AHardwareBuffer API calls with __builtin_available" into main am: 2bce819db7 am: d8606ef3ff
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2730939 Change-Id: Ib9f1b564c25f9babc785e5152f358d711cfb18c4 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: