Mercurial > mplayer.hg
view libmpdvdkit2/libdvdcss_changes.diff @ 18001:a2683ee7cb5a
fix descrambling of asf file,
where signed buffer could cause erroneous values to be filled in descrable variables,
add misssing check for one of these variables
and restore sign of these variables as insurance that these checks will work even in such case.
author | iive |
---|---|
date | Thu, 30 Mar 2006 23:06:18 +0000 |
parents | 279cd50f2ba0 |
children | 68145aae7349 |
line wrap: on
line source
--- common.h 2005-10-11 10:55:45.000000000 +0200 +++ common.h 2005-10-11 14:07:42.000000000 +0200 @@ -50,10 +53,9 @@ # define PATH_MAX MAX_PATH #endif -#define lseek _lseeki64 - /* several type definitions */ # if defined( __MINGW32__ ) +#define lseek _lseeki64 # if !defined( _OFF_T_ ) typedef long long _off_t; typedef _off_t off_t; --- css.c 2005-07-11 14:24:09.000000000 +0200 +++ css.c 2005-10-01 20:14:37.000000000 +0200 @@ -53,7 +56,7 @@ # include <limits.h> #endif -#include "dvdcss/dvdcss.h" +#include "dvdcss.h" #include "common.h" #include "css.h" --- device.c 2005-07-11 13:33:34.000000000 +0200 +++ device.c 2005-10-01 19:08:07.000000000 +0200 @@ -55,7 +44,7 @@ # include <sys/uio.h> /* struct iovec */ #endif -#include "dvdcss/dvdcss.h" +#include "dvdcss.h" #include "common.h" #include "css.h" @@ -143,8 +132,11 @@ print_debug( dvdcss, "opening target `%s'", psz_device ); #if defined( WIN32 ) - /* If device is not "X:", we are actually opening a file. */ - dvdcss->b_file = !psz_device[0] || psz_device[1] != ':' || psz_device[2]; + dvdcss->b_file = 1; + /* If device is "X:" or "X:\", we are not actually opening a file. */ + if (psz_device[0] && psz_device[1] == ':' && + (!psz_device[2] || (psz_device[2] == '\\' && !psz_device[3]))) + dvdcss->b_file = 0; /* Initialize readv temporary buffer */ dvdcss->p_readv_buffer = NULL; --- error.c 2004-02-24 16:46:49.000000000 +0100 +++ error.c 2005-10-01 20:15:46.000000000 +0200 @@ -34,7 +37,7 @@ # include <limits.h> #endif -#include "dvdcss/dvdcss.h" +#include "dvdcss.h" #include "common.h" #include "css.h" --- libdvdcss.c 2004-08-13 15:40:18.000000000 +0200 +++ libdvdcss.c 2005-10-01 19:11:27.000000000 +0200 @@ -124,7 +127,7 @@ # include <direct.h> #endif -#include "dvdcss/dvdcss.h" +#include "dvdcss.h" #include "common.h" #include "css.h"