Patch Detail
Show a patch.
GET /api/patches/22376/?format=api
{ "id": 22376, "url": "https://patchwork.libcamera.org/api/patches/22376/?format=api", "web_url": "https://patchwork.libcamera.org/patch/22376/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20241217140238.215572-2-antoine.bouyer@nxp.com>", "date": "2024-12-17T14:02:39", "name": "[v2,1/1] apps: cam: kms_sink: Verify colorSpace presence before dereference", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "268de37bf7f4cfb6d42376d7341fd505a626a875", "submitter": { "id": 218, "url": "https://patchwork.libcamera.org/api/people/218/?format=api", "name": "Antoine Bouyer", "email": "antoine.bouyer@nxp.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/22376/mbox/", "series": [ { "id": 4902, "url": "https://patchwork.libcamera.org/api/series/4902/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4902", "date": "2024-12-17T14:02:38", "name": "Verify colorSpace presence during kms_sink configuration", "version": 2, "mbox": "https://patchwork.libcamera.org/series/4902/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/22376/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/22376/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 332FCC32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 14:02:41 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B595067FD4;\n\tTue, 17 Dec 2024 15:02:40 +0100 (CET)", "from EUR02-VI1-obe.outbound.protection.outlook.com\n\t(mail-vi1eur02on2061d.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:2607::61d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BEAE267FCC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 15:02:39 +0100 (CET)", "from GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8)\n\tby AS5PR04MB10000.eurprd04.prod.outlook.com (2603:10a6:20b:682::19)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8251.21;\n\tTue, 17 Dec 2024 14:02:38 +0000", "from GVXPR04MB9831.eurprd04.prod.outlook.com\n\t([fe80::4634:3d9c:c4a:641a]) by\n\tGVXPR04MB9831.eurprd04.prod.outlook.com\n\t([fe80::4634:3d9c:c4a:641a%7]) with mapi id 15.20.8251.015;\n\tTue, 17 Dec 2024 14:02:38 +0000" ], "Authentication-Results": [ "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"GmLh1/V0\";\n\tdkim-atps=neutral", "dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=BmTZRykEvInWkTynRrPnKeLVLca6bmdKEzld9AnfmepCQifLt/F8WONZXjdcei32u4SIMMCFq+V7RerjpD2lRUW8sBtOrg122QCdNSl/fTR1aiUZNPwM0IOmbI4rbkp5xkY1Th0akIqLH3YNKGSdDozN6ADnY+J6ITujK75N6o2vROr9LWfQ1pa6hwDfPP8ZxpU47w3NrPlf8byzAIkqLWA4qOzIUVgRqfz2PmQ8TRKlp3GjY0P53ewHShR29jEDdWHthieKlHwkC8k9DZAzV0MLKZbcKrMhyACCWVCSM+gJZAiJwjXv7bFSs/74ZjfDzWFqxMIlsaiMDnwsqoIx4A==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=ndGrfVW1GzeIgC6zeR5a/3HMr59iR2Lxk3QTbZ7TFdI=;\n\tb=FYUja69HiXIb++ekqpi38HGXgzlyjyrinebUmewDlJx5P2lT6coTfeJPPhz7MQE0+seGklgox8L+LTTnVYqL980cnWuPwjUCCeTgXZvbsgG5K04oT9g842iALZcm5/PVGf7s3HeC6ILkTomUqer3x73OWNsQqKNVykgwGQ4qEWSsWXz5hn/WIXyO6COKlth8KeeqY7HaWOgpMHzV+HdJLQdyOdFhNREu7XHA9ZjMhvcEBSZFKBwqI5qVf7MomBCAO5kJedSZOy4hVmEvYXI+dA+MLhR/1SZWnsYnCEA2hEW+gN4AlvzBEBq+wjp9C6Yv+zbRwClUSGF9rJPBKpLZdA==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=ndGrfVW1GzeIgC6zeR5a/3HMr59iR2Lxk3QTbZ7TFdI=;\n\tb=GmLh1/V0scw1xHeN7IsKJqt+V6vxoUfaipKtn8I7g7UMmLNzhfz+sh0BHn7eXPyBJVFOR8BL23JxhcNaYWqCnFn9MzMDJ5UANbaH6lwarAFRxgbHZuMTSGBxkOMycagX29+n3NsvQVoyE++VBxn8hO9bzdk5FZ8pB7aW5DroPWO1F3aBwN8Z1b8Sp41s/EPR815cDC4mHbx89HfaHqLWq3GRXyVDwUL96Y5mDpyx3dAjhR1ZwAVME7mRgALw+axveNAAY3pyqwiKobSCXHLFW2XZgIjUdPPP+7F58ViDOE3l/ZzRNRfBTH/Jo1oY8def0S0NIO1TpF1kgPH5RbybhQ==", "From": "Antoine Bouyer <antoine.bouyer@nxp.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "julien.vuillaumier@nxp.com, Antoine Bouyer <antoine.bouyer@nxp.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>", "Subject": "[PATCH v2 1/1] apps: cam: kms_sink: Verify colorSpace presence\n\tbefore dereference", "Date": "Tue, 17 Dec 2024 15:02:39 +0100", "Message-Id": "<20241217140238.215572-2-antoine.bouyer@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20241217140238.215572-1-antoine.bouyer@nxp.com>", "References": "<20241217140238.215572-1-antoine.bouyer@nxp.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "SA9PR13CA0153.namprd13.prod.outlook.com\n\t(2603:10b6:806:28::8) To GVXPR04MB9831.eurprd04.prod.outlook.com\n\t(2603:10a6:150:11c::8)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "GVXPR04MB9831:EE_|AS5PR04MB10000:EE_", "X-MS-Office365-Filtering-Correlation-Id": "6cb2d157-db49-4a61-5f45-08dd1ea376e4", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|376014|1800799024|52116014|366016|38350700014; ", "X-Microsoft-Antispam-Message-Info": "zsUfRm61FZAxwY7L+S4Ku61tzY9cbV6Vku4JSHteXbLN9u793BemCpwwijtL6HWTYIDIfL4HpBemnD9IY+saCd9OFYUVcF+ycixBfiEGUlpCav8l+a5zCMP9QH3Hb8XN9Zqqpn53HhIOLcrIzrXt08wUQngZrySz98GPLGP1WDZhRt6ZeBw6wzJ/9EVfieBtPtKCwv/KCld928yT1EDZ7yu3x+uEUMr0jbK+LkDcvKKfwzF0TA3S/YZD5mfoBWiOIaXar9yuo8tkJYgD+whREM0ysrGkXz4uM8cHnGvFj/MHaCflcEZeBkk2dN5/hBuyZgFDQSMlTX9lD/gWk2PjHGZWWxz2brgC2ypb8kKi/FT4+KLQW+dDBZ8socNMLCBh5OdrZUcgJd0Gu4vQr6UgDyd90yTNLP+NFn9DEX+9prilTr2Dmy3vdGESkQ/mIkaNGf+Dum1kDlUVC5zgQ8U5PeIcA/51D0w4no/exkf7ZR3HFusmhU4BOhx+7ffoTncYmikgLWpjK4tSksirWJvPlrFC7/xHx8FjPNhOgf5aDt1A2eC8QtQ4rryUoxrpoRS0o++Y5uiUaQyTfofqvLo53y/4eQG8tOuqBHflmCL3q7UVO9j0dozCeRKtfpkHBjwtg0mwGwGskKONUWdoYVvH6SVnj6FV7f8GLYY03zlqoJIs4muv4LYPbcxJ5EsGQ5ORmcF4Yg/AhRCDxMNpmylYpVKN9g2wSLTrhxFdaaI9RtABDajJ0RDqCh9TIeh4yjQ8mehSfDXV0ox0B7PqDXDuhMazwjdDl3CqSTbX49zdWY4W5x+0slA2irrbjKmSOR9Vg5lTOd3WTfCeMZJc1Wzlxh4W3Ohig19WI4N4LjmgwokM3+peiaz83eNRb7Msd2N21gwZMWoCk/8zwcVPO0IQ0buagDojHL3LGHdGwwKRS803pbrgz8mwRsttkWUdeurlFQ31iGTzM7P7nE3SvjHOqkf8b8OlxxVenenXRCz4QxrMfzphhe/khy437zsG0rPYQEmDxJNgeBrBN5bRi5uyN6HFNBoNhznc8uADFcz8K2LDAJJz3uErlpQ63VRKbirPiEHnisGJgV+krJrGOwitmG54dZ67Zk0cEWNvb9ZTDKfKV0sdWPZUmtB+/L4Cq40VH/RjBnnN0kYI3m10lNS1biyw6kGhDI9jnFdUbTLRadY9FESdxCFm3owhiPm4gxpgwKdx7YEUNOZJ0+svf4koayckNQnFC8qy3w9j1hWalYbfvqqsnNzdtYDcRqgrxN37vTIFzb/C/0/HP4hTwgX/S0wlctaqYOn7b/IYo0eoFqqh/u9arfEwUa3FaxPd3navjFi+Rj+GNufG6LczAxecoh0HJotDDc7jWwPyN5XQzH+hB4xLGs3YTZncCC8QQ1T5UNwLX7BUIokR72qMBjHlng==", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:GVXPR04MB9831.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230040)(376014)(1800799024)(52116014)(366016)(38350700014);\n\tDIR:OUT; SFP:1101; ", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "+Ajnzmd6TmzrkBRA0IMviLJR8yqJhHgPl5x1WBjfpYO49wQldlSXHd73sx9w+F4yHR66zNXFFJhpwgN+RNZmrFDOe3+VHTd4zQUkR+3eAb2bqimKqV9EcS9e5bMPGHbWu5LAou8JUJ3PW7aTVyytaTx/GA01QJwwha/Mbd28cyWqhygq3gLeym3dAapICe078aF31kkhZPt82+UbKkPgq/UwWPMc6l/CuQINuSfNMApKjscUlOSTB+i/Cs3YS9RM0lfwnGUaV+NlKS8e3zzgGt6m4CnFqtridyxRMaUOw8uHz9AtL7+NTB/dRyi/VshlBgVG++raFnQv42YHNu82Lxd/WYKP0ldrZZ1G6boa44h2j8xKbhvHkUUy29J+P/PCctMEpVDRmlTWWlv54bAJG2CvMGHyryfM9vuY11ddGVWKMoFaMkEmaYzPQDFGhrDSkVfc9Qk3zWs9QuBZFHPWZ6lAmfnjl9QKjaF18hWjlUY6voatihoC04npLmoALYjRiLNGnh0UY9/XULAgWSQNxBkrV/dw4Y4acKN5iBYqIdcBGYPXE+hS8Knh4J1KdzHtjuaPafmpQPjb343tlItR0SfzZx0iXBbvXDdOvHVWkgBQgyk0XjfJktF4w8K39ph2eTly5hDbiCWClOPGyqxdQThLcQWetpPvLPZsKM37+gg3hmhjkswq78Qq6SeFI2ILpRTqZfR9Fc1JW+gJmDPI9kAAZC4RmFiExQoRnzJAz/EpvoUPlpopjXYdh27HgCZUCaU6csH3AxT6ZQVH2yFcOJgivlnLgi9cWaQCa8gkghAWNNqu5O/OF1f0utLYKoT9r3zB5QDWeq3aWXwKfw16hpMHMVItlmbKW9ijeebyvAgez8Fl3xoIRVPJYCZigu1TWfBoxdD+hkFVMs5pkmLrdeEM2frJz8zb77rxbboj069gGEK4d3a6cfh26G7waP1xTZdoZ/bcXY59D1LiZE/qeCuMUWTyh0XkpjaOPDJEoLBXnQZwAcOH9raQ0N2vm2dJHD8WdyOTjt7K1frvscdVfxxxt1VbZA4A6X+K9zeaKgnNYWyAy6ed8svipS38euKNtFq4zDPPgdrLfnaAPnMnmGT1UtYNKbr61LZD2IV+Qr7cn3+9KkAdg7YpPxWayENnBhcpotTE3MVcJNFwL3rXBRwuFUFPpDhUcz37dJ/y3VqBLKpU3BLvWauL77PSaLWclxMiH4h/XXk+QHzXzYGeNvGgcjhs1jbWjZRMCdUK4DI81aChUzBHyuyRlCSOz/aDN4XLDkf0yQy5jCSUKJpm5WkFK9hhHssyB+iRerYqhspnuDMMXggEJZmBz0dXEgnI/w0EEqjTSlmz9aatmxF2Lj942CphPsOLq0+IlgMOnuPVJDO/oAT2mfv4V9nwKYByol5rqg9vArciPQRZyiGUuV8ypYRV27F+1npRwFGKlmDFnIFVBIrhHj3mbvzcjo/TfxT00W45Zn7JomuTyCydxUkN4PvOKoBux6kHw9D1dUAX0D0lylJ4scyuS3k0pBFAI4FhNx+exusfjmFBoxvsyHjxhuSHjcM0fakR7RfUeodO/fozhbenBLRzKiCoGsi8IoVN5YGimdPaDwDK2iD4zA==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "6cb2d157-db49-4a61-5f45-08dd1ea376e4", "X-MS-Exchange-CrossTenant-AuthSource": "GVXPR04MB9831.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Dec 2024 14:02:38.2653\n\t(UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "zo0bJNNcLZktlVRWkWEzL1kO7kUKle944KX9ty/hny/rKTIDXOVsGnI17zP3n0PRpxJ8YmhX1FOO86Zf0xdFnw==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AS5PR04MB10000", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "During configuration stage, kms_sink doesn't check optional colorSpace\nparameter is valid while dereferencing it. Then it leads to a crash\nwith below signature if parameter is not defined:\n\n /opt/fsl-imx-internal-xwayland/6.12-styhead/sysroots/armv8a-poky-linux/usr/include/c++/14.2.0/optional:48\n 2: constexpr const _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() const [with _Tp = libcamera::ColorSp\n ace; _Dp = std::_Optional_base<libcamera::ColorSpace, true, true>]: Assertion 'this->_M_is_engaged()' fai\n led.\n Aborted (core dumped)\n\nThis behavior is confirmed in the \"operator->\" page:\n (https://en.cppreference.com/w/cpp/utility/optional/operator*)\n\n\"This operator does not check whether the optional contains a value!\"\n\nThis crash is observed with styhead's gcc compiler (version 14.2.0),\nwhile it was not with previous scarthgap's gcc compiler (version 13.2.0).\n\nUse has_value() as a fix to make sure this property exists and prevent\ncrash.\n\nFixes: 6d7ddace5278 (\"cam: Add KMS sink class\")\nSigned-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/apps/cam/kms_sink.cpp | 3 ++-\n 1 file changed, 2 insertions(+), 1 deletion(-)", "diff": "diff --git a/src/apps/cam/kms_sink.cpp b/src/apps/cam/kms_sink.cpp\nindex 672c985..8f3b867 100644\n--- a/src/apps/cam/kms_sink.cpp\n+++ b/src/apps/cam/kms_sink.cpp\n@@ -153,7 +153,8 @@ int KMSSink::configure(const libcamera::CameraConfiguration &config)\n \tcolorEncoding_ = std::nullopt;\n \tcolorRange_ = std::nullopt;\n \n-\tif (cfg.colorSpace->ycbcrEncoding == libcamera::ColorSpace::YcbcrEncoding::None)\n+\tif (!cfg.colorSpace.has_value() ||\n+\t cfg.colorSpace->ycbcrEncoding == libcamera::ColorSpace::YcbcrEncoding::None)\n \t\treturn 0;\n \n \t/*\n", "prefixes": [ "v2", "1/1" ] }