From: Hyunsoo Park Date: Fri, 6 Sep 2019 06:29:04 +0000 (+0900) Subject: Sets and Checks NULL value to pointer variable. X-Git-Tag: submit/tizen/20190924.061550~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9c52ebc04282f152759fc98474f81436ad9fbcc1;p=platform%2Fcore%2Fmultimedia%2Finference-engine-interface.git Sets and Checks NULL value to pointer variable. C++ delete method just release allocated memory. It doesn't set NULL value to variable. So i make variable to NULL after delete process. Change-Id: Ia63a08c47b2e41263e7195aaca62bb67903d8c11 Signed-off-by: Hyunsoo Park --- diff --git a/common/inference_engine_common_impl.cpp b/common/inference_engine_common_impl.cpp index def2ace..c04c9fc 100644 --- a/common/inference_engine_common_impl.cpp +++ b/common/inference_engine_common_impl.cpp @@ -47,10 +47,13 @@ InferenceEngineCommon::InferenceEngineCommon(std::string backend) InferenceEngineCommon::~InferenceEngineCommon() { LOGW("ENTER"); - destroy_t *engineDestroy = (destroy_t*)dlsym(handle, "EngineCommonDestroy"); - // NULL CHECK? - engineDestroy(engine); - dlclose(handle); + if (handle){ + destroy_t *engineDestroy = (destroy_t*)dlsym(handle, "EngineCommonDestroy"); + engineDestroy(engine); + dlclose(handle); + engine = nullptr; + handle = nullptr; + } LOGW("LEAVE"); } diff --git a/packaging/inference-engine-interface.spec b/packaging/inference-engine-interface.spec index 52a667a..801b0e6 100644 --- a/packaging/inference-engine-interface.spec +++ b/packaging/inference-engine-interface.spec @@ -1,7 +1,7 @@ Name: inference-engine-interface Summary: Interface of inference engines Version: 0.0.1 -Release: 4 +Release: 5 Group: Multimedia/Framework License: Apache-2.0 Source0: %{name}-%{version}.tar.gz diff --git a/vision/inference_engine_vision_impl.cpp b/vision/inference_engine_vision_impl.cpp index e383f4e..ae6a2fd 100644 --- a/vision/inference_engine_vision_impl.cpp +++ b/vision/inference_engine_vision_impl.cpp @@ -47,11 +47,16 @@ InferenceEngineVision::InferenceEngineVision(std::string backend) : Common::Infe InferenceEngineVision::~InferenceEngineVision() { LOGW("ENTER"); - destroy_t *engineDestroy = (destroy_t*)dlsym(handle, "EngineVisionDestroy"); - // NULL CHECK? - engineDestroy(engine); - dlclose(handle); + if (handle) { + destroy_t *engineDestroy = (destroy_t*)dlsym(handle, "EngineVisionDestroy"); + engineDestroy(engine); + dlclose(handle); + engine = nullptr; + handle = nullptr; + Common::InferenceEngineCommon::handle = nullptr; + Common::InferenceEngineCommon::engine = nullptr; + } LOGW("LEAVE"); } @@ -86,7 +91,6 @@ int InferenceEngineVision::Init(std::string configFile, } Common::InferenceEngineCommon::handle = handle; - Common::InferenceEngineCommon::engine = engine; LOGW("LEAVE");