Show a patch.

GET /api/1.1/patches/22373/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 22373,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/22373/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/22373/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/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": "<20241217095137.132370-1-antoine.bouyer@nxp.com>",
    "date": "2024-12-17T09:51:37",
    "name": "apps: cam: kms_sink: Verify colorSpace is defined before dereferencing to avoid undefined behavior",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "268de37bf7f4cfb6d42376d7341fd505a626a875",
    "submitter": {
        "id": 218,
        "url": "https://patchwork.libcamera.org/api/1.1/people/218/?format=api",
        "name": "Antoine Bouyer",
        "email": "antoine.bouyer@nxp.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/22373/mbox/",
    "series": [
        {
            "id": 4900,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4900/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4900",
            "date": "2024-12-17T09:51:37",
            "name": "apps: cam: kms_sink: Verify colorSpace is defined before dereferencing to avoid undefined behavior",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4900/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/22373/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/22373/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 6F843C32F6\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Dec 2024 09:50:42 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4986367FC1;\n\tTue, 17 Dec 2024 10:50:41 +0100 (CET)",
            "from EUR05-AM6-obe.outbound.protection.outlook.com\n\t(mail-am6eur05on2062a.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f403:2612::62a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6382A61899\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Dec 2024 10:50:39 +0100 (CET)",
            "from GVXPR04MB9831.eurprd04.prod.outlook.com (2603:10a6:150:11c::8)\n\tby VI2PR04MB10287.eurprd04.prod.outlook.com (2603:10a6:800:220::15)\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 09:50:37 +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 09:50:36 +0000"
        ],
        "Authentication-Results": [
            "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"eoBvHFjN\";\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=XNwJTfCY2eaKRY7RShuJSMKtFHH9wCefRqrMyCj318HOEHmLEmPIlinz29+keRD2gwI8gK+6kbh7qg3DDulCzmjzn8JkhhsaJHVMPQ3XegEkCt1jw9v5c1BjTDQ+ExUYmQsxQBOqc9xwntea81Ydrbl10w9OP9tWcCzH3rVBG44oDKSO2GQzQPugppQ89AphT0BfqFBvKHteQssQhafoprWEuI7sCOpEgliHtkVqm1AVoOY4UH+3Gt4f8EaW0FNyCDUhdho2KKXNt7RYB9XfDcCvSXPrbgl1QcT3nz/B40akmzJNpnuD1lu4EUBQVfpb2LXcWP7SJYN3HkRhlMyEWA==",
        "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=9IdFbLivdQyCtrc/qY9rhRjQMX1BjqLux0tJbjc7BnQ=;\n\tb=uPrqgJx65Bz5+AieNuFf1KKITi0ZLyy6nd3E8uFftrpatXbeU2bkarYmby7eNl0l3FDU9LliqzjScKnuIGgyKktre2sXw+vDHDzXrLJfLabpksMYR5CLTslvJIpvo8CUDk/g7GYyqPOLFwxrgj4/7l08UWM23GGCP1m89N5Tb949dl8/mQVNSpeUFTTFRgI8FkRG2i4qHznVCpCjoa73UzhJdp2WSLjceu+jHkxxiEHsfbQBIjOJuQYSWPl7kfPPA4SRc+loLsy/1yNnKJLnTdlldWoB2x0VDTH/Uw9jW8QxXvbbjDqQnWs8CUK0NRxpD6gSifBzjY7ghAY6KBCl0g==",
        "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=9IdFbLivdQyCtrc/qY9rhRjQMX1BjqLux0tJbjc7BnQ=;\n\tb=eoBvHFjNWKxj4maCNxs06YvohYfqG0yPp4LzXBvvjXzp07k39whe8TcvnDjWe6VUCp9N1oi9Yb0IgaqCLJbah+EMZ0/hjU0ZBGcd11cgUtH7BBYFyn5hVPIu3BpCK8NWTI6iPo+RgpsyHYsqvBYHzcgrtiADkMUDrSfZkSDWMIFXJRrd9WZj2MlW8kKJ7ZdMpT4ttjUclAxN61cHZv4ae1kAKi3GJPU5eoZKuYZrm34OeAF/uoR8dm98Ufe5I5IFRYxXqCWccXsXWDXmr9hKRnjfGUjCkiUTN/RnT/xtKC3BEVIv+7AAUignOLuXKSdF1gMbSv4pcI9FjLtuIabF8Q==",
        "From": "Antoine Bouyer <antoine.bouyer@nxp.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "julien.vuillaumier@nxp.com,\n\tantoine.bouyer@nxp.com",
        "Subject": "[PATCH] apps: cam: kms_sink: Verify colorSpace is defined before\n\tdereferencing to avoid undefined behavior",
        "Date": "Tue, 17 Dec 2024 10:51:37 +0100",
        "Message-Id": "<20241217095137.132370-1-antoine.bouyer@nxp.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "BYAPR08CA0030.namprd08.prod.outlook.com\n\t(2603:10b6:a03:100::43) 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_|VI2PR04MB10287:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "b62099da-acf4-44b6-f865-08dd1e8041b7",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n\tARA:13230040|52116014|366016|376014|1800799024|38350700014; ",
        "X-Microsoft-Antispam-Message-Info": "falCON4rDUpDtUSdZrsY+9CiHYY9/MT6qvnnYh1LFtq7/09dSG2r+MAaUf7uv3Hj93fIsF0W5hvcO91i+Edy2Vdz/pN4boVwILK7vdGdcnUuODBNyd0gHqIUBDttdVKzhMkMlaAmgxsHIOl6mav9P2xNSxzFLZnIS2RFg/iTWV3D80UTAiZtBAo9EmyI4Pt7C5D7lPxNMfp2jfVxjNjXwbta7O7kVeHGZBVBT1jw08j3iQL7y55/1PDhevlel9mEDKNrHQVZKlzX+gq1Cq4OXa9AJ8Q1ZaYGvYJQylFHUMWIcdp24zQ363V4aK+9Bwz4lSx7C9V1U4CI5I1Zw+b1rzxDLcTFlUuihVp3bojzcduAis30JF8KxlotJAZLDFkAMpCA76XdBS6wPRZFu1tsGp4NeGFNv6C/7WsqCKlLZtnvcAivvjm7yzhQvExwLVaRadC+gUqpPoZTgD5IIa8eBXnBWIe0LcH9SSZLqYsEfJinT6B+cfkCDv/42IfNUXXPT4MyISKod0k8tF8aNEetSAltFzzgIpI4G4LU2lUZamPl26XRlj6j8njVj8fM0HC8nXSuZHZs4fjW9tg92LLc/HUFS8sQCv1gHp91JGdGvviu3Q3j3OB0VYgq9KG10PFcyF6LP3r2+tSHuwZ0JxRiqRHvr/pWFk8QSYPAXBwW4blNpHWZSyOHuUxKFu0ho1TzzFYwg4P9yN5Pmm6kt8iN+OGMVSzI/5PaJCknKRh8KByFSo1vlCawivpCGySDm29+nq3tcPjWbTAKO5ClfdhvzgAZ/9NbllW0ssq6VdqOZ0gpi9BIBHaEA5vp/+GQkv1OqD7+E6VG+j7/SXH7/1FCon/quaHD2zYbS6cjP/2NGVpDaeGjZSypa7vzPMRNhXFE3q6ievqEk1x/Hjl6yJMcoCVLgZr48fIXiup3zJWHwhQW0wsDUXsHb/HEsv3xaOmxSl+uuYG9OrcW/Gb695gbJIBtdFGchmuoypof3ifXhYsSIxGDHg6VojdzP+rt+LAYDFyTv0HUmBkYpDwRB12TSPwad5L63ErZuMmUNS1SlyypdnT/4wmFv5xD5PlEVguqRR8FKMQauUhjgaT4oQL9BqORvnR69pOgmDcvUyXZh66zP83Wuk33G2EFpPsxOtAiKIdV4ak+3mduNLUwrsBObKM+JuxNvPBkoDrtrybE0v38jUKL95UCamSIxOsxqQJ+Kd0+o0twMxwK9JAEOKi5jcvf7YI14svkEbGoBBObXHCGJ7NIr8FOpSiu0vSRwNmjzpVHE5jndKJviwnNYZsjWcVcX9owwXvGgHcs6w3MRIxoo6OKAGjpfIm3D/B65Sa/isir2ZBH7GAyUuG4rNAOpYicY3GbIp6irJgOPCa96uVnHFOr9PItreFGVwoa5XmqZmLB8CWcpVN4L2NTdmQPNw==",
        "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)(52116014)(366016)(376014)(1800799024)(38350700014);\n\tDIR:OUT; SFP:1101; ",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "1aNPdIsBEqfDrDQzVSnzKN07ntFinPDWbKZT6NhFeUJHNp58vZDY39quVtxUMcZfzts3ea/AzioOuCVbcAT/kpbe6Te01pLdfBhNerFCers2cIqyTe0agwj1AfqxVRw2Mf2Iympl79slb+A3kb3IFXgXf8am6T6Tx9cp9m85XU69mC1lytixiSZ8eMQj9uaxws/WWK7+0Xs6tIEb6WSLZgFO/fh+nXOss9owVAL0hNIgojDFOzeiCxzBJ1ZZaxhyFgYscnZM5X2D9OMmyj39z8BcvPRoYyl7dobkuzUiaKPA5y+oZUrUJl++uhadCQR3z5MKvVEXsgO4XpX5wi72iv3cro9ELyoDzOudimRZ8Z9GY7G9KewEGYvT9wOFnWq9e+JpKnyllWXecq/j40J8ws3Tlq45ykm61L49gphgRx5gFORcvZ7q1qJgfyFZcucVyHSn0IPX6zED6P8Gnw2HD8VXR1l3pX3CcJhj6nRRZ+EwzHgl1bJ6NL1OsDnuzF2TLiRkgeZgay6DTnE6+LWYYvpbeaxUCx/xQx8fE1gdwH9XzPPJ9pJpZG4Um4+EPiZTLp8el5nlpJtd9R8nhKEqGq+X9F28QQGEUQKFpqCYxGQXim+WI3k/aGCsBkLHzF56znfnK07BCHvnV8JI3HdZUY+zN2U2lAYueXBbkdvDL9rNm8Cvto8g9efUrzLW4A7Dx356QUCubmK7vl1kyMEAilhjQcy9/zl3Hc1yRyTD5Jx5m/PGDVTpZpOdayktClxybyAo38sQhZ97tT6/a0gDkkGtPsGjZTtnKElHcXq0gi5ZNHZ9Q/gDZCBxxTbPi89404pe5Fp10iAwvm9tBTHtcYdDXr1h+H5rEwhlksnyVe7sJunkM3vYIbTteuaMcWiNGH7vJ1fK/ldp+NI7uJpXbFI7R0v9ELOfQegZ0nzVtmDyqlVe7WIp+BmtYeNzzmXTqC6aYS+Mo59aG7F4Ve6mL6pnWGf20Zja/MuEs5RFfm0UwauQeEAS3hn2pVOtSSygobArL1rJ6ewcFoWhTNk0hpdJZvtcq5Ne4N3FdTx1Pq93AU96EBuJqD9icBwHJUBCAd4kTk4s75i3VK10ovBBGbRwmAEXPSyw+QwebLBD0ULdfZ75In0MvalGw9lLTresM6gvnxgKGqgZcDRB1o6CF2EhEB5L/qHMr3nWLKGZ7h34Uq81Jutoqpqx3tDhnbOgWBILiwkNdsAs9lf7Jwlg0IiV1cUHzoJe/AYuNX8RcreMJT5gmlDF2uSKmk5j05kmcI/FDZJLurd2pnfzECbgCcJU9KgGwndeJfNpsL3rcqboPWkTXGph9xgNcqNSK5CuDy4zDve+kt8Ez1bS9qAVmf4pbfIp8fdcIMEa2H2nGyxNXLQoslEdhKJy7nIzqsj+YNP+Uow+wP7cKJxovshgapQlhzdVwD/9LLywLZY+uq1UHMgmbqf17CdYOqsgMzofz2KhsXucwHrv7RyvS7Al7RHycbILRbiF0muJBN2LncqtSNawerYjvzvwjybktpZkIHmXC3YQOYEUpn09PbS8Ya5ybyhvJgCl1ZfDWfza8b726z554tLnAgJFHgXdnr5MkBiIRPv6UcGDu8nr/lbG9A==",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "b62099da-acf4-44b6-f865-08dd1e8041b7",
        "X-MS-Exchange-CrossTenant-AuthSource": "GVXPR04MB9831.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Dec 2024 09:50:36.7319\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": "Hlsmj/zWB8Y/DiEy/t4GlU3s/GGtIvbquMksPqz/Mejd6QKQka/UD52lo5ymybj4ale8DFknWiEgdpopMiZPGQ==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI2PR04MB10287",
        "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": "This patch fixes below crash, with styhead's gcc compiler (version 14.2.0),\nwhich occurs when optional colorSpace parameter is not filled.\n\n/opt/fsl-imx-internal-xwayland/6.12-styhead/sysroots/armv8a-poky-linux/usr/include/c++/14.2.0/optional:48\n2: constexpr const _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() const [with _Tp = libcamera::ColorSp\nace; _Dp = std::_Optional_base<libcamera::ColorSpace, true, true>]: Assertion 'this->_M_is_engaged()' fai\nled.\nAborted (core dumped)\n\nAs detailed 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\nUse has_value() as a fix to make sure this property exists and prevent crash.\n\nSigned-off-by: Antoine Bouyer <antoine.bouyer@nxp.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": []
}