[FFmpeg-cvslog] svq1dec: Validate the stages value strictly

Luca Barbato git at videolan.org
Tue Feb 3 23:20:55 CET 2015


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Mon Feb  2 02:22:34 2015 +0100| [9b8c8a9395c849639aea0f6b5300e991e93c3a73] | committer: Vittorio Giovara

svq1dec: Validate the stages value strictly

It can be less than -1.

Bug-Id: CID 1194397 / CID 1194398
CC: libav-stable at libav.org

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

 libavcodec/svq1dec.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/svq1dec.c b/libavcodec/svq1dec.c
index 789a013..909ace7 100644
--- a/libavcodec/svq1dec.c
+++ b/libavcodec/svq1dec.c
@@ -191,7 +191,7 @@ static int svq1_decode_block_intra(GetBitContext *bitbuf, uint8_t *pixels,
             continue;   /* skip vector */
         }
 
-        if (stages > 0 && level >= 4) {
+        if ((stages > 0 && level >= 4) || stages < 0) {
             av_dlog(NULL,
                     "Error (svq1_decode_block_intra): invalid vector: stages=%i level=%i\n",
                     stages, level);
@@ -253,7 +253,7 @@ static int svq1_decode_block_non_intra(GetBitContext *bitbuf, uint8_t *pixels,
         if (stages == -1)
             continue;           /* skip vector */
 
-        if ((stages > 0) && (level >= 4)) {
+        if ((stages > 0 && level >= 4) || stages < 0) {
             av_dlog(NULL,
                     "Error (svq1_decode_block_non_intra): invalid vector: stages=%i level=%i\n",
                     stages, level);



More information about the ffmpeg-cvslog mailing list