avcodec/crystalhd: Handle errors from av_image_get_linesize
authorPhilip Langdale <philipl@overt.org>
Thu, 1 Dec 2016 00:03:44 +0000 (16:03 -0800)
committerPhilip Langdale <philipl@overt.org>
Thu, 1 Dec 2016 00:14:39 +0000 (16:14 -0800)
This function can return an error in certain situations.

Fixes Coverity CID 703707.

libavcodec/crystalhd.c

index d85e351..630d02b 100644 (file)
@@ -568,6 +568,9 @@ static inline CopyRet copy_frame(AVCodecContext *avctx,
     }
 
     bwidth = av_image_get_linesize(avctx->pix_fmt, width, 0);
+    if (bwidth < 0)
+       return RET_ERROR;
+
     if (priv->is_70012) {
         int pStride;
 
@@ -577,6 +580,8 @@ static inline CopyRet copy_frame(AVCodecContext *avctx,
             pStride = 1280;
         else pStride = 1920;
         sStride = av_image_get_linesize(avctx->pix_fmt, pStride, 0);
+        if (sStride < 0)
+            return RET_ERROR;
     } else {
         sStride = bwidth;
     }