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 <hance.park@samsung.com>
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");
}
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
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");
}
}
Common::InferenceEngineCommon::handle = handle;
-
Common::InferenceEngineCommon::engine = engine;
LOGW("LEAVE");