Fix memory leak
[platform/core/uifw/tts.git] / engine-parser / src / tts-engine-parser.c
index deafadc..8419722 100644 (file)
@@ -557,6 +557,7 @@ int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgid, const char *appid, GList *
                        user_type = g_strdup(gum_user_type_to_string(gumut));
                        if (NULL == user_type) {
                                gum_user_service_list_free(users);
+                               G_FREE(home_dir)
                                g_object_unref(gus);
                                gus = NULL;
                                return -1;
@@ -581,6 +582,7 @@ int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgid, const char *appid, GList *
                                        g_object_unref(gus);
                                        gus = NULL;
                                        G_FREE(user_type)
+                                       G_FREE(home_dir)
                                        return -1;
                                }
                                snprintf(g_dir_config_base, strlen(home_dir) + 14, "%s/share/.voice", home_dir);
@@ -599,15 +601,11 @@ int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgid, const char *appid, GList *
                                FREE(g_dir_engine_base)
                                FREE(g_dir_engine_info)
 
-                               G_FREE(user_type)
                                G_FREE(home_dir)
-
-                               iter = g_list_next(iter);
-                       } else {
-                               iter = g_list_next(iter);
                        }
 
                        G_FREE(user_type)
+                       iter = g_list_next(iter);
                }
 
                gum_user_service_list_free(users);