Fix memory leak
[platform/core/appfw/librua.git] / src / rua_info.c
index 372e4ab..59fd2bb 100644 (file)
@@ -244,6 +244,9 @@ static void __rua_info_remove_comp_info(void *data)
 {
        aul_comp_info_h comp_info;
 
+       if (!data)
+               return;
+
        comp_info = (aul_comp_info_h)data;
        aul_comp_info_destroy(comp_info);
 }
@@ -591,13 +594,8 @@ int rua_info_usr_foreach(uid_t uid, rua_manager_rua_info_cb callback,
        for (row = 0; row < nrows; ++row) {
                rua_history_get_rec(&rec, table, nrows, ncols, row);
                info = __create_rua_info(&rec);
-               if (!info) {
-                       rua_history_unload_db(&table);
-                       g_list_free_full(list, __destroy_rua_info);
-                       return RUA_ERROR_OUT_OF_MEMORY;
-               }
-
-               list = g_list_append(list, info);
+               if (info)
+                       list = g_list_append(list, info);
        }
 
        rua_history_unload_db(&table);