From 8332321c5737cf24ebad504bf10a03818424718d Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Fri, 3 Feb 2012 19:13:36 +0000 Subject: dv: Check return value of avio_seek and avoid modifying state if it fails Signed-off-by: Paul B Mahol Signed-off-by: Justin Ruggles --- libavformat/dv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'libavformat/dv.c') diff --git a/libavformat/dv.c b/libavformat/dv.c index 769f6b74f4..6714bf2afc 100644 --- a/libavformat/dv.c +++ b/libavformat/dv.c @@ -491,10 +491,11 @@ static int dv_read_seek(AVFormatContext *s, int stream_index, DVDemuxContext *c = r->dv_demux; int64_t offset = dv_frame_offset(s, c, timestamp, flags); - dv_offset_reset(c, offset / c->sys->frame_size); + if (avio_seek(s->pb, offset, SEEK_SET) < 0) + return -1; - offset = avio_seek(s->pb, offset, SEEK_SET); - return (offset < 0) ? offset : 0; + dv_offset_reset(c, offset / c->sys->frame_size); + return 0; } static int dv_read_close(AVFormatContext *s) -- cgit v1.2.3