]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
FIX: Crash due to NULL pointer access on epg load 4/head
authorJörg Dembski <gymlet@gmx.de>
Fri, 7 Jan 2011 09:23:48 +0000 (10:23 +0100)
committerJörg Dembski <gymlet@gmx.de>
Fri, 7 Jan 2011 09:23:48 +0000 (10:23 +0100)
src/epg.c

index bdbcd91afe9506857d6f535f3b44ae418c18ace7..336609b20e381edf743d9512500a615b16cf0268 100644 (file)
--- 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);