[FFmpeg-cvslog] ffprobe: fix consistency checks in parse_read_intervals()

Stefano Sabatini git at videolan.org
Mon Oct 21 13:39:08 CEST 2013


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Mon Oct 21 13:33:06 2013 +0200| [ddaf33f5bba59f013a4191a4b22ba83c420cce38] | committer: Stefano Sabatini

ffprobe: fix consistency checks in parse_read_intervals()

Move array size assert after the count increment, and avoid strchr() NULL
dereference on p.

Should fix FFmpeg coverity issue #1108581.

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

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

diff --git a/ffprobe.c b/ffprobe.c
index b7f287c..80a286b 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -2460,8 +2460,11 @@ static int parse_read_intervals(const char *intervals_spec)
 
     /* parse intervals */
     p = spec;
-    for (i = 0; i < n; i++) {
-        char *next = strchr(p, ',');
+    for (i = 0; p; i++) {
+        char *next;
+
+        av_assert0(i < read_intervals_nb);
+        next = strchr(p, ',');
         if (next)
             *next++ = 0;
 
@@ -2475,7 +2478,6 @@ static int parse_read_intervals(const char *intervals_spec)
         av_log(NULL, AV_LOG_VERBOSE, "Parsed log interval ");
         log_read_interval(&read_intervals[i], NULL, AV_LOG_VERBOSE);
         p = next;
-        av_assert0(i <= read_intervals_nb);
     }
     av_assert0(i == read_intervals_nb);
 



More information about the ffmpeg-cvslog mailing list