Found with asan and the venerable 1-dog.avi sample.
---
 libavcodec/indeo3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index 2a929a5..2c7e96b 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -444,7 +444,7 @@ static int decode_cell_data(Cell *cell, uint8_t *block, 
uint8_t *ref_block,
                             BUFFER_PRECHECK;
                             dyad1 = bytestream_get_byte(data_ptr);
                             dyad2 = code;
-                            if (dyad1 > delta_tab->num_dyads || dyad1 >= 248)
+                            if (dyad1 >= delta_tab->num_dyads || dyad1 >= 248)
                                 return IV3_BAD_DATA;
                         } else {
                             /* process QUADS */
-- 
1.7.3.1

Input from the indeo experts is welcome.

Furthermore if the indeo experts have extra cycles please look at 1-dog.avi
http://samples.libav.org/samples/archive/extension/AVI/avi+indeo3+++1-dog.avi
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to