diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c index e0a9031cb8..f5ba0f4108 100644 --- a/libavformat/cafdec.c +++ b/libavformat/cafdec.c @@ -52,9 +52,15 @@ typedef struct CafContext { static int probe(const AVProbeData *p) { - if (AV_RB32(p->buf) == MKBETAG('c','a','f','f') && AV_RB16(&p->buf[4]) == 1) - return AVPROBE_SCORE_MAX; - return 0; + if (AV_RB32(p->buf) != MKBETAG('c','a','f','f')) + return 0; + if (AV_RB16(&p->buf[4]) != 1) + return 0; + if (AV_RB32(p->buf + 8) != MKBETAG('d','e','s','c')) + return 0; + if (AV_RB64(p->buf + 12) != 32) + return 0; + return AVPROBE_SCORE_MAX; } /** Read audio description chunk */