1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-12 07:27:57 +00:00

Fix buffer overflow vulnerability.

VuXML:		http://vuxml.FreeBSD.org/3cc84400-6576-11d9-a9e7-0001020eed82.html
Obtained from:	Debian
Approved by:	maintainer, erwin (mentor)
This commit is contained in:
Simon L. B. Nielsen 2005-01-15 11:47:51 +00:00
parent 2b6fa4039f
commit 2aeb55fbe5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=126499
2 changed files with 31 additions and 1 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= mpg123
PORTVERSION= 0.59r
PORTREVISION= 16
PORTREVISION= 17
CATEGORIES= audio ipv6
MASTER_SITES= http://www.mpg123.de/mpg123/ \
http://www-ti.informatik.uni-tuebingen.de/~hippm/mpg123/

View File

@ -0,0 +1,30 @@
--- common.c.orig 2003/01/29 19:22:48 1.4
+++ common.c 2005/01/01 19:21:47 1.5
@@ -343,9 +343,12 @@
fr->mpeg25 = 1;
}
- if (!param.tryresync || !oldhead) {
- /* If "tryresync" is true, assume that certain
- parameters do not change within the stream! */
+ if (!param.tryresync || !oldhead ||
+ (((oldhead>>19)&0x3) ^ ((newhead>>19)&0x3))) {
+ /* If "tryresync" is false, assume that certain
+ parameters do not change within the stream!
+ Force an update if lsf or mpeg25 settings
+ have changed. */
fr->lay = 4-((newhead>>17)&3);
if( ((newhead>>10)&0x3) == 0x3) {
fprintf(stderr,"Stream error\n");
Index: debian/mpg123/layer2.c
--- layer2.c.orig Tue Sep 7 14:32:13 2004
+++ layer2.c Sat Jan 1 20:21:47 2005
@@ -240,7 +240,7 @@
{ alloc_0, alloc_1, alloc_2, alloc_3 , alloc_4 };
static int sblims[5] = { 27 , 30 , 8, 12 , 30 };
- if(fr->lsf)
+ if(fr->sampling_frequency >= 3) /* Or equivalent: (fr->lsf == 1) */
table = 4;
else
table = translate[fr->sampling_frequency][2-fr->stereo][fr->bitrate_index];