From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7715FC433EF for ; Mon, 27 Sep 2021 11:28:34 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ECB5260EFD for ; Mon, 27 Sep 2021 11:28:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org ECB5260EFD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E285883685; Mon, 27 Sep 2021 13:27:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="Hdu/ysKT"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0BAA6835FC; Mon, 27 Sep 2021 13:23:20 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on0622.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 23BCD835FD for ; Mon, 27 Sep 2021 13:22:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=vladimir.oltean@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=km5KFqtlusg6NRYmfb8Ax0Y7mPHg1iq1+LTvwz2zz66grjVZpLgG7h50pxzwxYh6XqRKwdYbADjiMByAjRGjNMNquUn4rJl4Z+b6ML8uNc90u7ph++UiSBXQTw3EbCzELClfRtX1Lfrfb+DpjqQyV8lf1piIbtj/NBeUho5g234ZBU89buOy92PS+0xXsKhW0M9G+uKsiBlgxJlYG80PGbyuGRVfLt5SQikyAC9yIt8EudQMPOjSeHIUvTRwcbjXsDD+PL9T8BJJG7t2xwd8KQGUT6ZOnfp/Ggkcn4IPTuesqwy2Y9QYAN2Jg8YjbFBMOKUomGDt6UbolFpo7N1I8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=VjFn+pghxwKj4FHZbrXSazxTur0v+S/8SHqaUHr0rKg=; b=PunfJT5HgPDpC3eqqLzFc51KeM+eGpByhiVhsu4fVDiQwVvmPtdR6FZLrfHYHCIxbCDDliOlrFijndqrPyoTyVVmf5eaMiNyxJITYj9fdTrjzOuOLE3AY9yIzo8ahe6raJxi1T2pyF2FwgzBwTvu7tazZ/uE5Sb2iV1fKlTIzWt/wFcWgG3iRZoSq+ybBbhlp+NBHruq6zQ5WYKGYssCsUcpsNlYIK296l9CbK8tiycurKN3rtNHiP/+p/54auh0mbali7ujZxnuGFtBMpIlD4yOjyV5JnU+OWoi4j3+darsERPau4hxD1MUy5kna6uYSeL0VkRk8r+smhU+ZD4c+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VjFn+pghxwKj4FHZbrXSazxTur0v+S/8SHqaUHr0rKg=; b=Hdu/ysKT9xXbHHLuLG+QlfHYhXtK2R8hVfmf3xcwH8eyRfTVDpCBGH/a3ldkCgrdgtetkwffIiImbqYNaxSPs3GVpQNoGt+19H0wl8v02bmh1uAHAgXe9Q3kP3/zbDAeF02rMw3ikFHzHXb3gTlhSo/S/F0OdDyBi67+FlnqmSw= Authentication-Results: lists.denx.de; dkim=none (message not signed) header.d=none;lists.denx.de; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) by VI1PR0402MB3839.eurprd04.prod.outlook.com (2603:10a6:803:21::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.20; Mon, 27 Sep 2021 11:22:34 +0000 Received: from VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4]) by VI1PR04MB5136.eurprd04.prod.outlook.com ([fe80::e157:3280:7bc3:18c4%5]) with mapi id 15.20.4544.021; Mon, 27 Sep 2021 11:22:34 +0000 From: Vladimir Oltean To: u-boot@lists.denx.de Cc: Joe Hershberger , Ramon Fried Subject: [PATCH 23/25] net: dsa: ensure port names are NULL-terminated after DSA_PORT_NAME_LENGTH truncation Date: Mon, 27 Sep 2021 14:22:03 +0300 Message-Id: <20210927112205.301876-24-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210927112205.301876-1-vladimir.oltean@nxp.com> References: <20210927112205.301876-1-vladimir.oltean@nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: AM3PR05CA0128.eurprd05.prod.outlook.com (2603:10a6:207:2::30) To VI1PR04MB5136.eurprd04.prod.outlook.com (2603:10a6:803:55::19) MIME-Version: 1.0 Received: from localhost.localdomain (188.26.53.217) by AM3PR05CA0128.eurprd05.prod.outlook.com (2603:10a6:207:2::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Mon, 27 Sep 2021 11:22:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 03917916-7e93-48d9-43b7-08d981a91a42 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3839: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4fsQcCe3x5ENhZdAzjGGK301eTS6Ly0O9bZw54zyY60QidXKTVIWEZusEQPqE9kkjzbEfMebG1bHd64NAMChnBuyu5d7xq5e1u9pNxHVb6Bw5hQpq769pIfneN4uRhTKI5nch9uSTQtFGLj2dcPcqE5s6Ti78mX05UohsvAuemSAYTVOIdevZ/RTQYrga8kRf07efU/7UjinZXjsvxiffvuC7uVGfZSfeHkF6/eXnekMipfaFX5vO3lQ6LOpvN2j8PKotT94xMPN0/Uf4K/lNXDJfljLue6bxT8VIa7IY+FlBBtMPoIFX5ONvOjSxs8e4EtLfgqvifQvzEOjU/sFLwn3Hl1b9JoCIXkUTkv2raUfLCQII5IFM9yQLTyGwpt6j9xi0pK1Bj2SSOt5iGWwCGp6Uf5z2B+HungH0qE5fGIdL2mD2ODYJ9tWevhOQNVj/7XjU4pOyu4aJ8xDsJ9sfN+m8S0Xd6QmUVJPTcyG0BrVG33dzMeGTWIQS5HcLPhGYjjjo+MkvVsrsz01bPBEYoq3rQeizoGJTGaFBm1YHkXOXYLWZAZMQeKt4rnAmxb4bcEOppv8YnxedQCKzD2o1jz3+W2tFDyYeao1GpJ8Gy+dvWiGnTc5l7IuNRSAJ2zvvTHE2bQ2//ytYNiAYTX7NE0e8LVvr7S+LM7Ss8ZKECqvv6TmUrDkf/Ykuw35rjIlyIu5lluaGnnLSGsOArx7uQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5136.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(6512007)(6916009)(956004)(6506007)(8676002)(38350700002)(86362001)(1076003)(38100700002)(508600001)(2906002)(54906003)(66476007)(6486002)(52116002)(36756003)(186003)(66556008)(66946007)(2616005)(5660300002)(83380400001)(26005)(6666004)(8936002)(44832011)(316002)(4326008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?drhHpi2tMUq22Q4W/Ev9B4IWYeSYIsogllJE1uAEFXjXNaux6cgZKnfN0yq3?= =?us-ascii?Q?optyuCFN+zAeU6OQMjDFew+U5NPLAqWaqBHwneex/n4vLJv1GlZHzpyeBT+r?= =?us-ascii?Q?2hmYiUn3yBdNqqHMkC53cb0HQyw2b+E1BESeiKHutVJhCjm2PUwIP0S5uIn4?= =?us-ascii?Q?XPJZ2hPmrmch6J7vVTHZTqxGV7oHxqEtPuoLKlTuOMc9M7I9noGbngWsZRNC?= =?us-ascii?Q?CK1GDq95dv9x42iMJHehCdgv0qa8A8Qpa386iTFnJibs6jpuZg9tGzm1Ys2k?= =?us-ascii?Q?8ZjG7uSQy/PoWrb5NhZotwCBM7T0ZUVhPRVCNSOXGhNujeThprP+Hl66hZr/?= =?us-ascii?Q?CTnojW6m4L8g4si9vT/fG4s6+/bCuixKm2OmepRHVt0OfjB3O6f0QG1CaX6k?= =?us-ascii?Q?ASv6piPVkS0BSKvhKJfNDdK67ZA1MsQNIXt5gafNGpsGjn1PSrjFNYg6bVe9?= =?us-ascii?Q?HUTTtAdBxvrij3C5X21bGwXQXH7gmOIvInunGsO29lnD1C0M2CdJiKIat/Xr?= =?us-ascii?Q?PbIudIISnlQsdZlgQS8dR/ZkjPXbH8vqZIc8wWgejqh2uuLeCPFbzB/50L7a?= =?us-ascii?Q?ZNY0k7fm6kKSgp5j5MIGis0EvFFJANVxP87p4j1dpqCEtg/+OCdMwXwW38l/?= =?us-ascii?Q?dSyl/s2gyKr3Zrfg4ScyhvKvbBWoIlXPEoxPa8UNwtgYpahT5TyVIGJbr5DU?= =?us-ascii?Q?B3kRlos/Dgo8hNkSQZ+j9AUtdBi30By5icGhhPXcmGI78zLft+jpqjvHPNTg?= =?us-ascii?Q?TNOhYISqNwEuVgoiO3ae6N9qNmqvGBmLR28dzHsYbGRqFRFthAk0V0fNpOT+?= =?us-ascii?Q?l3hnHOx7S9ltt7xxBID/VGI3FRf5+ueuGYnBj77/39/+Qu4An2HYL4TCSOqb?= =?us-ascii?Q?ENrUDeNilVKOJ+UVBYH7p11OOcb12zQXTKLjjPRFLp6emJmgxc+nYLTqOWPc?= =?us-ascii?Q?UfMHX8DnBTPjRcZYeo1GWUtfNfP7Kj3pfByBVf8/hDd8viLfmcN9JDV2mT1T?= =?us-ascii?Q?ZK6sSQsoQpfGqyudWhlUKTIbnD90ICvgsq8eb42SLhj6DklQ7EL0P/GiDtwi?= =?us-ascii?Q?oAXxDJlbBV1VIl5OcwkNqpvAsITDiHHZLZq2vZgO5Mc+H/QvIK/brvwaCiX3?= =?us-ascii?Q?mb4r3IXiC/ma+4kROPVDXfSFeRgBgyqHPo9VkS/3k+2M9j4iGJ9LvBFuBsdo?= =?us-ascii?Q?H3F30Crm8Ysl/xs9PwwZhpA32epo/gEERiwfNONtX//Mz61nl/x2+gX9fFUA?= =?us-ascii?Q?qvJS1frxE3msD/vES/KE/gh7TmoNTDhER1Uyfo6b60oAFPJG/RCC8zw1T44s?= =?us-ascii?Q?B871TrbQcBtrNklaV7DBbZRH?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03917916-7e93-48d9-43b7-08d981a91a42 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5136.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2021 11:22:34.1501 (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: QTKu+BHmOWwMZaEnqMDISc+kA+LlNMG1eGXy9ZhcydYTg0CiEuTb5OtO60dECjYcLIxF/qEw3pKhq7CtMY21dA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3839 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean strncpy() simply bails out when copying a source string whose size exceeds the destination string size, potentially leaving the destination string unterminated. One possible way to address is to pass DSA_PORT_NAME_LENGTH - 1 and a previously zero-initialized destination string, but this is more difficult to maintain. The chosen alternative is to use strlcpy(), which properly limits the copy len in the (srclen >= size) case to "size - 1", and which is also more efficient than the strncpy() byte-by-byte implementation by using memcpy. The destination string returned by strlcpy() is always NULL terminated. Signed-off-by: Vladimir Oltean --- net/dsa-uclass.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/dsa-uclass.c b/net/dsa-uclass.c index 9b8ae1e82b92..8db0de686e2a 100644 --- a/net/dsa-uclass.c +++ b/net/dsa-uclass.c @@ -221,7 +221,7 @@ static int dsa_port_of_to_pdata(struct udevice *pdev) label = ofnode_read_string(dev_ofnode(pdev), "label"); if (label) - strncpy(port_pdata->name, label, DSA_PORT_NAME_LENGTH); + strlcpy(port_pdata->name, label, DSA_PORT_NAME_LENGTH); eth_pdata = dev_get_plat(pdev); eth_pdata->priv_pdata = port_pdata; @@ -433,7 +433,7 @@ static int dsa_post_bind(struct udevice *dev) struct dsa_port_pdata *port_pdata; port_pdata = dev_get_parent_plat(pdev); - strncpy(port_pdata->name, name, DSA_PORT_NAME_LENGTH); + strlcpy(port_pdata->name, name, DSA_PORT_NAME_LENGTH); pdev->name = port_pdata->name; } -- 2.25.1