From 5512dbe37f83d8b11393c7059c6eae48d164461c Mon Sep 17 00:00:00 2001
From: Philip Langdale <philipl@overt.org>
Date: Wed, 30 Nov 2016 16:03:44 -0800
Subject: [PATCH] avcodec/crystalhd: Handle errors from av_image_get_linesize

This function can return an error in certain situations.

Fixes Coverity CID 703707.
---
 libavcodec/crystalhd.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/crystalhd.c b/libavcodec/crystalhd.c
index d85e3518cca..630d02b6f55 100644
--- a/libavcodec/crystalhd.c
+++ b/libavcodec/crystalhd.c
@@ -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;
     }
-- 
GitLab