From: Jörg Dembski Date: Fri, 7 Jan 2011 09:14:19 +0000 (+0100) Subject: FIX: Crash due to NULL pointer access X-Git-Tag: 2.99~115^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29f5e48468c0cf5c622005edec690de5844990ff;p=thirdparty%2Ftvheadend.git FIX: Crash due to NULL pointer access --- diff --git a/src/epg.c b/src/epg.c index 30e00dee5..bdbcd91af 100644 --- a/src/epg.c +++ b/src/epg.c @@ -617,18 +617,23 @@ epg_save(void) RB_FOREACH(ch, &channel_name_tree, ch_name_link) { RB_FOREACH(e, &ch->ch_epg_events, e_channel_link) { - htsmsg_t *m = htsmsg_create_map(); - htsmsg_add_u32(m, "id", saved); - htsmsg_add_u32(m, "start", e->e_start); - htsmsg_add_u32(m, "stop", e->e_stop); - htsmsg_add_str(m, "title", e->e_title); - htsmsg_add_str(m, "desc", e->e_desc); - htsmsg_add_u32(m, "ch_id", ch->ch_id); - htsmsg_add_u32(m, "dvb_id", e->e_dvb_id); - - hts_settings_save(m, "epg/%d", saved); - - saved++; + if((e->e_start) && (e->e_stop)) { + htsmsg_t *m = htsmsg_create_map(); + htsmsg_add_u32(m, "id", saved); + htsmsg_add_u32(m, "start", e->e_start); + htsmsg_add_u32(m, "stop", e->e_stop); + if (e->e_title != NULL) + htsmsg_add_str(m, "title", e->e_title); + + if (e->e_desc != NULL) + htsmsg_add_str(m, "desc", e->e_desc); + htsmsg_add_u32(m, "ch_id", ch->ch_id); + htsmsg_add_s32(m, "dvb_id", e->e_dvb_id); + + hts_settings_save(m, "epg/%d", saved); + + saved++; + } } } tvhlog(LOG_DEBUG, "epg", "Wrote epg data for %d events", saved);