Re: bug: dvbv5-scan segfaults

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mauro Carvalho Chehab <mchehab+samsung@xxxxxxxxxx>, 27 Ağu 2019 Sal,
16:10 tarihinde şunu yazdı:
>
> Em Mon, 26 Aug 2019 22:25:28 +0300
> Olcay Korkmaz <olcay.krkmz@xxxxxxxxx> escreveu:
>
> > 1.14.2 and git tree build gives the same error
> > TS of entire transponder:
> > https://drive.google.com/file/d/1zHouZSlbPowyJY5tzT5ro0r4ciPURkbi/view?usp=sharing
>
> Thanks!
>
> Please don't top-post.

old habit sorry.

>
> > > Em Mon, 26 Aug 2019 19:59:17 +0300
> > > Olcay Korkmaz <olcay.mz@xxxxxxxxx> escreveu:
> > >
>
>
> > > > Service TV8, provider TV8: digital television
> > > > Storing as channel TV8
> > > >
> > > > Program received signal SIGSEGV, Segmentation fault.
> > > > 0x00007ffff7ba5cff in dvb_store_channel ()
> > > >    from /usr/lib/x86_64-linux-gnu/libdvbv5.so.0
> > > > (gdb) backtrace
> > >
> > >
> > > > #0 0x00007ffff7ba5cff in dvb_store_channel ()
> > > >    from /usr/lib/x86_64-linux-gnu/libdvbv5.so.0
> > > > #1 0x00005555555560c6 in run_scan (dvb=0x55555575d2e0, args=0x7fffffffdc80)
> > > >     at dvbv5-scan.c:313
> > > > #2 main (argc=<optimized out>, argv=<optimized out>) at dvbv5-scan.c:562
>
> Ok, the problem is happening here:
>
> Program received signal SIGSEGV, Segmentation fault.
> dvb_store_channel (dvb_file=0x7fffffffe460, __p=0x5555555605d0, dvb_scan_handler=0x555555565060, get_detected=0,
>     get_nit=0) at dvb-file.c:1345
> 1345                    if (dvb_scan_handler->nit->transport) {
> (gdb) bt
> #0  dvb_store_channel (dvb_file=0x7fffffffe460, __p=0x5555555605d0, dvb_scan_handler=0x555555565060, get_detected=0,
>     get_nit=0) at dvb-file.c:1345
> #1  0x0000555555556847 in run_scan (dvb=0x5555555604f0, args=0x7fffffffe4b0) at dvbv5-scan.c:313
> #2  main (argc=<optimized out>, argv=<optimized out>) at dvbv5-scan.c:562
>
> The enclosed patch should fix the issue. Could you please check?

Thanks, patch fixed the problem.
>
> diff --git a/lib/libdvbv5/dvb-file.c b/lib/libdvbv5/dvb-file.c
> index d077271a6546..474b59cb6fce 100644
> --- a/lib/libdvbv5/dvb-file.c
> +++ b/lib/libdvbv5/dvb-file.c
> @@ -1342,7 +1342,7 @@ int dvb_store_channel(struct dvb_file **dvb_file,
>                         dvb_log(_("Storing as channel %s"), channel);
>                 vchannel = dvb_vchannel(parms, dvb_scan_handler->nit, service->service_id);
>
> -               if (dvb_scan_handler->nit->transport) {
> +               if (dvb_scan_handler->nit && dvb_scan_handler->nit->transport) {
>                         network_id = dvb_scan_handler->nit->transport->network_id;
>                         transport_id = dvb_scan_handler->nit->transport->transport_id;
>                 }
>
>
> Regards,
> Mauro

Regards,
Olcay K.




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux