From: Jörg Dembski Date: Fri, 7 Jan 2011 09:23:48 +0000 (+0100) Subject: FIX: Crash due to NULL pointer access on epg load X-Git-Tag: 2.99~115^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f10ba2a2209d19efe921ab7ba168ed9bceb32d9d;p=thirdparty%2Ftvheadend.git FIX: Crash due to NULL pointer access on epg load --- diff --git a/src/epg.c b/src/epg.c index bdbcd91af..336609b20 100644 --- a/src/epg.c +++ b/src/epg.c @@ -568,18 +568,17 @@ epg_init(void) event_t * epg_event_create_by_msg(htsmsg_t *c, int *created) { - channel_t *ch; + channel_t *ch; event_t *e = NULL; uint32_t ch_id = 0; uint32_t e_start = 0; uint32_t e_stop = 0; int e_dvb_id = 0; + const char *e_title, *e_desc; if (created != NULL) *created = 0; - - // Now create the event htsmsg_get_u32(c, "ch_id", &ch_id); ch = channel_find_by_identifier(ch_id); @@ -593,9 +592,14 @@ epg_event_create_by_msg(htsmsg_t *c, int *created) e = epg_event_create(ch, e_start, e_stop, e_dvb_id, created); int changed = 0; - - changed |= epg_event_set_title(e, htsmsg_get_str(c, "title")); - changed |= epg_event_set_desc(e, htsmsg_get_str(c, "desc")); + + e_title = htsmsg_get_str(c, "title"); + if (e_title != NULL) + changed |= epg_event_set_title(e, e_title); + + e_desc = htsmsg_get_str(c, "title"); + if (e_desc != NULL) + changed |= epg_event_set_title(e, e_desc); if(changed) epg_event_updated(e);