[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