diff options
author | drochner <drochner> | 2007-01-09 14:46:31 +0000 |
---|---|---|
committer | drochner <drochner> | 2007-01-09 14:46:31 +0000 |
commit | 56fe9a71fcffe099a56be852ee75cf8361144c63 (patch) | |
tree | d14c074246ecfa161ad402e07ba9a8b5efd756bb /multimedia | |
parent | 1e147f0a5047059d96000b4bbc7101453ead9da0 (diff) | |
download | pkgsrc-56fe9a71fcffe099a56be852ee75cf8361144c63.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')
-rw-r--r-- | multimedia/xine-lib/Makefile | 4 | ||||
-rw-r--r-- | multimedia/xine-lib/distinfo | 7 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-eb | 12 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ec | 17 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ed | 25 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ee | 13 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ef | 13 |
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 |