summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2005-01-07 14:52:13 +0000
committerdrochner <drochner@pkgsrc.org>2005-01-07 14:52:13 +0000
commit80e13c626a6f30e8d7607c65fd2c5f952c3764c1 (patch)
treed41b7e809de69d5215b493cb798a3dd234a49199 /audio
parentc176807a49bf103c0dff9bcec74af455650b1913 (diff)
downloadpkgsrc-80e13c626a6f30e8d7607c65fd2c5f952c3764c1.tar.gz
Fix a buffer overflow by a malicous playlist (CAN-2004-1284).
Being here, fix a possible problem which was mentioned in conjunction with CAN-2003-0577 - zero bitrate makes mpg123 assume a negative frame size. bump PKGREVISION
Diffstat (limited to 'audio')
-rw-r--r--audio/mpg123/Makefile4
-rw-r--r--audio/mpg123/distinfo4
-rw-r--r--audio/mpg123/patches/patch-as13
-rw-r--r--audio/mpg123/patches/patch-at17
4 files changed, 35 insertions, 3 deletions
diff --git a/audio/mpg123/Makefile b/audio/mpg123/Makefile
index 3a7a36198ed..9ccc8991ee4 100644
--- a/audio/mpg123/Makefile
+++ b/audio/mpg123/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.37 2004/11/07 08:55:04 tron Exp $
+# $NetBSD: Makefile,v 1.38 2005/01/07 14:52:13 drochner Exp $
PKGNAME= mpg123-${MPG123_VERSION}
-PKGREVISION= 5
+PKGREVISION= 6
COMMENT= Command-line player for mpeg layer 1, 2 and 3 audio
CONFLICTS+= mpg123-nas-[0-9]*
diff --git a/audio/mpg123/distinfo b/audio/mpg123/distinfo
index e519e19fe36..b1bc3c86d43 100644
--- a/audio/mpg123/distinfo
+++ b/audio/mpg123/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.19 2004/11/07 08:55:04 tron Exp $
+$NetBSD: distinfo,v 1.20 2005/01/07 14:52:13 drochner Exp $
SHA1 (mpg123/mpg123-0.59r.tar.gz) = c32fe242f4506d218bd19a51a4034da9fdc79493
Size (mpg123/mpg123-0.59r.tar.gz) = 159028 bytes
@@ -22,3 +22,5 @@ SHA1 (patch-ao) = 40961a43cc3dbebf71deee1c240907896d297304
SHA1 (patch-ap) = b35e7f6739a8b4979412793c7b3f2f7f5a9f15a7
SHA1 (patch-aq) = a993d815b6657b9a2241b2e3f0ba30d6c2861230
SHA1 (patch-ar) = 6238d6f2ff3f3abf4fd47bc36edcf6696d76fea4
+SHA1 (patch-as) = 8765b22c556cdc217f6270f3a5e70b40b36b9229
+SHA1 (patch-at) = 9a64a62f7d1d115e3d36dbb0f08762d4b0eb1e2b
diff --git a/audio/mpg123/patches/patch-as b/audio/mpg123/patches/patch-as
new file mode 100644
index 00000000000..458c6881cfd
--- /dev/null
+++ b/audio/mpg123/patches/patch-as
@@ -0,0 +1,13 @@
+$NetBSD: patch-as,v 1.1 2005/01/07 14:52:13 drochner Exp $
+
+--- common.c.orig 1999-06-15 23:24:19.000000000 +0200
++++ common.c
+@@ -123,7 +123,7 @@ int head_check(unsigned long head)
+ return FALSE;
+ if(!((head>>17)&3))
+ return FALSE;
+- if( ((head>>12)&0xf) == 0xf)
++ if( ((head>>12)&0xf) == 0xf || ((head>>12)&0xf) == 0)
+ return FALSE;
+ if( ((head>>10)&0x3) == 0x3 )
+ return FALSE;
diff --git a/audio/mpg123/patches/patch-at b/audio/mpg123/patches/patch-at
new file mode 100644
index 00000000000..235fbb0e18d
--- /dev/null
+++ b/audio/mpg123/patches/patch-at
@@ -0,0 +1,17 @@
+$NetBSD: patch-at,v 1.1 2005/01/07 14:52:13 drochner Exp $
+
+--- mpg123.c.orig 2005-01-07 15:18:27.000000000 +0100
++++ mpg123.c
+@@ -309,9 +309,9 @@ char *find_next_file (int argc, char *ar
+ if (line[0]=='\0' || line[0]=='#')
+ continue;
+ if ((listnamedir) && (line[0]!='/') && (line[0]!='\\')){
+- strcpy (linetmp, listnamedir);
+- strcat (linetmp, line);
+- strcpy (line, linetmp);
++ strncpy (linetmp, listnamedir, 1023);
++ strncat (linetmp, line, 1023 - strlen(linetmp));
++ strncpy (line, linetmp, 1023);
+ }
+ return (line);
+ }