Prevent memory leaks by properly freeing g_engine_info before assigning a new instance
Ensure temp->default_lang for avoiding partial leaks when '__set_engine_callback' fails
Change-Id: Ie2926be9716632001405289c8cda08cbf31e9acd
int ret = __set_engine_callback(callback, temp);
if (TTSD_ERROR_NONE != ret) {
SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Fail to get engine info");
+ if (temp->default_lang) {
+ free(temp->default_lang);
+ temp->default_lang = NULL;
+ }
free(temp);
temp = NULL;
return ret;
}
+ if (g_engine_info) {
+ if (g_engine_info->default_lang) {
+ free(g_engine_info->default_lang);
+ g_engine_info->default_lang = NULL;
+ }
+ free(g_engine_info);
+ g_engine_info = NULL;
+ }
+
g_engine_info = temp;
g_agent_init = true;