Closed HSchill closed 7 years ago
Can you please elaborate some more, I've never seen those segfaults. Like OS, kernel version and so on. How to reproduce?
Sure, I'm running standalone backend using unbuntu 16.04 LTS (Mythbuntu 0.28) Kernel 4.4.0-43 x86_64 (lowlatency) with some additional modules. dvbloopback and sa716x (a quad dvb-s2 card TBS 6985) I'm just copy dvbloopback and required files for sa716x, and rebuilt the entire kernel The fault triggers when the eit crawler starts. Have not traced any deeper since it was quite obvious what it was.
Ok. that's pretty much like my setup. Only obvious difference is that I maintain my own version of saa716x, supporting only my TBS 6285 And TBS 6281 cards. You don't use "official" TBS drivers, do you?
Nope, I pull them from github and only use the selected drives for my card.
OK, so did you recompile FFdecsa binary shortly? And did you set --sid-filt to any value? Leading thought: you are short of filters, but I recently upped the default value.
BTW: shortage of filters should not cause segfaults anyway. So even though I can't reproduce yours, I guess it's a good idea to apply your patch. Should it break anything for me, I can revert it.
Nope I didn't set --sid-filt, but as you say a NULL check doesn't hurt Thanks
And thank you for your contribution.
Hi I had two segfaults in plugin_getsid.c but both hade same root cause. NULL pointer usage In function static int start(char *dmxdev... ) After macro "ll_find_elem(filt, ... "
There will be segfaults in function read_pmt() or when using filt-> 3 rows further down. if(ret < 0) { filt->parse_err++;
This simple patch solves the problem:
Here is a back trace of a core dump.