Closed pszemus closed 1 year ago
I've found an endless while
loop here: https://github.com/braice/MuMuDVB/blob/mumudvb2/src/autoconf_pmt.c#L553
In case of channel with SID=92 descriptors_loop_len
never reaches 0 nor descriptor_tag
is found causing the while
loop to run indefinitely. Tomorrow I'll continue my investigation.
OK, I think I've got it:
We have a char overflow here: https://github.com/braice/MuMuDVB/blob/mumudvb2/src/autoconf_pmt.c#L556
unsigned char descriptor_len = buf[1] + 2;
buf[1]
is "254" in my case and after adding "2" descriptor_len
becomes "0" instead of "256".
I'll send a PR in a moment.
Hello
I've been using mumudvb for quite long time without any problems, until recently when the broadcaster added some new channels (virtual, HbbTv - don't know if relevant). After that mumudvb stopped receiving any channels (however it detects and lists them) and cannot be closed gracefully (SIGTERM & SIGINT don't work, only SIGKILL does).
I have that same issue on hosts in several geographical locations and 2 different DVB-T cards (same kernel though:
5.13.6-1.el7.elrepo.x86_64
). I'm using the lastest mumudvb build from git.When I force mumudvb to ignore those 3 recently added channels it receives all channels correctly.
autoconf_sid_list_ignore
):Maybe it's a bug i MPEG-TS parser? I could try putting some debugs in mumudvb code but I should be instructed where to look for the relevant logic.