From: Jaroslav Kysela Date: Fri, 8 Jan 2016 15:30:36 +0000 (+0100) Subject: another round of coverity fixes X-Git-Tag: v4.2.1~1191 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe87cbf1d817cfe72fb40d03d194685c4db3f082;p=thirdparty%2Ftvheadend.git another round of coverity fixes --- diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index e4b844ecf..e13107b2a 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -1679,7 +1679,7 @@ dvr_entry_update void dvr_event_replaced(epg_broadcast_t *e, epg_broadcast_t *new_e) { - dvr_entry_t *de; + dvr_entry_t *de, *de_next; channel_t *ch = e->channel; epg_broadcast_t *e2; char ubuf[UUID_HEX_SIZE]; @@ -1691,7 +1691,8 @@ dvr_event_replaced(epg_broadcast_t *e, epg_broadcast_t *new_e) if (ch == NULL || e == new_e) return; /* Existing entry */ - LIST_FOREACH(de, &ch->ch_dvrs, de_channel_link) { + for (de = LIST_FIRST(&ch->ch_dvrs); de; de = de_next) { + de_next = LIST_NEXT(de, de_channel_link); if (de->de_bcast != e) continue; diff --git a/src/epggrab/module/psip.c b/src/epggrab/module/psip.c index e2029f73b..4622e10f7 100644 --- a/src/epggrab/module/psip.c +++ b/src/epggrab/module/psip.c @@ -368,6 +368,9 @@ _psip_eit_callback_channel length = (ptr[6] & 0x0f) << 16 | ptr[7] << 8 | ptr[8]; stop = start + length; titlelen = ptr[9]; + + if (12 + titlelen > len) break; + dlen = ((ptr[10+titlelen] & 0x0f) << 8) | ptr[11+titlelen]; size = titlelen + dlen + 12; tvhtrace("psip", " %03d: titlelen %d, dlen %d", i, titlelen, dlen); diff --git a/src/wizard.c b/src/wizard.c index 89dee7144..f49a6aded 100644 --- a/src/wizard.c +++ b/src/wizard.c @@ -334,7 +334,7 @@ static void login_save(idnode_t *in) } htsmsg_destroy(conf); - if (s && s[0] != '*' && w->password && w->password[0]) { + if (s[0] != '*' && w->password[0]) { conf = htsmsg_create_map(); htsmsg_add_bool(conf, "enabled", 1); htsmsg_add_str(conf, "username", s);