[FFmpeg-cvslog] flacdec: simplify bounds checking in flac_probe()

Xi Wang git at videolan.org
Sun Apr 7 15:54:19 CEST 2013


ffmpeg | branch: release/0.10 | Xi Wang <xi.wang at gmail.com> | Fri Mar 15 07:11:47 2013 -0400| [d8010bda7a233fbfa05c3d7690d717a86102926c] | committer: Luca Barbato

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 at libav.org

Signed-off-by: Xi Wang <xi.wang at gmail.com>
Signed-off-by: Luca Barbato <lu_zero at gentoo.org>

(cherry picked from commit 8425d693eefbedbb41f91735614d41067695aa37)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d8010bda7a233fbfa05c3d7690d717a86102926c
---

 libavformat/flacdec.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
index 9e083d1..92957b6 100644
--- a/libavformat/flacdec.c
+++ b/libavformat/flacdec.c
@@ -143,11 +143,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 = {



More information about the ffmpeg-cvslog mailing list