diff options
author | drochner <drochner@pkgsrc.org> | 2007-01-09 14:46:31 +0000 |
---|---|---|
committer | drochner <drochner@pkgsrc.org> | 2007-01-09 14:46:31 +0000 |
commit | a9b8d97d09ae14f32c040020a71d16f73e39fd9e (patch) | |
tree | d14c074246ecfa161ad402e07ba9a8b5efd756bb /multimedia/xine-lib/patches | |
parent | c2adaf574e1dc755bd620d0995095dd5e2512bef (diff) | |
download | pkgsrc-a9b8d97d09ae14f32c040020a71d16f73e39fd9e.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/patches')
-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 |
5 files changed, 80 insertions, 0 deletions
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 |