{"id":19540,"url":"https://patchwork.libcamera.org/api/patches/19540/?format=json","web_url":"https://patchwork.libcamera.org/patch/19540/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240226094857.2207313-2-kieran.bingham@ideasonboard.com>","date":"2024-02-26T09:48:56","name":"[1/2] libcamera: formats: Fix planes bounds check","commit_ref":"25a8d8b8a914302f1de02af4b0f5ae70568f00ea","pull_url":null,"state":"accepted","archived":false,"hash":"71a3f941b36a6053df804308e7eb1873250f456a","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/?format=json","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/19540/mbox/","series":[{"id":4181,"url":"https://patchwork.libcamera.org/api/series/4181/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4181","date":"2024-02-26T09:48:55","name":"Two small fixes","version":1,"mbox":"https://patchwork.libcamera.org/series/4181/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/19540/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/19540/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B60C9C3264\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 26 Feb 2024 09:49:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2877562870;\n\tMon, 26 Feb 2024 10:49:03 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2668562866\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 26 Feb 2024 10:49:01 +0100 (CET)","from Monstersaurus.local\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B597ED52;\n\tMon, 26 Feb 2024 10:48:49 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ODslC0Rq\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1708940929;\n\tbh=LSuKu9Oe6ysCXWBP5fJj8F/wM0Z5lIqSbqC3xd7U3Q0=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=ODslC0RqwS6N1we5gjfyL9s/c26NKAjvKwFphTTxd798YYSrg4Os9R2QwDAovYUl4\n\tbYbauONw5YnS5aPgVKRrnCXpi29Zs1D2E104EggmWBnw2jdvuwa9zXpRt9z6ZpJj2G\n\t4czw8AhmF2y9z/6uO79z8RvqyahpO7C94H/JbM64=","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"libcamera devel <libcamera-devel@lists.libcamera.org>","Subject":"[PATCH 1/2] libcamera: formats: Fix planes bounds check","Date":"Mon, 26 Feb 2024 09:48:56 +0000","Message-Id":"<20240226094857.2207313-2-kieran.bingham@ideasonboard.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20240226094857.2207313-1-kieran.bingham@ideasonboard.com>","References":"<20240226094857.2207313-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"Johan Mattsson <39247600+mjunix@users.noreply.github.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The plane validation in the stride helper incorrectly accepts the number\nof planes as a plane index. Fix the off by one issue.\n\nReported-by: Johan Mattsson <39247600+mjunix@users.noreply.github.com>\nFixes: e83727a194b5 (\"libcamera: PixelFormatInfo: Add functions stride and frameSize\")\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/libcamera/formats.cpp | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\nindex 447e623803c7..c11fbd730c8e 100644\n--- a/src/libcamera/formats.cpp\n+++ b/src/libcamera/formats.cpp\n@@ -987,7 +987,7 @@ unsigned int PixelFormatInfo::stride(unsigned int width, unsigned int plane,\n \t\treturn 0;\n \t}\n \n-\tif (plane > planes.size() || !planes[plane].bytesPerGroup) {\n+\tif (plane >= planes.size() || !planes[plane].bytesPerGroup) {\n \t\tLOG(Formats, Warning) << \"Invalid plane index, stride is zero\";\n \t\treturn 0;\n \t}\n","prefixes":["1/2"]}