diff --git a/libavformat/mov.c b/libavformat/mov.c
index e55a6d33a159bd3a186866a9c8afc5696ee4c281..11d40da8fa72ca6793c27b2d0376191796ad22eb 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1733,6 +1733,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
     int next_sample= -99;
     int size;
     int idx;
+    int ret;
     size = 0x0FFFFFFF;
 
     if (mov->partial) {
@@ -1858,8 +1859,9 @@ readchunk:
         return -1;
     if(size == 0)
         return -1;
-    url_fseek(&s->pb, offset, SEEK_SET);
-
+    ret = url_fseek(&s->pb, offset, SEEK_SET);
+    if (ret < 0)
+        return ret;
     av_get_packet(&s->pb, pkt, size);
     pkt->stream_index = sc->ffindex;