From 67569814d9c53f90cd4fdf57b75f23fc67ecbb7c Mon Sep 17 00:00:00 2001 From: reimar Date: Fri, 10 Feb 2006 18:21:52 +0000 Subject: Make sure maxlen is respected, instead of just failing the assert later on. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17582 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ad_liba52.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libmpcodecs') diff --git a/libmpcodecs/ad_liba52.c b/libmpcodecs/ad_liba52.c index a8a8317deb..dbdb89a619 100644 --- a/libmpcodecs/ad_liba52.c +++ b/libmpcodecs/ad_liba52.c @@ -288,6 +288,10 @@ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int m sample_t level=a52_level, bias=384; int flags=a52_flags|A52_ADJUST_LEVEL; int i,len=-1; + if (maxlen / sh_audio->samplesize / 256 / sh_audio->channels < 6) { + mp_msg(MSGT_DECAUDIO, MSGL_V, "maxlen too small in decode_audio\n"); + return len; + } if (sh_audio->sample_format == AF_FORMAT_FLOAT_NE) bias = 0; if(!sh_audio->a_in_buffer_len) -- cgit v1.2.3