[FFmpeg-cvslog] vc1dec: move mquant zero check down.

Michael Niedermayer git at videolan.org
Tue Mar 27 01:14:50 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Mar 27 00:44:32 2012 +0200| [d6eef545c1f576d798a8f07fbcec5cdfb2d950f6] | committer: Michael Niedermayer

vc1dec: move mquant zero check down.

This way it catches all cases, and prevents later segfaults.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/vc1dec.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 95597aa..45c7f9d 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -1032,10 +1032,6 @@ static void vc1_mc_4mv_chroma4(VC1Context *v)
                     mquant = v->pq + mqdiff;                   \
                 else                                           \
                     mquant = get_bits(gb, 5);                  \
-                if (!mquant) {                                 \
-                    av_log(v->s.avctx,AV_LOG_ERROR, "zero mquant\n");   \
-                    mquant = 1;                                \
-                }                                              \
             }                                                  \
         }                                                      \
         if (v->dqprofile == DQPROFILE_SINGLE_EDGE)             \
@@ -1052,6 +1048,10 @@ static void vc1_mc_4mv_chroma4(VC1Context *v)
             mquant = v->altpq;                                 \
         if ((edges&8) && s->mb_y == (s->mb_height - 1))        \
             mquant = v->altpq;                                 \
+        if (!mquant) {                                 \
+            av_log(v->s.avctx,AV_LOG_ERROR, "zero mquant\n");   \
+            mquant = 1;                                \
+        }                                              \
     }
 
 /**



More information about the ffmpeg-cvslog mailing list