Add null checker when memory is released
[platform/core/uifw/tts.git] / common / tts_config_mgr.c
index 10d1952..9faa9ed 100755 (executable)
@@ -471,6 +471,7 @@ Eina_Bool tts_config_mgr_inotify_event_cb(void* data, Ecore_Fd_Handler *fd_handl
 
                        if (NULL != before_lang) {
                                free(before_lang);
+                               before_lang = NULL;
                        }
                }
 
@@ -518,9 +519,18 @@ Eina_Bool tts_config_mgr_inotify_event_cb(void* data, Ecore_Fd_Handler *fd_handl
                        }
                }
 
-               if (NULL != engine)     free(engine);
-               if (NULL != setting)    free(setting);
-               if (NULL != lang)       free(lang);
+               if (NULL != engine) {
+                       free(engine);
+                       engine = NULL;
+               }
+               if (NULL != setting) {
+                       free(setting);
+                       setting = NULL;
+               }
+               if (NULL != lang) {
+                       free(lang);
+                       lang = NULL;
+               }
        } else {
                SLOG(LOG_ERROR, tts_tag(), "[ERROR] Undefined event");
        }
@@ -588,6 +598,7 @@ int __tts_config_set_auto_language()
        char temp_lang[6] = {'\0', };
        strncpy(temp_lang, value, 5);
        free(value);
+       value = NULL;
 
        if (true == __tts_config_mgr_check_lang_is_valid(g_config_info->engine_id, temp_lang, g_config_info->type)) {
                /* tts default voice change */
@@ -640,6 +651,7 @@ int __tts_config_set_auto_language()
 
                if (NULL != before_lang) {
                        free(before_lang);
+                       before_lang = NULL;
                }
        } else {
                /* Display language is not valid */
@@ -941,7 +953,10 @@ static Eina_Bool __tts_config_mgr_engine_config_inotify_event_callback(void* dat
                        } else {
                                SLOG(LOG_DEBUG, tts_tag(), "[DEBUG] Saved default voice : lang(%s), type(%d)", g_config_info->language, g_config_info->type);
                        }
-                       if (NULL != temp_lang)  free(temp_lang);
+                       if (NULL != temp_lang) {
+                               free(temp_lang);
+                               temp_lang = NULL;
+                       }
                }
 
                GSList *iter = NULL;
@@ -1043,6 +1058,7 @@ static int __tts_config_mgr_unregister_engine_config_updated_event()
                                close(tmp->dir_fd);
 
                                free(tmp);
+                               tmp = NULL;
                        }
 
                        g_ino_list = g_list_remove_link(g_ino_list, iter);
@@ -1193,6 +1209,7 @@ int tts_config_mgr_initialize(int uid)
                                g_config_info->type = tmp_type;
 
                                free(tmp_language);
+                               tmp_language = NULL;
 
                                if (0 != tts_parser_set_voice(g_config_info->language, g_config_info->type)) {
                                        SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to save config");