[dvb] segfault in demux.c

Johannes Zellner <[email protected]>
Newsgroups gmane.comp.video.xine.user
Organization nebulon.de
Message-ID <[email protected]>
Hello,

I hit a segfault in the dvb-code in demux.c .
Probably it's related to bug : "[ 1595641 ] segfault on DVB playback"
I'm using the xine-lib version 1.1.8 to watch dvb-s.
When switching the channels with the xine-lib it crashed with segfault.

I attached a patch which fixes the problem for me, but since it was the first 
time reading/debuggin xine and dvb code I'm not sure if the fix is ok.

The problem is in src/demuxers/demux_ts.c around line 1202.
'section_length' is sometimes 0. This leads to pass '-1' 
to 'demux_ts_compute_crc32()' and within that function the 'uInt length' 
results in a segfault.

Thanks,
Johannes

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/

_______________________________________________
xine-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xine-user
xine-lib-1.1.8-dvb-tune-segfault.patch (text/x-diff, 555 B)
--- src/demuxers/demux_ts.c.orig	2007-11-13 15:22:33.000000000 +0100
+++ src/demuxers/demux_ts.c	2007-11-13 15:23:18.000000000 +0100
@@ -1199,7 +1199,8 @@
   crc32 |= (uint32_t) this->pmt[program_count][section_length+3-1] ;
 
   /* Check CRC. */
-  calc_crc32 = demux_ts_compute_crc32 (this,
+  calc_crc32 = 0;
+  if(section_length != 0)
+	  calc_crc32 = demux_ts_compute_crc32 (this,
                                        this->pmt[program_count],
                                        section_length+3-4, 0xffffffff);
   if (crc32 != calc_crc32) {
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQBHOmXXfhrzllArhrARAlQrAKC60TeIKpD7qB9K68hQ1+7cuA3QlgCgsKYJ
sbw0RaHKAI2hWNS1t0bZnXk=
=/v5x
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.