Merge "ExternalCameraHAL: Check for empty native handle instead of null." into main am: 7e4037cf01

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2787022

Change-Id: Icdf62933b7b2e3fd283679a23f85841c53700a4f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-11-03 01:40:27 +00:00
committed by Automerger Merge Worker

View File

@@ -402,7 +402,10 @@ aidl::android::hardware::camera::common::Status importBufferImpl(
buffer_handle_t buf,
/*out*/ buffer_handle_t** outBufPtr) {
using ::aidl::android::hardware::camera::common::Status;
if (buf == nullptr && bufId == BUFFER_ID_NO_BUFFER) {
// AIDL does not have null NativeHandles. It sends empty handles instead.
// We check for when the buf is empty instead of when buf is null.
bool isBufEmpty = buf == nullptr || (buf->numFds == 0 && buf->numInts == 0);
if (isBufEmpty && bufId == BUFFER_ID_NO_BUFFER) {
ALOGE("%s: bufferId %" PRIu64 " has null buffer handle!", __FUNCTION__, bufId);
return Status::ILLEGAL_ARGUMENT;
}
@@ -857,4 +860,4 @@ int AllocatedV4L2Frame::getData(uint8_t** outData, size_t* dataSize) {
} // namespace device
} // namespace camera
} // namespace hardware
} // namespace android
} // namespace android