From patchwork Tue May 11 07:41:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Yejun" X-Patchwork-Id: 27713 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp3743926iof; Tue, 11 May 2021 00:53:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBOB0JIv9RV5yMt5IDy1Kk5lolEOm+/0rKrguQ2PtpHeKXZzsITOKUgOtCT7lzFZUqc0iw X-Received: by 2002:a17:906:aaca:: with SMTP id kt10mr30757565ejb.227.1620719638652; Tue, 11 May 2021 00:53:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620719638; cv=none; d=google.com; s=arc-20160816; b=d4qd+Ze5Ow5Ar8IW6zm5tRxjMpklC4bduc1NuLA+kTZZ1YXfQxKZ4mXXYTMVe05bRP VAFN1bJnI0d8auHdt8soiShweU9Za28GaV0LyB8UXC/f12dExdzt6nOgmZ7fXj7/Yo2N 9WXYqx4SzykEFnSchxDIigndLYWCeGc18LlRCGVtSR7XBilnIRlBuUsls6RQ1GFoaG+C FcNVMf4xITD6O/2rB7NPevjPI52wSZuqDQp2yxk/QsjTCV7cA98vDfC0zHaMVxfvjfvt taBC+4aUowLFAxFOLQeCTLnMoLaea8uuJrrMcXuL4/fX1pOIo+EELklEq2tKdoRVJLgi 9oOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:ironport-sdr :ironport-sdr:delivered-to; bh=nCFu/PY06XRZjo3CgGql/ssV+x2GCUy45zf0WWL959o=; b=QlC1uHhcU8UM2nTn/52KunD/dTlaAtHsUSjZTI3y20qAa2e+yC0ZOgbr/E187FKCSu uVdF7m6rplM1gVLA8uA3pLHM7Kp8H4Pi0hhqEuTFSTCHjRsmBX+E4gO77FjpWZKeYm17 2CBcAgZGizdTEOpQN5vTv1mC6Y1FEjM97tNCJ9A5up7ytLZ8nNT5eBF6HlS1m9DYTtsx BuQVOD5ue2uULnw0WJ9qFTx6A71WQvgUN4c0VR8j/sxHARVGIhyuiBpu+ghhBEuFnmAL 2KGVQOeUBslmthbfW+BYtCSNGZlfpXTMhD+dTvuzwF37WVB+4nTcTjHanWS2jTB4iu/9 RMNw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nb11si15700654ejc.133.2021.05.11.00.53.57; Tue, 11 May 2021 00:53:58 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CA77F680C9A; Tue, 11 May 2021 10:53:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 07F676804AE for ; Tue, 11 May 2021 10:53:46 +0300 (EEST) IronPort-SDR: lz/xZz5mI3KXV6QS5uP1AmlUS31r5ed+6hFh//dinlL4Xs0fQ34ZWEHubi4vryahX3jmufhhQF /6KzOOans2VQ== X-IronPort-AV: E=McAfee;i="6200,9189,9980"; a="186824687" X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="186824687" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2021 00:53:44 -0700 IronPort-SDR: 6gjCWlhj5KiYnaMRmCKtUEZbIqbpl7BUjz/bLRMe26stdzEpYLvO8nhVZm79WKvjfIeiyI0oih G2ZROjbEXVng== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="436535626" Received: from yguo18-skl-u1604.sh.intel.com ([10.239.159.53]) by orsmga008.jf.intel.com with ESMTP; 11 May 2021 00:53:43 -0700 From: "Guo, Yejun" To: ffmpeg-devel@ffmpeg.org Date: Tue, 11 May 2021 15:41:10 +0800 Message-Id: <20210511074112.18552-1-yejun.guo@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH 1/3] lavfi/dnn/dnn_io_proc.c: Fix Out-of-bounds access (ARRAY_VS_SINGLETON) X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: yejun.guo@intel.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: nX1nJZEvuHoP fix coverity CID 1473571, 1473577 and 1482089 --- libavfilter/dnn/dnn_io_proc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavfilter/dnn/dnn_io_proc.c b/libavfilter/dnn/dnn_io_proc.c index 1e2bef3f9a..d5d2654162 100644 --- a/libavfilter/dnn/dnn_io_proc.c +++ b/libavfilter/dnn/dnn_io_proc.c @@ -154,7 +154,7 @@ static DNNReturnType proc_from_frame_to_dnn_frameprocessing(AVFrame *frame, DNND } sws_scale(sws_ctx, (const uint8_t **)frame->data, frame->linesize, 0, frame->height, - (uint8_t * const*)(&input->data), + (uint8_t * const [4]){input->data, 0, 0, 0}, (const int [4]){frame->width * sizeof(float), 0, 0, 0}); sws_freeContext(sws_ctx); break; @@ -236,7 +236,7 @@ DNNReturnType ff_frame_to_dnn_classify(AVFrame *frame, DNNData *input, uint32_t sws_scale(sws_ctx, (const uint8_t *const *)&bbox_data, frame->linesize, 0, height, - (uint8_t *const *)(&input->data), linesizes); + (uint8_t *const [4]){input->data, 0, 0, 0}, linesizes); sws_freeContext(sws_ctx); @@ -266,7 +266,7 @@ static DNNReturnType proc_from_frame_to_dnn_analytics(AVFrame *frame, DNNData *i } sws_scale(sws_ctx, (const uint8_t *const *)frame->data, frame->linesize, 0, frame->height, - (uint8_t *const *)(&input->data), linesizes); + (uint8_t *const [4]){input->data, 0, 0, 0}, linesizes); sws_freeContext(sws_ctx); return DNN_SUCCESS; From patchwork Tue May 11 07:41:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Yejun" X-Patchwork-Id: 27715 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp3744016iof; Tue, 11 May 2021 00:54:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz1IehAyLsqb8ZB4p3mv1kMW6pPJvSB2Ip3hNMzUJCKQF0XCX3mD/DMI9lOBMn4TZ8IKTGK X-Received: by 2002:aa7:d90b:: with SMTP id a11mr34403396edr.273.1620719649907; Tue, 11 May 2021 00:54:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620719649; cv=none; d=google.com; s=arc-20160816; b=Dll/EEQsPM6RMk0InbM4iRnASvELKvoBpwE/wWl5/C2lWSJx5AcUMyGZPsXs2JS35q tJ6fZOEk+BaRIwlye1AtKiiRzE3+GUIvEHCEaGSe4+V4pVDO4pivqJVt7tvXB4DH38tr pXus8VX3u9421X/PS3EHECegLNdSav/6RETp7QxMrNvsM7OX73HgxyVpC0GpzxCi9Elq SYc8eCfXb6rVR99CUvP2/faBXni6R5mx77O+MGZQ5sWcxB6gaPiO2DIvY0JuFDp5aHoi Bqqxu1dNatvJw2Bdx+EqwwfdB1HFxWgVoEGtc0ksd/nx3RVgFOt3CyHHvI4/5aDyZsDQ PCIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:ironport-sdr:ironport-sdr:delivered-to; bh=4PqzfCJSqFKwEUGzig+r4jdNvFZxQvFGHZRyhClaJ8A=; b=RedonRLPUkf8w0+lEUKoRqY4WcwUmDDdomdqkEJtbLstAu/+ySNg4ALY8R2mQhniEx T9rzKoelDCxW6uwW8fT4UxxH+ftUWTpLY5Cao0MfAF0ZQTCE6vEHp6vQgB4oPICAWeiX 4Xlhg0Pq16zR/6coPcWqd3eJaUYl/4t2ixlFTDUNcZthClfQAC7oJwJyS488i1QDOC0V F6dy0RIZLKaL5k4E7bVYXCx1FdrlfBYubRz7m3ZMWQtMEvsEKakTknhLNC0M50rJil3Q haUIQdSf91shDGKso+Ew98R2geuiqdYu3/JNKTwMWAZIC12Hg1NvlfKKV/9akmdGmIdX G5WA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ml14si14985704ejb.661.2021.05.11.00.54.09; Tue, 11 May 2021 00:54:09 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E4896687F2A; Tue, 11 May 2021 10:53:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 43F1968054F for ; Tue, 11 May 2021 10:53:53 +0300 (EEST) IronPort-SDR: 7qtmZ8NKgPwMhjCkyweJ8J+FlzO5Y5e6Q2Qay0h2yH/+TjXfKWi+9q7bSq5K5T9BBPsdLul64m KJcRcmDXkHWQ== X-IronPort-AV: E=McAfee;i="6200,9189,9980"; a="186824688" X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="186824688" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2021 00:53:45 -0700 IronPort-SDR: 3iobocz8u5yOaZLtYe7esNZrVzbSHuwcxhugVVzyrVQvG4byzEGZYd7dZuU0qeXlXGqOi4BUtd mE6l3n+s/0IA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="436535629" Received: from yguo18-skl-u1604.sh.intel.com ([10.239.159.53]) by orsmga008.jf.intel.com with ESMTP; 11 May 2021 00:53:44 -0700 From: "Guo, Yejun" To: ffmpeg-devel@ffmpeg.org Date: Tue, 11 May 2021 15:41:11 +0800 Message-Id: <20210511074112.18552-2-yejun.guo@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210511074112.18552-1-yejun.guo@intel.com> References: <20210511074112.18552-1-yejun.guo@intel.com> Subject: [FFmpeg-devel] [PATCH 2/3] lavfi/dnn/dnn_io_proc.c: fix Improper use of negative value (NEGATIVE_RETURNS) X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: yejun.guo@intel.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: PCgCyY71Wfq+ fix coverity CID 1473511 and 1473566 --- libavfilter/dnn/dnn_io_proc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavfilter/dnn/dnn_io_proc.c b/libavfilter/dnn/dnn_io_proc.c index d5d2654162..02c8e13ed7 100644 --- a/libavfilter/dnn/dnn_io_proc.c +++ b/libavfilter/dnn/dnn_io_proc.c @@ -28,6 +28,9 @@ DNNReturnType ff_proc_from_dnn_to_frame(AVFrame *frame, DNNData *output, void *l { struct SwsContext *sws_ctx; int bytewidth = av_image_get_linesize(frame->format, frame->width, 0); + if (bytewidth < 0) { + return DNN_ERROR; + } if (output->dt != DNN_FLOAT) { avpriv_report_missing_feature(log_ctx, "data type rather than DNN_FLOAT"); return DNN_ERROR; @@ -98,6 +101,9 @@ static DNNReturnType proc_from_frame_to_dnn_frameprocessing(AVFrame *frame, DNND { struct SwsContext *sws_ctx; int bytewidth = av_image_get_linesize(frame->format, frame->width, 0); + if (bytewidth < 0) { + return DNN_ERROR; + } if (input->dt != DNN_FLOAT) { avpriv_report_missing_feature(log_ctx, "data type rather than DNN_FLOAT"); return DNN_ERROR; From patchwork Tue May 11 07:41:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Guo, Yejun" X-Patchwork-Id: 27714 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp3744082iof; Tue, 11 May 2021 00:54:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzP1BeN7htI+V5LzbuOw9W5vsUIn9MVjYlRsRKJ7aHX4viH6Bu1VOMs+A7gKeHxofUAkuvb X-Received: by 2002:a17:906:e4b:: with SMTP id q11mr29416092eji.12.1620719660270; Tue, 11 May 2021 00:54:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620719660; cv=none; d=google.com; s=arc-20160816; b=u1kUXBJTeFzCLV6gstFSIGoyij8p2zhSOTOddPpQcgRldCP59zG+xAcLpye4/GVT7u fLntoIIspU9zsYC6vA7T380heRYT+BpBhARt8Ug8jHBkDPW57CfdqppFqVjGlPdtzV7L Y7FB9Pmw92Rp3jDkpQ8hIOHtzGEhUxu10v1VLGTDonJSaldZikrQqzVkI99+meqXW1cL 3wlFa6mfrHqqfRghvhlJ8jKgIaiu9l9v3WtII9uEvcVEsZ/uvai3I+HsbgFQtXzVH6Ex nktCH+JTVMZPt2dgPI8RMlvzV+DlsQz79xUwmnURsdh24FPpiIseU+VGhAxiK9pX5aDn KmPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:ironport-sdr:ironport-sdr:delivered-to; bh=D7lxSqLrCWCnT7IqIwcZarHuAWaYAl0MFQy/Z0Dox0s=; b=qIGTDbzlhINtUoxAxd5CMf1ZWDepUWYof6xH4D9dPpXmMfQUBt2UgEF+ApeJKpPl/z zeyALAWEVClDdrMZblbkW5j7ftX/UmZnwV6uggevrii0kQVI58B2YL/QG04iunMVDmlN M2x83MQn34z+Si1BiZtcaufIXlcrxpZVcHYSvNlGXwNR4gy6EoNhMoEqLfx/HzwF6YvD ZS6m3tIeAyBAQqTP0VNSiB/MDYNHzmNRg0Ki0fOFqLSkQaOOOCnV/7RWzBjxQCJIZjAl C4quqLx4+D0n36KiDSUghknWKIF92BpiyqOTheeH9tDml/xTIkxxr2WDfz/iB/y3WPx4 DibA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n24si16555763eju.330.2021.05.11.00.54.20; Tue, 11 May 2021 00:54:20 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EEA68687F8C; Tue, 11 May 2021 10:54:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 33FA7687F34 for ; Tue, 11 May 2021 10:53:55 +0300 (EEST) IronPort-SDR: FxyDhANsZBv2xMq7r576hHpnNjgZP/R4TcKgvMgjfIvyTe4Na0eV3+VQU1db6JauANwTE22BhQ F8Tp2VVAxMxA== X-IronPort-AV: E=McAfee;i="6200,9189,9980"; a="186824690" X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="186824690" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2021 00:53:46 -0700 IronPort-SDR: rV0aSQec36G1OIvkHOmFUFADOLJzCHFqArYBU4PycvFrYVjCfc81ZbXuBf3k6wvvolOATZWydT kib8Fs3pR9RA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,290,1613462400"; d="scan'208";a="436535633" Received: from yguo18-skl-u1604.sh.intel.com ([10.239.159.53]) by orsmga008.jf.intel.com with ESMTP; 11 May 2021 00:53:45 -0700 From: "Guo, Yejun" To: ffmpeg-devel@ffmpeg.org Date: Tue, 11 May 2021 15:41:12 +0800 Message-Id: <20210511074112.18552-3-yejun.guo@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210511074112.18552-1-yejun.guo@intel.com> References: <20210511074112.18552-1-yejun.guo@intel.com> Subject: [FFmpeg-devel] [PATCH 3/3] lavfi/vf_dnn_processing.c: fix CID 1460603 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: yejun.guo@intel.com MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8exup/Z1sSo0 CID 1460603 (#1 of 1): Improper use of negative value (NEGATIVE_RETURNS) --- libavfilter/vf_dnn_processing.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavfilter/vf_dnn_processing.c b/libavfilter/vf_dnn_processing.c index e05d59a649..e1d9d24683 100644 --- a/libavfilter/vf_dnn_processing.c +++ b/libavfilter/vf_dnn_processing.c @@ -225,6 +225,9 @@ static int copy_uv_planes(DnnProcessingContext *ctx, AVFrame *out, const AVFrame uv_height = AV_CEIL_RSHIFT(in->height, desc->log2_chroma_h); for (int i = 1; i < 3; ++i) { int bytewidth = av_image_get_linesize(in->format, in->width, i); + if (bytewidth < 0) { + return AVERROR(EINVAL); + } av_image_copy_plane(out->data[i], out->linesize[i], in->data[i], in->linesize[i], bytewidth, uv_height);