diff -ruN tvheadend_ndms-bad.orig/src/epggrab/otamux.c tvheadend_ndms-bad/src/epggrab/otamux.c --- tvheadend_ndms-bad.orig/src/epggrab/otamux.c 2018-01-10 19:20:32.000000000 +0300 +++ tvheadend_ndms-bad/src/epggrab/otamux.c 2018-01-21 23:59:49.810391495 +0300 @@ -526,12 +526,17 @@ if (net->failed) { TAILQ_INSERT_TAIL(&epggrab_ota_pending, om, om_q_link); om->om_q_type = EPGGRAB_OTA_MUX_PENDING; + om->om_retry_time = mclk() + mono2sec(60); goto done; } break; } } if (i >= networks_count) { + if (i >= ARRAY_SIZE(networks)) { + tvherror(LS_EPGGRAB, "ota epg - too many networks"); + goto done; + } net = &networks[networks_count++]; net->net = mm->mm_network; net->failed = 0;