[FFmpeg-cvslog] vmdaudio: fix invalid reads when packet size is not a multiple of chunk size

Anton Khirnov git at videolan.org
Sun Apr 7 14:58:54 CEST 2013


ffmpeg | branch: release/0.10 | Anton Khirnov <anton at khirnov.net> | Wed Mar  6 10:42:51 2013 +0100| [98406bd26e6d29bf782ab1456aa084fafc102a71] | committer: Reinhard Tartler

vmdaudio: fix invalid reads when packet size is not a multiple of chunk size

CC:libav-stable at libav.org
(cherry picked from commit f86d66bcfa48998b0727aa0d1089a30cbeae0933)

Signed-off-by: Reinhard Tartler <siretart at tauware.de>
(cherry picked from commit 77cf052e395b1fac8dd181d4f76b0101d1acd625)

Signed-off-by: Reinhard Tartler <siretart at tauware.de>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=98406bd26e6d29bf782ab1456aa084fafc102a71
---

 libavcodec/vmdav.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vmdav.c b/libavcodec/vmdav.c
index 89b5c2b..570c362 100644
--- a/libavcodec/vmdav.c
+++ b/libavcodec/vmdav.c
@@ -625,7 +625,7 @@ static int vmdaudio_decode_frame(AVCodecContext *avctx, void *data,
     /* decode audio chunks */
     if (audio_chunks > 0) {
         buf_end = buf + buf_size;
-        while (buf < buf_end) {
+        while (buf + s->chunk_size <= buf_end) {
             if (s->out_bps == 2) {
                 decode_audio_s16(output_samples_s16, buf, s->chunk_size,
                                  avctx->channels);



More information about the ffmpeg-cvslog mailing list