gint *hash_key = g_new(gint, 1);
*hash_key = sound_theme_id;
- if (!is_g_sound_theme_list_initialized())
+ if (!is_g_sound_theme_list_initialized()) {
+ g_free(hash_key);
return false;
+ }
if (!g_hash_table_lookup(g_sound_theme_list, hash_key)) {
g_free(hash_key);
gint *hash_key = g_new(gint, 1);
struct feedback_config_info* sound_theme_info;
- if (!is_g_sound_theme_list_initialized())
+ if (!is_g_sound_theme_list_initialized()) {
+ g_free(hash_key);
return -EPERM;
+ }
*hash_key = sound_theme_id;
sound_theme_info = (struct feedback_config_info*)g_hash_table_lookup(g_sound_theme_list, hash_key);
int sound_thememan_add_sound_theme(unsigned int sound_theme_id, const char* conf_file_path)
{
struct feedback_config_info *sound_info = NULL;
- gint *hash_key = g_new(gint, 1);
+ gint *hash_key = NULL;
int ret = 0;
if (!is_g_sound_theme_list_initialized())
ret = feedback_load_config(conf_file_path, sound_info);
if (ret < 0) {
_E("Failed to load config file %s", conf_file_path);
+ feedback_free_config(sound_info);
+ free(sound_info);
return ret;
}
+ hash_key = g_new(gint, 1);
*hash_key = sound_theme_id;
g_hash_table_insert(g_sound_theme_list, hash_key, (gpointer)sound_info);
return 0;