Return if the box is empty at the point the arrays should start.

Signed-off-by: James Almer <jamr...@gmail.com>
---
 libavformat/mov.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 2c8be51063..05afda4169 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -8435,9 +8435,15 @@ static int mov_read_lhvc(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
 
     num_arrays = buf[5];
     old_size = st->codecpar->extradata_size;
-    atom.size -= 8 /* account for mov_realloc_extradata offseting */
-               + 6 /* lhvC bytes before the arrays*/;
+    atom.size -= 6; /* lhvC bytes before the arrays*/
 
+    if (!atom.size) {
+        av_free(buf);
+        av_log(c->fc, AV_LOG_WARNING, "empty lhvC atom\n");
+        return 0;
+    }
+
+    st->codecpar->extradata_size -= 8; /* account for mov_realloc_extradata 
offseting */
     ret = mov_realloc_extradata(st->codecpar, atom);
     if (ret < 0) {
         av_free(buf);
-- 
2.48.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to