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"