From 69b8b42a0c14c8542f4ca1822bbf0f0d486dca85 Mon Sep 17 00:00:00 2001 From: xiphmont Date: Thu, 25 Jun 2009 03:53:49 +0000 Subject: [PATCH 2/2] Second half of fix to Mozilla BZ # 5000254: sanity check the floor 1 post list to reject files with repeated values that would result in floor line segments with zero length. git-svn-id: http://svn.xiph.org/trunk/vorbis@16182 0101bb08-14d6-0310-b084-bc0e0c8e3800 --- lib/floor1.c | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/floor1.c b/lib/floor1.c index 7052304..6d47459 100644 --- a/lib/floor1.c +++ b/lib/floor1.c @@ -120,6 +120,9 @@ static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){ } } +static int icomp(const void *a,const void *b){ + return(**(int **)a-**(int **)b); +} static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){ codec_setup_info *ci=vi->codec_setup; @@ -164,6 +167,17 @@ static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){ info->postlist[0]=0; info->postlist[1]=1<postlist+j; + qsort(sortpointer,count+2,sizeof(*sortpointer),icomp); + + for(j=1;j