From ea8b03fce93444cb3cf0131909e15b4f8856e863 Mon Sep 17 00:00:00 2001 From: Thomas Daede Date: Wed, 23 May 2018 15:23:09 -0700 Subject: [PATCH] Fix shift by negative value when reading blocksize. --- lib/info.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/info.c b/lib/info.c index 3fbb7c75..23efa25c 100644 --- a/lib/info.c +++ b/lib/info.c @@ -203,6 +203,7 @@ void vorbis_info_clear(vorbis_info *vi){ static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){ codec_setup_info *ci=vi->codec_setup; + int bs; if(!ci)return(OV_EFAULT); vi->version=oggpack_read(opb,32); @@ -215,8 +216,12 @@ static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){ vi->bitrate_nominal=(ogg_int32_t)oggpack_read(opb,32); vi->bitrate_lower=(ogg_int32_t)oggpack_read(opb,32); - ci->blocksizes[0]=1<blocksizes[1]=1<blocksizes[0]=1<blocksizes[1]=1<rate<1)goto err_out; if(vi->channels<1)goto err_out;