summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/mtv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/mtv.c b/libavformat/mtv.c
index 42aa91f7b3..ef07e4a3b0 100644
--- a/libavformat/mtv.c
+++ b/libavformat/mtv.c
@@ -25,6 +25,7 @@
*/
#include "libavutil/bswap.h"
+#include "libavutil/intreadwrite.h"
#include "avformat.h"
#define MTV_ASUBCHUNK_DATA_SIZE 500
@@ -56,6 +57,10 @@ static int mtv_probe(AVProbeData *p)
if(*(p->buf) != 'A' || *(p->buf+1) != 'M' || *(p->buf+2) != 'V')
return 0;
+ /* Check for nonzero in bpp and (width|height) header fields */
+ if(!(p->buf[51] && AV_RL16(&p->buf[52]) | AV_RL16(&p->buf[54])))
+ return 0;
+
return AVPROBE_SCORE_MAX;
}