From: Michael Niedermayer <[email protected]>

Bug found by: Oana Stratulat

Signed-off-by: Janne Grunau <[email protected]>
---
 libavcodec/indeo3.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index 46efbd8..574b11c 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -767,7 +767,8 @@ static int parse_bintree(Indeo3DecodeContext *ctx, 
AVCodecContext *avctx,
                 /* get motion vector index and setup the pointer to the mv set 
*/
                 if (!ctx->need_resync)
                     ctx->next_cell_data = 
&ctx->gb.buffer[(get_bits_count(&ctx->gb) + 7) >> 3];
-                curr_cell.mv_ptr = &ctx->mc_vectors[*(ctx->next_cell_data++) 
<< 1];
+                if (ctx->mc_vectors)
+                    curr_cell.mv_ptr = 
&ctx->mc_vectors[*(ctx->next_cell_data++) << 1];
                 curr_cell.tree   = 1; /* enter the VQ tree */
                 UPDATE_BITPOS(8);
             } else { /* VQ tree DATA code */
@@ -797,7 +798,7 @@ static int decode_plane(Indeo3DecodeContext *ctx, 
AVCodecContext *avctx,
                         int32_t strip_width)
 {
     Cell            curr_cell;
-    int             num_vectors;
+    unsigned        num_vectors;
 
     /* each plane data starts with mc_vector_count field, */
     /* an optional array of motion vectors followed by the vq data */
-- 
1.7.8.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to