From a92b3f3d441139e106f60d1c56ffbe4eaf41140f Mon Sep 17 00:00:00 2001 From: Mike Kelly Date: Mon, 31 Jul 2023 12:48:53 +0100 Subject: IVGCVSW-7900 Added parameter checks to executeFenced * Added parameter checks to ensure that the native_handles will work with this function. Signed-off-by: Mike Kelly Change-Id: I0f07de04b24f930d8025461178ba4cdb470eb5b4 --- ArmnnPreparedModel_1_3.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ArmnnPreparedModel_1_3.cpp b/ArmnnPreparedModel_1_3.cpp index ceeb3c48..1827d900 100644 --- a/ArmnnPreparedModel_1_3.cpp +++ b/ArmnnPreparedModel_1_3.cpp @@ -434,6 +434,21 @@ Return ArmnnPreparedModel_1_3::executeFenced(const V1_3::Reque auto fenceNativeHandle = fenceWaitFor[index].getNativeHandle(); if (!fenceNativeHandle) { + ALOGE("ArmnnPreparedModel_1_3::executeFenced null native handle."); + cb(V1_3::ErrorStatus::INVALID_ARGUMENT, hidl_handle(nullptr), nullptr); + return Void(); + } + + if (fenceNativeHandle->numFds != 1) + { + ALOGE("ArmnnPreparedModel_1_3::executeFenced invalid fenceHandle numFds."); + cb(V1_3::ErrorStatus::INVALID_ARGUMENT, hidl_handle(nullptr), nullptr); + return Void(); + } + + if (fenceNativeHandle->numInts != 0) + { + ALOGE("ArmnnPreparedModel_1_3::executeFenced invalid fenceHandle numInts."); cb(V1_3::ErrorStatus::INVALID_ARGUMENT, hidl_handle(nullptr), nullptr); return Void(); } -- cgit v1.2.1