diff options
| author | 2023-09-08 19:00:49 +0000 | |
|---|---|---|
| committer | 2023-09-08 19:00:49 +0000 | |
| commit | 1f1b0b8c943a40d10c963492b091d59a55e3e824 (patch) | |
| tree | 1c8a7412ae62cd2f8346fd7fca60b02efc5b1fc8 | |
| parent | 91db541e9c91f0d257b305fde23580b68f735303 (diff) | |
| parent | d8606ef3ffe63071bed7d3a063be5317064f69c5 (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.h | 22 |
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: |