diff --git a/src/epg.c b/src/epg.c index 58009eb8..3a658b27 100644 --- a/src/epg.c +++ b/src/epg.c @@ -990,6 +990,7 @@ int epg_episode_set_genre g2 = LIST_NEXT(g1, link); if (!epg_genre_list_contains(genre, g1, 0)) { LIST_REMOVE(g1, link); + free(g1); save = 1; } g1 = g2; @@ -1839,10 +1840,15 @@ epg_broadcast_t *epg_broadcast_deserialize if (!htsmsg_get_u32(m, "is_repeat", &u32)) *save |= epg_broadcast_set_is_repeat(ebc, u32, NULL); - if ((ls = lang_str_deserialize(m, "summary"))) + if ((ls = lang_str_deserialize(m, "summary"))) { *save |= epg_broadcast_set_summary2(ebc, ls, NULL); - if ((ls = lang_str_deserialize(m, "description"))) + lang_str_destroy(ls); + } + + if ((ls = lang_str_deserialize(m, "description"))) { *save |= epg_broadcast_set_description2(ebc, ls, NULL); + lang_str_destroy(ls); + } /* Series link */ if ((str = htsmsg_get_str(m, "serieslink"))) diff --git a/src/epggrab/otamux.c b/src/epggrab/otamux.c index 80ace9d2..c4242079 100644 --- a/src/epggrab/otamux.c +++ b/src/epggrab/otamux.c @@ -136,6 +136,7 @@ void epggrab_ota_load ( void ) if ((l = htsmsg_get_list_by_field(f))) _epggrab_ota_load_one((epggrab_module_ota_t*)mod, l); } + htsmsg_destroy(m); } } @@ -171,6 +172,7 @@ void epggrab_ota_save ( void ) } hts_settings_save(m, "epggrab/otamux"); + htsmsg_destroy(m); } /* ************************************************************************** diff --git a/src/main.c b/src/main.c index 263bb6ce..1a6f4540 100644 --- a/src/main.c +++ b/src/main.c @@ -272,7 +272,7 @@ main(int argc, char **argv) htsp_port = 9982; /* Get current directory */ - tvheadend_cwd = dirname(dirname(strdup(argv[0]))); + tvheadend_cwd = dirname(dirname(tvh_strdupa(argv[0]))); /* Set locale */ setlocale(LC_ALL, "");