avformat/movenc: propagate shift_data errors properly
authorMarton Balint <cus@passwd.hu>
Sun, 29 May 2016 14:51:57 +0000 (16:51 +0200)
committerMarton Balint <cus@passwd.hu>
Mon, 30 May 2016 22:35:16 +0000 (00:35 +0200)
The second one is not explicitly needed, as res is not reset, but it is there
for consistency.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/movenc.c

index 3a633a6..f8bfcfe 100644 (file)
@@ -5731,6 +5731,8 @@ static int mov_write_trailer(AVFormatContext *s)
         if (mov->flags & FF_MOV_FLAG_FASTSTART) {
             av_log(s, AV_LOG_INFO, "Starting second pass: moving the moov atom to the beginning of the file\n");
             res = shift_data(s);
+            if (res < 0)
+                goto error;
             if (res == 0) {
                 avio_seek(pb, mov->reserved_header_pos, SEEK_SET);
                 if ((res = mov_write_moov_tag(pb, mov, s)) < 0)
@@ -5762,6 +5764,8 @@ static int mov_write_trailer(AVFormatContext *s)
         if (mov->flags & FF_MOV_FLAG_GLOBAL_SIDX) {
             av_log(s, AV_LOG_INFO, "Starting second pass: inserting sidx atoms\n");
             res = shift_data(s);
+            if (res < 0)
+                goto error;
             if (res == 0) {
                 int64_t end = avio_tell(pb);
                 avio_seek(pb, mov->reserved_header_pos, SEEK_SET);