From: Ricardo Pontes Date: Fri, 13 Jan 2017 00:42:24 +0000 (+0000) Subject: Fix weird channel numbers X-Git-Tag: v4.2.1~131 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=041b9490fc1da7a09844f84d4a476f0f7876c2d5;p=thirdparty%2Ftvheadend.git Fix weird channel numbers When selecting "Use service IDs as channel numbers" in the network settings, the s_dvb_service_id (uint16) multiplied by CHANNEL_SPLIT (uint64), would produce a value that would overflow the r variable (int) if the service id is high enough, causing the result to be weird numbers. --- diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index e426dd1d3..5e37d4e83 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -506,7 +506,7 @@ int64_t mpegts_service_channel_number ( service_t *s ) { mpegts_service_t *ms = (mpegts_service_t*)s; - int r = 0; + int64_t r = 0; if (!ms->s_dvb_mux->mm_network->mn_ignore_chnum) { r = ms->s_dvb_channel_num * CHANNEL_SPLIT + ms->s_dvb_channel_minor;