aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorXi Wang <xi.wang@gmail.com>2013-03-15 07:11:47 -0400
committerReinhard Tartler <siretart@tauware.de>2013-05-09 11:29:05 +0200
commitf8d3bb8961d2cdea38ae2971436deae556d78f08 (patch)
treec9830142363412f09be1819987e8c73bd99531c1 /libavformat
parent78889be3fb4b78a980de283a80a6eabb307db882 (diff)
downloadffmpeg-f8d3bb8961d2cdea38ae2971436deae556d78f08.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> (cherry picked from commit 8425d693eefbedbb41f91735614d41067695aa37)
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/flacdec.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
index 02452b4c7c..32b583f725 100644
--- a/libavformat/flacdec.c
+++ b/libavformat/flacdec.c
@@ -116,11 +116,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 = {