[MPlayer-dev-eng] Re: [Ogle-devel] bug in libdvdread causes "libdvdnav" segfaults - patch included

H}kan Hjort d95hjort at dtek.chalmers.se
Tue Sep 10 14:09:18 CEST 2002


Tue Sep 10 2002, Peter Niemayer wrote:
> Hi,
> 
> I experienced several segfaults when trying to play (unencrypted) DVDs
> from harddisk using xine/ogle/mplayer with the respective libdvdnav 
> support feature.
> 
> I found that while libdvdnav itself may do something wrong by trying
> to read beyond the end of the files, it was actually the fault of libdvdread
> that a segfault resulted. The following tiny patch fixes the problem
> and it seems that libdvdnav can very well live with the "short read"
> result it gets then - navigation worked fine after applying the patch:
> 
[snip patch]
> 
> Whoever has write-access to the libdvdread CVS: Please put the fix in :-)
> 
It was already in cvs actually.  
(Perhaps not in the copy in mplayer, xine and/or dvdnav cvs')
[cvs excerpt]

                /* FIXME: This is wrong if i is the last file in the set. 
                 * also error from this read will not show in ret. */
                
                /* Does the next part exist? If not then return now. */
                if( !dvd_file->title_devs[ i + 1 ] ) return ret;

                /* Read part 2 */
                off = DVDinput_seek( dvd_file->title_devs[ i + 1 ], 0 );

I've been draging out on the new release a bit to long already,
unfortunately it seems it will be binary (and source) incompatible and
so I want to get all such changes in.  It's not as bad as it sounds
though.  Not many (no hopefully) applications should notice that it
has changed because it's mostly obsure or previously unimplemented
fileds that have changed.

-- 
Håkan Hjort



More information about the MPlayer-dev-eng mailing list