summaryrefslogtreecommitdiff
path: root/multimedia/xine-lib
diff options
context:
space:
mode:
authordrochner <drochner>2007-01-09 14:46:31 +0000
committerdrochner <drochner>2007-01-09 14:46:31 +0000
commit030867f7671c5334f17013f46157f5aa511ee243 (patch)
treed14c074246ecfa161ad402e07ba9a8b5efd756bb /multimedia/xine-lib
parentbabcd8c72d69f5a5a4afaddd7d3d2c9daed9e58b (diff)
downloadpkgsrc-030867f7671c5334f17013f46157f5aa511ee243.tar.gz
in local copy of libdvdnav:
-avoid file descriptor leak -advance buffer pointer correctly on short reads from an unnamed contributor add limit check to real parser (CVE-2006-6172) from mplayer svn bump PKGREVISION
Diffstat (limited to 'multimedia/xine-lib')
-rw-r--r--multimedia/xine-lib/Makefile4
-rw-r--r--multimedia/xine-lib/distinfo7
-rw-r--r--multimedia/xine-lib/patches/patch-eb12
-rw-r--r--multimedia/xine-lib/patches/patch-ec17
-rw-r--r--multimedia/xine-lib/patches/patch-ed25
-rw-r--r--multimedia/xine-lib/patches/patch-ee13
-rw-r--r--multimedia/xine-lib/patches/patch-ef13
7 files changed, 88 insertions, 3 deletions
diff --git a/multimedia/xine-lib/Makefile b/multimedia/xine-lib/Makefile
index 6cb2a91cf8f..b0a1263b720 100644
--- a/multimedia/xine-lib/Makefile
+++ b/multimedia/xine-lib/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.43 2007/01/07 12:25:55 wiz Exp $
+# $NetBSD: Makefile,v 1.44 2007/01/09 14:46:31 drochner Exp $
.include "Makefile.common"
-PKGREVISION= 1
+PKGREVISION= 2
COMMENT= Multimedia player library
diff --git a/multimedia/xine-lib/distinfo b/multimedia/xine-lib/distinfo
index 78f2be22b18..49fa61e8bad 100644
--- a/multimedia/xine-lib/distinfo
+++ b/multimedia/xine-lib/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.40 2007/01/07 17:36:26 drochner Exp $
+$NetBSD: distinfo,v 1.41 2007/01/09 14:46:31 drochner Exp $
SHA1 (xine-lib-1.1.3.tar.gz) = c0886910ddb1afa1a72572decf12c0251bba40bf
RMD160 (xine-lib-1.1.3.tar.gz) = 8e28638385ea48e7d4d4d702573ca92c4eca77c8
@@ -29,3 +29,8 @@ SHA1 (patch-da) = d488fb2a1e454a4338bf599674035f9db09d8682
SHA1 (patch-db) = 3ad4ca6f43a379b251211477972cd6d34b1f821a
SHA1 (patch-dc) = 11c4212029e67f22796e57706b42400a0dbcac3a
SHA1 (patch-ea) = c691eed110cfbd60e0b6349d612d765ae6560e92
+SHA1 (patch-eb) = b65e2c7c30fc04115d55da1ce1f6f65216ac1d23
+SHA1 (patch-ec) = edd039d574260dc96f78e0fc7e4324f3a74cc993
+SHA1 (patch-ed) = b3b0dcd186d547659c01305a64850ec0bf9cbfe2
+SHA1 (patch-ee) = ebefa4cf769b7175ce090fad42e387e66f0ecb59
+SHA1 (patch-ef) = 885bf9df3e73946f0fd4605be2937a4e9740229f
diff --git a/multimedia/xine-lib/patches/patch-eb b/multimedia/xine-lib/patches/patch-eb
new file mode 100644
index 00000000000..c3deb37dde4
--- /dev/null
+++ b/multimedia/xine-lib/patches/patch-eb
@@ -0,0 +1,12 @@
+$NetBSD: patch-eb,v 1.1 2007/01/09 14:46:31 drochner Exp $
+
+--- src/input/libdvdnav/dvd_input.c.orig 2007-01-09 00:03:58.000000000 +0100
++++ src/input/libdvdnav/dvd_input.c
+@@ -319,6 +319,7 @@ static int file_read(dvd_input_t dev, vo
+ return (int) (bytes / DVD_VIDEO_LB_LEN);
+ }
+
++ buffer += ret;
+ len -= ret;
+ }
+
diff --git a/multimedia/xine-lib/patches/patch-ec b/multimedia/xine-lib/patches/patch-ec
new file mode 100644
index 00000000000..ec488b1c049
--- /dev/null
+++ b/multimedia/xine-lib/patches/patch-ec
@@ -0,0 +1,17 @@
+$NetBSD: patch-ec,v 1.1 2007/01/09 14:46:31 drochner Exp $
+
+--- src/input/libdvdnav/dvd_reader.c.orig 2007-01-09 00:09:32.000000000 +0100
++++ src/input/libdvdnav/dvd_reader.c
+@@ -603,10 +603,12 @@ static int findDirFile( const char *path
+ sprintf( filename, "%s%s%s", path,
+ ( ( path[ strlen( path ) - 1 ] == '/' ) ? "" : "/" ),
+ ent->d_name );
++ closedir( dir );
+ return 0;
+ }
+ }
+
++ closedir( dir );
+ return -1;
+ }
+
diff --git a/multimedia/xine-lib/patches/patch-ed b/multimedia/xine-lib/patches/patch-ed
new file mode 100644
index 00000000000..063fd89f1be
--- /dev/null
+++ b/multimedia/xine-lib/patches/patch-ed
@@ -0,0 +1,25 @@
+$NetBSD: patch-ed,v 1.1 2007/01/09 14:46:31 drochner Exp $
+
+--- src/input/libreal/asmrp.c.orig 2006-11-29 20:43:01.000000000 +0100
++++ src/input/libreal/asmrp.c
+@@ -37,6 +37,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
++#include "asmrp.h"
+
+ #define LOG_MODULE "asmrp"
+ #define LOG_VERBOSE
+@@ -618,8 +619,10 @@ static int asmrp_eval (asmrp_t *p, int *
+ if (asmrp_rule (p)) {
+ lprintf ("rule #%d is true\n", rule_num);
+
+- matches[num_matches] = rule_num;
+- num_matches++;
++ if(num_matches < MAX_RULEMATCHES - 1)
++ matches[num_matches++] = rule_num;
++ else
++ printf("Ignoring matched asm rule %d, too many matched rules.\n", rule_num);
+ }
+
+ rule_num++;
diff --git a/multimedia/xine-lib/patches/patch-ee b/multimedia/xine-lib/patches/patch-ee
new file mode 100644
index 00000000000..2cc5e62de71
--- /dev/null
+++ b/multimedia/xine-lib/patches/patch-ee
@@ -0,0 +1,13 @@
+$NetBSD: patch-ee,v 1.1 2007/01/09 14:46:31 drochner Exp $
+
+--- src/input/libreal/real.c.orig 2006-11-29 20:43:01.000000000 +0100
++++ src/input/libreal/real.c
+@@ -472,7 +472,7 @@ rmff_header_t *real_parse_sdp(char *data
+ int j=0;
+ int n;
+ char b[64];
+- int rulematches[16];
++ int rulematches[MAX_RULEMATCHES];
+
+ lprintf("calling asmrp_match with:\n%s\n%u\n", desc->stream[i]->asm_rule_book, bandwidth);
+
diff --git a/multimedia/xine-lib/patches/patch-ef b/multimedia/xine-lib/patches/patch-ef
new file mode 100644
index 00000000000..ccba09cc4ab
--- /dev/null
+++ b/multimedia/xine-lib/patches/patch-ef
@@ -0,0 +1,13 @@
+$NetBSD: patch-ef,v 1.1 2007/01/09 14:46:31 drochner Exp $
+
+--- src/input/libreal/asmrp.h.orig 2006-11-29 20:43:01.000000000 +0100
++++ src/input/libreal/asmrp.h
+@@ -37,6 +37,8 @@
+ #ifndef HAVE_ASMRP_H
+ #define HAVE_ASMRP_H
+
++#define MAX_RULEMATCHES 16
++
+ int asmrp_match (const char *rules, int bandwidth, int *matches, int matchesizxe) ;
+
+ #endif