diff options
author | drochner <drochner> | 2005-01-07 14:52:13 +0000 |
---|---|---|
committer | drochner <drochner> | 2005-01-07 14:52:13 +0000 |
commit | 1078fcdd996d80360f51aac93a63957728827b08 (patch) | |
tree | d41b7e809de69d5215b493cb798a3dd234a49199 /audio | |
parent | 085ebe47af0137d203a5540975b57709924028bb (diff) | |
download | pkgsrc-1078fcdd996d80360f51aac93a63957728827b08.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/Makefile | 4 | ||||
-rw-r--r-- | audio/mpg123/distinfo | 4 | ||||
-rw-r--r-- | audio/mpg123/patches/patch-as | 13 | ||||
-rw-r--r-- | audio/mpg123/patches/patch-at | 17 |
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); + } |