Commit 16f753f4 authored by Benoit Fouet's avatar Benoit Fouet

Check buffer is inside what is passed when probing for flac.

Originally committed as revision 16825 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent ca6532f6
...@@ -586,11 +586,12 @@ static int eac3_probe(AVProbeData *p) ...@@ -586,11 +586,12 @@ static int eac3_probe(AVProbeData *p)
static int flac_probe(AVProbeData *p) static int flac_probe(AVProbeData *p)
{ {
uint8_t *bufptr = p->buf; uint8_t *bufptr = p->buf;
uint8_t *end = p->buf + p->buf_size;
if(ff_id3v2_match(bufptr)) if(ff_id3v2_match(bufptr))
bufptr += ff_id3v2_tag_len(bufptr); bufptr += ff_id3v2_tag_len(bufptr);
if(memcmp(bufptr, "fLaC", 4)) return 0; if(bufptr > end-4 || memcmp(bufptr, "fLaC", 4)) return 0;
else return AVPROBE_SCORE_MAX / 2; else return AVPROBE_SCORE_MAX / 2;
} }
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment