summaryrefslogtreecommitdiff
path: root/src/ug.c
diff options
context:
space:
mode:
authorSemun Lee <sm79.lee@samsung.com>2016-07-07 20:10:16 +0900
committerSemun Lee <sm79.lee@samsung.com>2016-07-07 21:21:00 +0900
commit28e81640c7c8c6e4d1b2d1fb60748ce7b983a847 (patch)
tree55062863c7ea4273a7f9b2ea3eda659a518d5aba /src/ug.c
parent45d05396088457b0f8aa1cfaa3969ecdeeea4ab4 (diff)
downloadui-gadget-1-28e81640c7c8c6e4d1b2d1fb60748ce7b983a847.tar.gz
ui-gadget-1-28e81640c7c8c6e4d1b2d1fb60748ce7b983a847.tar.bz2
ui-gadget-1-28e81640c7c8c6e4d1b2d1fb60748ce7b983a847.zip
dlopen ug shared library file again to prevent crash while terminating app. In some case, unloaded memory could be accessed by other libaries clean up routine. Fix double free of ad.name Change-Id: I612c318ccb798d76a0ac8b77ab8f23dbe2b1e974 Signed-off-by: Semun Lee <sm79.lee@samsung.com>
Diffstat (limited to 'src/ug.c')
-rw-r--r--src/ug.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ug.c b/src/ug.c
index ad4bcf4..6045237 100644
--- a/src/ug.c
+++ b/src/ug.c
@@ -377,12 +377,21 @@ UG_API int ug_disable_effect(ui_gadget_h ug)
UG_API int ug_is_installed(const char *name)
{
+ int ret = 1;
+ char *ug_file_path = NULL;
+
if (name == NULL) {
_ERR("name is null");
return -1;
}
- return ug_exist(name);
+ if (!ug_module_get_file_path(name, &ug_file_path))
+ ret = 0;
+
+ if (ug_file_path)
+ free(ug_file_path);
+
+ return ret;
}
#ifdef ENABLE_UG_CREATE_CB