OBS User unknown 2008-11-21 14:32:43 +00:00 committed by Git OBS Bridge
parent c1fb2c9bc9
commit 19364f9dfd
12 changed files with 1155 additions and 1137 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,35 @@
--- lib/mapping0.c-dist 2007-07-24 02:09:47.000000000 +0200
+++ lib/mapping0.c 2007-08-02 12:04:35.000000000 +0200
@@ -586,8 +586,8 @@ static int mapping0_forward(vorbis_block
--- lib/floor1.c
+++ lib/floor1.c
@@ -417,7 +417,7 @@
int x0, int x1,lsfit_acc *a,
int n,vorbis_info_floor1 *info){
long i;
- int quantized=vorbis_dBquant(flr+x0);
+ /*int quantized=vorbis_dBquant(flr+x0);*/
long xa=0,ya=0,x2a=0,y2a=0,xya=0,na=0, xb=0,yb=0,x2b=0,y2b=0,xyb=0,nb=0;
@@ -595,7 +595,7 @@
return (A[pos]+B[pos])>>1;
}
-static int seq=0;
+/*static int seq=0;*/
int *floor1_fit(vorbis_block *vb,vorbis_look_floor1 *look,
const float *logmdct, /* in */
@@ -767,7 +767,7 @@
long i,j;
vorbis_info_floor1 *info=look->vi;
- long n=look->n;
+ /*long n=look->n;*/
long posts=look->posts;
codec_setup_info *ci=vb->vd->vi->codec_setup;
int out[VIF_POSIT+2];
--- lib/mapping0.c
+++ lib/mapping0.c
@@ -623,8 +623,8 @@
float **couple_bundle=alloca(sizeof(*couple_bundle)*vi->channels);
int *zerobundle=alloca(sizeof(*zerobundle)*vi->channels);
int **sortindex=alloca(sizeof(*sortindex)*vi->channels);
@ -11,7 +40,7 @@
if(info->coupling_steps){
mag_memo=_vp_quantize_couple_memo(vb,
@@ -735,7 +735,7 @@ static int mapping0_inverse(vorbis_block
@@ -783,7 +783,7 @@
codec_setup_info *ci=vi->codec_setup;
private_state *b=vd->backend_state;
vorbis_info_mapping0 *info=(vorbis_info_mapping0 *)l;
@ -20,8 +49,28 @@
int i,j;
long n=vb->pcmend=ci->blocksizes[vb->W];
--- lib/scales.h-dist 2007-07-24 02:09:47.000000000 +0200
+++ lib/scales.h 2007-08-02 12:04:35.000000000 +0200
--- lib/res0.c
+++ lib/res0.c
@@ -372,7 +372,7 @@
vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
vorbis_info_residue0 *info=look->info;
vorbis_info *vi=vb->vd->vi;
- codec_setup_info *ci=vi->codec_setup;
+ /*codec_setup_info *ci=vi->codec_setup;*/
/* move all this setup out later */
int samples_per_partition=info->grouping;
@@ -500,7 +500,7 @@
vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
vorbis_info_residue0 *info=look->info;
- vorbis_dsp_state *vd=vb->vd;
+ /*vorbis_dsp_state *vd=vb->vd;*/
/* move all this setup out later */
int samples_per_partition=info->grouping;
--- lib/scales.h
+++ lib/scales.h
@@ -25,7 +25,7 @@
#define VORBIS_IEEE_FLOAT32 1
#ifdef VORBIS_IEEE_FLOAT32
@ -31,7 +80,7 @@
union {
ogg_uint32_t i;
float f;
@@ -36,7 +36,7 @@ static float unitnorm(float x){
@@ -36,7 +36,7 @@
}
/* Segher was off (too high) by ~ .3 decibel. Center the conversion correctly. */
@ -40,7 +89,7 @@
union {
ogg_uint32_t i;
float f;
@@ -50,7 +50,7 @@ static float todB(const float *x){
@@ -50,7 +50,7 @@
#else
@ -49,52 +98,3 @@
if(x<0)return(-1.f);
return(1.f);
}
--- lib/res0.c-dist 2007-07-24 02:09:47.000000000 +0200
+++ lib/res0.c 2007-08-02 12:04:35.000000000 +0200
@@ -372,7 +372,7 @@ static long **_01class(vorbis_block *vb,
vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
vorbis_info_residue0 *info=look->info;
vorbis_info *vi=vb->vd->vi;
- codec_setup_info *ci=vi->codec_setup;
+ /*codec_setup_info *ci=vi->codec_setup;*/
/* move all this setup out later */
int samples_per_partition=info->grouping;
@@ -500,7 +500,7 @@ static int _01forward(oggpack_buffer *op
vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
vorbis_info_residue0 *info=look->info;
- vorbis_dsp_state *vd=vb->vd;
+ /*vorbis_dsp_state *vd=vb->vd;*/
/* move all this setup out later */
int samples_per_partition=info->grouping;
--- lib/floor1.c-dist 2007-07-24 02:09:47.000000000 +0200
+++ lib/floor1.c 2007-08-02 12:04:35.000000000 +0200
@@ -417,7 +417,7 @@ static int accumulate_fit(const float *f
int x0, int x1,lsfit_acc *a,
int n,vorbis_info_floor1 *info){
long i;
- int quantized=vorbis_dBquant(flr+x0);
+ /*int quantized=vorbis_dBquant(flr+x0);*/
long xa=0,ya=0,x2a=0,y2a=0,xya=0,na=0, xb=0,yb=0,x2b=0,y2b=0,xyb=0,nb=0;
@@ -595,7 +595,7 @@ static int post_Y(int *A,int *B,int pos)
return (A[pos]+B[pos])>>1;
}
-static int seq=0;
+/*static int seq=0;*/
int *floor1_fit(vorbis_block *vb,vorbis_look_floor1 *look,
const float *logmdct, /* in */
@@ -767,7 +767,7 @@ int floor1_encode(oggpack_buffer *opb,vo
long i,j;
vorbis_info_floor1 *info=look->vi;
- long n=look->n;
+ /*long n=look->n;*/
long posts=look->posts;
codec_setup_info *ci=vb->vd->vi->codec_setup;
int out[VIF_POSIT+2];

View File

@ -1,7 +1,7 @@
--- configure.in-dist 2005-07-07 16:10:11.000000000 +0200
+++ configure.in 2005-07-07 16:15:24.000000000 +0200
@@ -101,10 +101,10 @@
--- configure.in
+++ configure.in
@@ -103,10 +103,10 @@
AC_MSG_RESULT([$GCC_VERSION])
case $host in
*86-*-linux*)
- DEBUG="-g -Wall -W -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char"
@ -15,7 +15,7 @@
# glibc < 2.1.3 has a serious FP bug in the math inline header
# that will cripple Vorbis. Look to see if the magic FP stack
@@ -150,9 +150,9 @@
@@ -152,9 +152,9 @@
CFLAGS="-O3 -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT"
PROFILE="-pg -g -O3 -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT";;
*-*-linux*)

View File

@ -1,5 +1,5 @@
--- doc/vorbisenc/index.html-dist 2007-07-27 13:03:36.000000000 +0200
+++ doc/vorbisenc/index.html 2007-07-27 13:04:01.000000000 +0200
--- doc/vorbisenc/index.html
+++ doc/vorbisenc/index.html
@@ -20,8 +20,10 @@
<p>
<a href="overview.html">libvorbisenc api overview</a><br>

View File

@ -1,12 +1,12 @@
--- vorbis.m4-dist 2002-09-19 15:24:06.000000000 +0200
+++ vorbis.m4 2002-09-19 15:25:08.000000000 +0200
--- vorbis.m4
+++ vorbis.m4
@@ -18,9 +18,9 @@
if test "x$vorbis_libraries" != "x" ; then
VORBIS_LIBS="-L$vorbis_libraries"
elif test "x$vorbis_prefix" != "x" ; then
- VORBIS_LIBS="-L$vorbis_prefix/lib"
+ VORBIS_LIBS="-L$vorbis_prefix/lib64"
elif test "x$prefix" != "xNONE" -a test "x$prefix" != "x/usr"; then
elif test "x$prefix" != "xNONE" -a "x$prefix" != "x/usr"; then
- VORBIS_LIBS="-L$prefix/lib"
+ VORBIS_LIBS="-L$prefix/lib64"
fi

View File

@ -1,11 +1,11 @@
--- vorbis.m4-dist 2002-07-09 15:08:57.000000000 +0200
+++ vorbis.m4 2002-09-19 15:24:06.000000000 +0200
--- vorbis.m4
+++ vorbis.m4
@@ -19,7 +19,7 @@
VORBIS_LIBS="-L$vorbis_libraries"
elif test "x$vorbis_prefix" != "x" ; then
VORBIS_LIBS="-L$vorbis_prefix/lib"
- elif test "x$prefix" != "xNONE"; then
+ elif test "x$prefix" != "xNONE" -a test "x$prefix" != "x/usr"; then
+ elif test "x$prefix" != "xNONE" -a "x$prefix" != "x/usr"; then
VORBIS_LIBS="-L$prefix/lib"
fi

View File

@ -1,8 +1,8 @@
Index: vorbis.pc.in
===================================================================
--- vorbis.pc.in.orig 2004-07-20 09:24:27.000000000 +0200
+++ vorbis.pc.in 2008-04-27 05:29:10.000000000 +0200
@@ -8,7 +8,8 @@ includedir=@includedir@
================================================================================
--- vorbis.pc.in
+++ vorbis.pc.in
@@ -8,7 +8,8 @@
Name: vorbis
Description: vorbis is the primary Ogg Vorbis library
Version: @VERSION@
@ -13,11 +13,9 @@ Index: vorbis.pc.in
+Libs: -L${libdir} -lvorbis
+Libs.private: -lm
Cflags: -I${includedir}
Index: vorbisenc.pc.in
===================================================================
--- vorbisenc.pc.in.orig 2004-07-20 09:24:27.000000000 +0200
+++ vorbisenc.pc.in 2008-04-27 05:27:54.000000000 +0200
@@ -8,7 +8,7 @@ includedir=@includedir@
--- vorbisenc.pc.in
+++ vorbisenc.pc.in
@@ -8,7 +8,7 @@
Name: vorbisenc
Description: vorbisenc is a library that provides a convenient API for setting up an encoding environment using libvorbis
Version: @VERSION@
@ -26,11 +24,9 @@ Index: vorbisenc.pc.in
Conflicts:
Libs: -L${libdir} -lvorbisenc
Cflags: -I${includedir}
Index: vorbisfile.pc.in
===================================================================
--- vorbisfile.pc.in.orig 2004-07-20 09:24:27.000000000 +0200
+++ vorbisfile.pc.in 2008-04-27 05:28:15.000000000 +0200
@@ -8,7 +8,7 @@ includedir=@includedir@
--- vorbisfile.pc.in
+++ vorbisfile.pc.in
@@ -8,7 +8,7 @@
Name: vorbisfile
Description: vorbisfile is a library that provides a convenient high-level API for decoding and basic manipulation of all Vorbis I audio streams
Version: @VERSION@

View File

@ -1,30 +1,34 @@
Index: /trunk/vorbis/lib/res0.c
===================================================================
--- /trunk/vorbis/lib/res0.c (revision 13578)
+++ /trunk/vorbis/lib/res0.c (revision 14598)
@@ -224,4 +224,18 @@
if(info->booklist[j]>=ci->books)goto errout;
+ /* verify the phrasebook is not specifying an impossible or
+ inconsistent partitioning scheme. */
+ {
+ int entries = ci->book_param[info->groupbook]->entries;
+ int dim = ci->book_param[info->groupbook]->dim;
+ int partvals = 1;
+ while(dim>0){
+ partvals *= info->partitions;
+ if(partvals > entries) goto errout;
+ dim--;
+ }
+ if(partvals != entries) goto errout;
+ }
+
return(info);
errout:
@@ -264,5 +278,5 @@
}
- look->partvals=rint(pow((float)look->parts,(float)dim));
+ look->partvals=look->phrasebook->entries;
look->stages=maxstage;
look->decodemap=_ogg_malloc(look->partvals*sizeof(*look->decodemap));
================================================================================
--- libvorbis/BUILD/libvorbis-1.2.0/lib/res0.c
+++ libvorbis/BUILD/libvorbis-1.2.0/lib/res0.c
@@ -223,6 +223,20 @@
for(j=0;j<acc;j++)
if(info->booklist[j]>=ci->books)goto errout;
+ /* verify the phrasebook is not specifying an impossible or
+ inconsistent partitioning scheme. */
+ {
+ int entries = ci->book_param[info->groupbook]->entries;
+ int dim = ci->book_param[info->groupbook]->dim;
+ int partvals = 1;
+ while(dim>0){
+ partvals *= info->partitions;
+ if(partvals > entries) goto errout;
+ dim--;
+ }
+ if(partvals != entries) goto errout;
+ }
+
return(info);
errout:
res0_free_info(info);
@@ -263,7 +277,7 @@
}
}
- look->partvals=rint(pow((float)look->parts,(float)dim));
+ look->partvals=look->phrasebook->entries;
look->stages=maxstage;
look->decodemap=_ogg_malloc(look->partvals*sizeof(*look->decodemap));
for(j=0;j<look->partvals;j++){

View File

@ -1,11 +1,13 @@
Index: /trunk/vorbis/lib/codebook.c
===================================================================
--- /trunk/vorbis/lib/codebook.c (revision 13293)
+++ /trunk/vorbis/lib/codebook.c (revision 14602)
@@ -226,5 +226,5 @@
switch(s->maptype){
case 1:
- quantvals=_book_maptype1_quantvals(s);
+ quantvals=(s->dim==0?0:_book_maptype1_quantvals(s));
break;
case 2:
================================================================================
--- libvorbis/BUILD/libvorbis-1.2.0/lib/codebook.c
+++ libvorbis/BUILD/libvorbis-1.2.0/lib/codebook.c
@@ -225,7 +225,7 @@
int quantvals=0;
switch(s->maptype){
case 1:
- quantvals=_book_maptype1_quantvals(s);
+ quantvals=(s->dim==0?0:_book_maptype1_quantvals(s));
break;
case 2:
quantvals=s->entries*s->dim;

View File

@ -1,11 +1,13 @@
Index: /trunk/vorbis/lib/codebook.c
===================================================================
--- /trunk/vorbis/lib/codebook.c (revision 14602)
+++ /trunk/vorbis/lib/codebook.c (revision 14604)
@@ -159,4 +159,6 @@
s->entries=oggpack_read(opb,24);
if(s->entries==-1)goto _eofout;
+
+ if(_ilog(s->dim)+_ilog(s->entries)>24)goto _eofout;
/* codeword ordering.... length ordered or unordered? */
================================================================================
--- libvorbis/BUILD/libvorbis-1.2.0/lib/codebook.c
+++ libvorbis/BUILD/libvorbis-1.2.0/lib/codebook.c
@@ -159,6 +159,8 @@
s->entries=oggpack_read(opb,24);
if(s->entries==-1)goto _eofout;
+ if(_ilog(s->dim)+_ilog(s->entries)>24)goto _eofout;
+
/* codeword ordering.... length ordered or unordered? */
switch((int)oggpack_read(opb,1)){
case 0:

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Nov 20 16:48:52 CET 2008 - pth@suse.de
- Fix the test in libvorbis-m4.dif and adapt libvorbis-lib64.dif.
-------------------------------------------------------------------
Wed May 14 16:41:31 CEST 2008 - tiwai@suse.de

View File

@ -2,9 +2,16 @@
# spec file for package libvorbis (Version 1.2.0)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@ -15,7 +22,7 @@ Name: libvorbis
BuildRequires: libogg-devel pkgconfig
Summary: The Vorbis General Audio Compression Codec
Version: 1.2.0
Release: 52
Release: 78
Group: System/Libraries
License: BSD 3-Clause
Url: http://www.vorbis.com/
@ -137,6 +144,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%doc %{_docdir}/%{name}
%changelog
* Thu Nov 20 2008 pth@suse.de
- Fix the test in libvorbis-m4.dif and adapt libvorbis-lib64.dif.
* Wed May 14 2008 tiwai@suse.de
- VUL-0: Multiple vulnerabilities in libogg and libvorbis
(bnc#372246)