IVGCVSW-3987 Fix for potential unique_ptr.release() bug
* Use an android strong pointer instead of a unique_ptr to
avoid undefined behaviour of releasing unique_ptr to strong pointer
Signed-off-by: Kevin May <kevin.may@arm.com>
Change-Id: Icac255ba2407796888f20ffaba99a7988cb6f63c
diff --git a/ArmnnDriverImpl.cpp b/ArmnnDriverImpl.cpp
index 64188bb..de80445 100644
--- a/ArmnnDriverImpl.cpp
+++ b/ArmnnDriverImpl.cpp
@@ -150,7 +150,7 @@
return ErrorStatus::NONE;
}
- unique_ptr<ArmnnPreparedModel<HalPolicy>> preparedModel(
+ sp<ArmnnPreparedModel<HalPolicy>> preparedModel(
new ArmnnPreparedModel<HalPolicy>(
netId,
runtime.get(),
@@ -180,7 +180,7 @@
}
}
- NotifyCallbackAndCheck(cb, ErrorStatus::NONE, preparedModel.release());
+ NotifyCallbackAndCheck(cb, ErrorStatus::NONE, preparedModel);
return ErrorStatus::NONE;
}