avformat/utils: Check size argument in ff_add_index_entry()
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 24 Oct 2013 00:29:50 +0000 (02:29 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 24 Oct 2013 10:58:09 +0000 (12:58 +0200)
Fixes infinite loop
Fixes Ticket3061

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index 1c036aa..ed307ee 100644 (file)
@@ -1627,6 +1627,9 @@ int ff_add_index_entry(AVIndexEntry **index_entries,
     if(timestamp == AV_NOPTS_VALUE)
         return AVERROR(EINVAL);
 
+    if (size < 0 || size > 0x3FFFFFFF)
+        return AVERROR(EINVAL);
+
     if (is_relative(timestamp)) //FIXME this maintains previous behavior but we should shift by the correct offset once known
         timestamp -= RELATIVE_TS_BASE;