Fix head-use-after-free issue detected by ASAN 47/280047/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Tue, 23 Aug 2022 01:53:30 +0000 (10:53 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Tue, 23 Aug 2022 01:53:30 +0000 (10:53 +0900)
Change-Id: I4d8a29a67ef5d9595b20c5b9f9c59958d219b1a0
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
ism/src/scim_module.cpp

index 3a74bcf..a99e18f 100644 (file)
@@ -316,15 +316,15 @@ Module::unload ()
     if (is_resident ())
         return false;
 
+    std::vector <ModuleInitFunc>::iterator it =
+        std::find (_scim_modules.begin (), _scim_modules.end (), m_impl->init);
+
     if (m_impl->exit) {
         try { m_impl->exit (); } catch (...) { }
     }
 
     lt_dlclose (m_impl->handle);
 
-    std::vector <ModuleInitFunc>::iterator it =
-        std::find (_scim_modules.begin (), _scim_modules.end (), m_impl->init);
-
     if (it != _scim_modules.end ())
         _scim_modules.erase (it);