Fix resource leak 60/225860/3
authorJusung Son <jusung07.son@samsung.com>
Tue, 25 Feb 2020 05:26:08 +0000 (14:26 +0900)
committerJusung Son <jusung07.son@samsung.com>
Tue, 25 Feb 2020 08:08:07 +0000 (17:08 +0900)
Change-Id: I480ea356548a4ce25a4e6ebb6028474bd011a950
Signed-off-by: Jusung Son <jusung07.son@samsung.com>
src/launchpad/src/launchpad.c

index 43540d6..79ac8f6 100644 (file)
@@ -2457,6 +2457,9 @@ static bool __on_file_change(const char *event_name, uint32_t mask,
 {
        char buf[PATH_MAX];
        char *ext;
+       loader_info_t* info;
+       candidate_process_context_t *cpc;
+
        if (!event_name) {
                _E("Invalid parameter");
                return true;
@@ -2472,7 +2475,12 @@ static bool __on_file_change(const char *event_name, uint32_t mask,
                app_defined_loader_info_list = _loader_info_load_file(
                                app_defined_loader_info_list, buf);
        } else if (mask & IN_DELETE) {
-               snprintf(buf, ext - event_name, "%s", event_name);
+               snprintf(buf, ext - event_name + 1, "%s", event_name);
+
+               info = _loader_info_find_loader_by_loader_name(
+                               app_defined_loader_info_list, buf);
+               cpc = __find_slot_from_loader_name(info->name);
+               __remove_slot(cpc->type, cpc->loader_id);
                app_defined_loader_info_list = _loader_info_unload(
                                app_defined_loader_info_list, buf);
        }