diff options
author | Xi Wang <xi.wang@gmail.com> | 2013-03-15 07:11:47 -0400 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-03-15 12:51:57 +0100 |
commit | 8425d693eefbedbb41f91735614d41067695aa37 (patch) | |
tree | 3a68041a248305aa27ecbbce03eeb6248fdaf537 /libavformat/flacdec.c | |
parent | eba1ff31304e407db3cefd7532108408f364367b (diff) | |
download | ffmpeg-8425d693eefbedbb41f91735614d41067695aa37.tar.gz |
flacdec: simplify bounds checking in flac_probe()
Simplify `p->buf > p->buf + p->buf_size - 4' as `p->buf_size < 4'.
Avoid a possible out-of-bounds pointer, which is undefined behavior
in C.
CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavformat/flacdec.c')
-rw-r--r-- | libavformat/flacdec.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c index 7aaec9eb26..1edd88037a 100644 --- a/libavformat/flacdec.c +++ b/libavformat/flacdec.c @@ -279,11 +279,9 @@ static int flac_read_header(AVFormatContext *s) static int flac_probe(AVProbeData *p) { - uint8_t *bufptr = p->buf; - uint8_t *end = p->buf + p->buf_size; - - if(bufptr > end-4 || memcmp(bufptr, "fLaC", 4)) return 0; - else return AVPROBE_SCORE_MAX/2; + if (p->buf_size < 4 || memcmp(p->buf, "fLaC", 4)) + return 0; + return AVPROBE_SCORE_MAX/2; } AVInputFormat ff_flac_demuxer = { |