diff options
author | Guus Sliepen <gsliepen@google.com> | 2023-05-23 20:34:42 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-18 04:30:04 +0000 |
commit | cef0c0872c7d9f236ba4a5be6d1c7b5cc84736fd (patch) | |
tree | 6271efe4bd2aa4587ca8f98f963e8d25694fcb35 | |
parent | ee37623c4af0b2a0a22729bfb9f517b7d148daab (diff) | |
download | android-nn-driver-cef0c0872c7d9f236ba4a5be6d1c7b5cc84736fd.tar.gz |
android-nn-driver: prevent out of bounds read
Add a missing check in executeFenced() that fence handles have a
filedescriptor associated with them.
Bug: 256590035
Test: manual verification
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:671afb13d1acf98b836e0b7afb5cd14d787d74b1)
Merged-In: Ib571f268c9ee3fe674b6ef83ed5553e49b541736
Change-Id: Ib571f268c9ee3fe674b6ef83ed5553e49b541736
-rw-r--r-- | ArmnnPreparedModel_1_3.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ArmnnPreparedModel_1_3.cpp b/ArmnnPreparedModel_1_3.cpp index bd5261e..353bdaf 100644 --- a/ArmnnPreparedModel_1_3.cpp +++ b/ArmnnPreparedModel_1_3.cpp @@ -343,6 +343,12 @@ Return<void> ArmnnPreparedModel_1_3<HalVersion>::executeFenced(const V1_3::Reque return Void(); } + if (fenceNativeHandle->numFds != 1) + { + cb(V1_3::ErrorStatus::INVALID_ARGUMENT, hidl_handle(nullptr), nullptr); + return Void(); + } + if (sync_wait(fenceNativeHandle->data[0], -1) < 0) { ALOGE("ArmnnPreparedModel_1_3::executeFenced sync fence failed."); |