Module: libav
Branch: master
Commit: d8f3b0fb584677d4882e3a2d7c28f8b15c7319f5

Author:    Vittorio Giovara <[email protected]>
Committer: Vittorio Giovara <[email protected]>
Date:      Sun Jun 26 20:08:53 2016 -0400

targaenc: Move size check to initialization function

In case of bogus input, fail early at codec initialization, rather than
at the encode function.

---

 libavcodec/targaenc.c |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/targaenc.c b/libavcodec/targaenc.c
index 204ecfe..f0cee38 100644
--- a/libavcodec/targaenc.c
+++ b/libavcodec/targaenc.c
@@ -89,10 +89,6 @@ static int targa_encode_frame(AVCodecContext *avctx, 
AVPacket *pkt,
     int bpp, picsize, datasize = -1, ret;
     uint8_t *out;
 
-    if(avctx->width > 0xffff || avctx->height > 0xffff) {
-        av_log(avctx, AV_LOG_ERROR, "image dimensions too large\n");
-        return AVERROR(EINVAL);
-    }
     picsize = av_image_get_buffer_size(avctx->pix_fmt,
                                        avctx->width, avctx->height, 1);
     if ((ret = ff_alloc_packet(pkt, picsize + 45)) < 0) {
@@ -167,6 +163,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
 
 static av_cold int targa_encode_init(AVCodecContext *avctx)
 {
+    if (avctx->width > 0xffff || avctx->height > 0xffff) {
+        av_log(avctx, AV_LOG_ERROR, "image dimensions too large\n");
+        return AVERROR(EINVAL);
+    }
+
 #if FF_API_CODED_FRAME
 FF_DISABLE_DEPRECATION_WARNINGS
     avctx->coded_frame->key_frame = 1;

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to