mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 24 Nov 2014 17:05:04 +0000 (17:05 +0000)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 3 Dec 2014 12:52:53 +0000 (12:52 +0000)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavcodec/mpegvideo.c

index 868f715..e6a48cd 100644 (file)
@@ -1436,8 +1436,8 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s)
         s->mb_height = (s->height + 15) / 16;
 
     if ((s->width || s->height) &&
-        av_image_check_size(s->width, s->height, 0, s->avctx))
-        return AVERROR_INVALIDDATA;
+        (err = av_image_check_size(s->width, s->height, 0, s->avctx)) < 0)
+        goto fail;
 
     if ((err = init_context_frame(s)))
         goto fail;
@@ -1453,7 +1453,7 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s)
             }
 
             for (i = 0; i < nb_slices; i++) {
-                if (init_duplicate_context(s->thread_context[i]) < 0)
+                if ((err = init_duplicate_context(s->thread_context[i])) < 0)
                     goto fail;
                     s->thread_context[i]->start_mb_y =
                         (s->mb_height * (i) + nb_slices / 2) / nb_slices;