Check buffer is inside what is passed when probing for flac.
Originally committed as revision 16825 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@ -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
|
||||||
|
Reference in New Issue
Block a user