[FFmpeg-cvslog] [cafdec] Check return value of avio_seek and avoid modifying state if it fails
Joakim Plate
git at videolan.org
Wed Sep 14 20:05:35 CEST 2011
ffmpeg | branch: master | Joakim Plate <elupus at ecce.se> | Wed Sep 14 19:24:07 2011 +0200| [75f418064ecf5c2713151cbe6b3a716d2c047f1d] | committer: Joakim Plate
[cafdec] Check return value of avio_seek and avoid modifying state if it fails
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=75f418064ecf5c2713151cbe6b3a716d2c047f1d
---
libavformat/cafdec.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c
index 8b0dadd..0938e1a 100644
--- a/libavformat/cafdec.c
+++ b/libavformat/cafdec.c
@@ -366,6 +366,7 @@ static int read_seek(AVFormatContext *s, int stream_index,
{
AVStream *st = s->streams[0];
CaffContext *caf = s->priv_data;
+ CaffContext caf2 = *caf;
int64_t pos;
timestamp = FFMAX(timestamp, 0);
@@ -385,7 +386,10 @@ static int read_seek(AVFormatContext *s, int stream_index,
return -1;
}
- avio_seek(s->pb, pos + caf->data_start, SEEK_SET);
+ if (avio_seek(s->pb, pos + caf->data_start, SEEK_SET) < 0) {
+ *caf = caf2;
+ return -1;
+ }
return 0;
}
More information about the ffmpeg-cvslog
mailing list