Browse Source

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>
tags/n2.0
Xi Wang Luca Barbato 13 years ago
parent
commit
8425d693ee
1 changed files with 3 additions and 5 deletions
  1. +3
    -5
      libavformat/flacdec.c

+ 3
- 5
libavformat/flacdec.c View File

@@ -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 = {


Loading…
Cancel
Save