mxfdec: check return value of avio_seek
authorJoakim Plate <elupus@ecce.se>
Wed, 14 Sep 2011 17:26:48 +0000 (19:26 +0200)
committerJanne Grunau <janne-libav@jannau.net>
Sun, 22 Jan 2012 13:40:52 +0000 (14:40 +0100)
Avoid modifying state if avio_seek fails.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
libavformat/mxfdec.c

index 38e98a3..44dca69 100644 (file)
@@ -1127,13 +1127,16 @@ static int mxf_read_seek(AVFormatContext *s, int stream_index, int64_t sample_ti
 {
     AVStream *st = s->streams[stream_index];
     int64_t seconds;
+    int ret;
 
     if (!s->bit_rate)
         return AVERROR_INVALIDDATA;
     if (sample_time < 0)
         sample_time = 0;
     seconds = av_rescale(sample_time, st->time_base.num, st->time_base.den);
-    avio_seek(s->pb, (s->bit_rate * seconds) >> 3, SEEK_SET);
+
+    if ((ret = avio_seek(s->pb, (s->bit_rate * seconds) >> 3, SEEK_SET)) < 0)
+        return ret;
     ff_update_cur_dts(s, st, sample_time);
     return 0;
 }