Message ID | 00739ce5fd071481f810784bbcc5f5d2fdf4e51e.camel@espressif.com |
---|---|
State | New |
Headers |
Return-Path: <newlib-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 54A473858CD9 for <patchwork@sourceware.org>; Wed, 12 Feb 2025 03:15:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 54A473858CD9 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=espressifsystems.onmicrosoft.com header.i=@espressifsystems.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-espressifsystems-onmicrosoft-com header.b=3soMb9xs X-Original-To: newlib@sourceware.org Delivered-To: newlib@sourceware.org Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on20707.outbound.protection.outlook.com [IPv6:2a01:111:f403:2011::707]) by sourceware.org (Postfix) with ESMTPS id B9EB43858D39 for <newlib@sourceware.org>; Wed, 12 Feb 2025 03:14:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B9EB43858D39 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=espressif.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=espressif.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B9EB43858D39 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2011::707 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1739330097; cv=pass; b=SaclJUkPzwvJ/NDoSPLpITEG5W6QW6eS7nXTkRr1A1Ts3B/D2eFTgsiW8KYMluf4fJq8Ahgi+sunkJSUd7TaaZVrsa15ZLPbnfvYIGlV+/6HRZ5/R0XuIWYU5I895vK+DEsoJ0QvU1eQtyTeWTAYOmDPqBiTHYYkRRNa+N32th4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1739330097; c=relaxed/simple; bh=RvvaT8rbgTQz9NzegQpeinA/4NNBXlQ0Cz87rBe6cGM=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=e/aZoQiPNq6RVth7emy7JRryMk8qb65sCS6Nzi4QHoG/QXTZzee7peNhyN6U0c1k/bORyh5O4bNsOoa603KNQj4pOBEY24zp4D7chaWrr175JIFD6XHEm4rwzavFhBReph2ZMTZfYqecg9zkTjwyZj/kLV+Widz9DFWpAUOypLA= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B9EB43858D39 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A0whUVBVF7380iAzzP1qrx31G2DX+MHRqitwMeIK9T4CWScr0FL4HUMdXdVs35W37L03wbarCCQvltmrGrp9KDWcJBZym+G56TXbqGuuw8LohWzq+BJY4DAZyVUL+OlscawneO29qBtMA3lM7RgHuCeobqN4Nt1vLfwEkW1QQyaXwVKBBaJst5rua61YzVNTW9Jvt1cz6Z89q22l9NlFvaW449jDSvl4pvFOwoi/jqPWrj34TcIP1mUQkAEbDLYXtV3vUBVgu3ukVSNzkVzrhjqsulZ+XKPFSf0wmOICottIazB/a0uCY0ytQ9ff1tG4eWEXLGrjWUDf6BLBy2s7BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=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; bh=RvvaT8rbgTQz9NzegQpeinA/4NNBXlQ0Cz87rBe6cGM=; b=dSSasoCHI514XxF7bv6sd30KyJ8Mh7+aykiecCJMLJg2yS16OyEuZdGKjgiqqFMuW/MDD1e+O9bap1cz99MJimlQDGHg2C0Fc7UMaNy98bZl++MIJvJTqKMIE3/WOj8z+orDEAp5AqjkNJfTXbhF/RxpkACLc+hD6uP/KpwFv/3VvG6fwnk6vSXw199Vx5XuQglxHNmqoDewJ8Ow11mhFDoO2Gz3Q+C+HG8zf4rHYQNftqriPOUbtPc3ANnXYJizktsEWrap0FOIvrMqh/pJ80VctwBob1bEJfnclFR6OQlSzggygWdpoMgfM4dKwBgMmuy56przx1BijWd/4aHF1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=espressif.com; dmarc=pass action=none header.from=espressif.com; dkim=pass header.d=espressif.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=espressifsystems.onmicrosoft.com; s=selector1-espressifsystems-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RvvaT8rbgTQz9NzegQpeinA/4NNBXlQ0Cz87rBe6cGM=; b=3soMb9xspe1Of0Ii722BmvSMv1Uv0h1suFOwMsV1Do7JEl9cAIjudLhYnBJwAa6CzFy14VvaZ4rtqj3UnXmBfaKXOKoBO1Ab5C7s1xRWoVvnS9dWwB+l7Rhi5nzjotr2NF3VgTsiLUycwQYwq2axcQQNpZZi2lgDIbTCPCdJ3yk= Received: from TYZPR04MB5736.apcprd04.prod.outlook.com (2603:1096:400:1fa::7) by JH0PR04MB7296.apcprd04.prod.outlook.com (2603:1096:990:2e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.18; Wed, 12 Feb 2025 03:14:48 +0000 Received: from TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::6d6:9923:c880:a521]) by TYZPR04MB5736.apcprd04.prod.outlook.com ([fe80::6d6:9923:c880:a521%6]) with mapi id 15.20.8422.015; Wed, 12 Feb 2025 03:14:47 +0000 From: Alexey Lapshin <alexey.lapshin@espressif.com> To: "jjohnstn@redhat.com" <jjohnstn@redhat.com>, "newlib@sourceware.org" <newlib@sourceware.org>, "vinschen@redhat.com" <vinschen@redhat.com> Subject: [PATCH] Protect strcat from accessing an unaligend long pointer Thread-Topic: [PATCH] Protect strcat from accessing an unaligend long pointer Thread-Index: AQHbfPxFP7VB5vDApEWmvP5b5i2dmg== Date: Wed, 12 Feb 2025 03:14:47 +0000 Message-ID: <00739ce5fd071481f810784bbcc5f5d2fdf4e51e.camel@espressif.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=espressif.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR04MB5736:EE_|JH0PR04MB7296:EE_ x-ms-office365-filtering-correlation-id: 9d9be13f-99eb-4464-d4ce-08dd4b136803 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?q?dF079e0VnfRynsiSRSLqA/E9k+du207?= =?utf-8?q?ojefM3Gv58MLqIAXBIGv9zDkHsTLO0b1XgGrAaKkFmYaxrEiH9GeWPQT7fBQpcFn5?= =?utf-8?q?bjDt2nIJPELPJ3j9AgCb7fnf0LfUtX1W39pS/R7sIXMqsjpoSi3/QfZkWSnL8MQyc?= =?utf-8?q?66InMbCMh6VhifxrbjCHr1XGipiFY0wc0W+uBKEE6ys5+l3lCPP4glPsTjLuL/u+M?= =?utf-8?q?8fPesVB+jeZCoIYseRH91VFPwry7jclkdAHGoHn844UaKrRkIqnHuxc3P8DxvS4dj?= =?utf-8?q?QOOSIIdeH7EGZFMvk+IMRO8DSj7N9DssMaMUt/rBrEEvzbm2nyNjpj8f+MnQJKqan?= =?utf-8?q?VIjRC3T1yKZDueiaASv+QGsK8LIXmGxP4SvWBaQvFOcR4f0mWcLiWUswQJwDtjy9B?= =?utf-8?q?ALbdxtdbUY5UPWp9VgEvGW8xDLm65ehWz6wvy60UShxlqKHfN5QotpXZTVFJP4wl8?= =?utf-8?q?PJM3u6TkCmUBde/IjgviJm/fBbb8LcVKuqx1SoaLCV6P9ufQonQ0Oq8iC/1pl62ZU?= =?utf-8?q?6AeOQobiGviRB0iOCFq2qOLhLsubb+DTWvCednRXmH1GKi55m4F/NrMOl2Q7D0Nf9?= =?utf-8?q?8E1O5Ek3jVH61GdBpTE+mM9x+O8LNVcMbnGLyqaK3PitxKm2tMEjVV/JzwLEoVvAF?= =?utf-8?q?0U3RGXs2zkJxrn5bgBOWWyUSstoCAEFSDgamr0LHImDwVV5Txr9oJJyVCMkjDeqL4?= =?utf-8?q?bbIkZIZqg73yBCcMYH6L/yGmsSUmTrPz6toY2ua3vZ+XhXV11ZA5Ii5GqU2Raai2i?= =?utf-8?q?Pqyj2s19SL6TRFFIjqmCKQRTgTz8d13p7o2wKtKBGlLJGv7qMeh6qMhVBJnIcq1Ul?= =?utf-8?q?/gp5zHnSdFxxszZ+JKWy6EnfmVvhz7zdYATpO7+aFzu+MZSimO84FGuGEh1lzI7dV?= =?utf-8?q?CVkGMHEJET1OWcSFK1UVEbcOBL5TE7IofrU6CyeA1znsVBRgAng0qxk+8iEgQrQjQ?= =?utf-8?q?KOt0ttd/MEKYSU1si+g0441JTvMUH8MeVwip3iOGXDTUoc4s1a52kp4PrljE1oRhx?= =?utf-8?q?dFS+VXuNw4wdzjGSWz64+zJj6qESJW7BVq+Np78r/S9najwywaC7TaG0g7ycEUsni?= =?utf-8?q?PjoNth7T6Ke5irlno9TBw0o1wJLJxWDxlsLwHUaA6mIWKQqjwGf09YjmDOcrfYz6N?= =?utf-8?q?cAAvkF12ubXYzluxnW7s/gZA+xToqBfBBCSa0Up0mIViEkLw9FhwSNvwnhZJK32AM?= =?utf-8?q?RBwTd+nHpfXMRSg0jfBpQP83GeZtgZkwJjq4kqQmcf/ssh3lSGDlTRl41mic9sjE5?= =?utf-8?q?4dK58pWp1XzidXY+BsyyYjTwxfw8oHQPI71laXkdux/A43wEKMIxmPJGuhlv3aO6b?= =?utf-8?q?EE8l6HlyBh0q/8X85jOIpjg/UwSsvnOHa9wO7hWC9Dc43OYhevsv+FS7ikmfybkgV?= =?utf-8?q?opx2W70x083?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR04MB5736.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?wV/raaTZPihao6qLun+c4wgDsxaD?= =?utf-8?q?+1Tyryjc5oiWVrWgLgDJYvdj32Nw31SiDlV6vRfBSM1cLye6rdPA9Mw2bD4YIxzC9?= =?utf-8?q?KGiQaqoNQglIFf6D262rzbISaO8K0Y1OVVjq4IW5wmKHmn1B4ZQVhtmw1yGIlFwjd?= =?utf-8?q?UehNMPbkDtvWLiOtpVbvAU65WUO4ndFbQmcZpn0NadX9nYSE0QxlwyRq8NnGHaWx/?= =?utf-8?q?MHVM9B/EuNfKdEOvrhN6OZuEBCpfy45ld2XqQqjv9uQEVwrTjHZAFDBwjLxnIDUnI?= =?utf-8?q?MW+veB4myCZ9qGIgAhVTaJl+khQUfAaFVRQGxFIXbSEpgYCpS/zBAulnaZzVSPqro?= =?utf-8?q?/NpkP4PxGRfAXkd+zIFctS3eLWWqJsziJlfWqICMojzX1Oz1u796J0ptv9JcpPZSi?= =?utf-8?q?AxiCUfIMNCRCp/TW8+IOcE/EV1xBD1i1EgEJp2CCoUypEdet+XEZcckVlrxFzHJhW?= =?utf-8?q?DcDvMuTIcYxaEjb+OZ+OrLffeu4XPQs4PktGcQcyXdkgOIHcdNR4KmQEKboyv4PoS?= =?utf-8?q?ZEzkQzfFI0o6EqctCbfwhvmq4+5KkG5VTiCXGe/RtxeU38Ifw1/yS4Veuk8PDc0mS?= =?utf-8?q?I6QLgPDBZUtERQmfpwFyRU12b9J41mGSFmhFW+ATAA6/uWW6ejL1HnUOug1G9e1xn?= =?utf-8?q?0+xkM71RyRFDt/TDe/HRunctCJJSDdhRh0UI37CUuCOtve4w4y/JotfvLzMGmnSnq?= =?utf-8?q?Xr4XCbJ97Y0dnqDwRR7OPiF6xXbbKKSCdv6XDSshEjSD2X69CT1+LpAZuYc3Tz7tV?= =?utf-8?q?9yvQtx9bVpeH+qCgwY2JsTpjeXak7ql/KmT2difTt3PhVFf8/meg4GdAlGq8ov+gr?= =?utf-8?q?I/eCc8bZeWiGj9n06ikI4m1O6xLBw6nItozisWiSr+HXhusD/10cvYrrDRgJ9mlIW?= =?utf-8?q?fAYNBO+PC/LsdLd3mkyT+bGwRnvL4Qi0cQnBPW13VJsy8jn0qGzl7mDEZpGlrJ0Mo?= =?utf-8?q?+5dEFw14yai0ZabfpWp8w8OUsD8xlZvFmdVLjzv1JY5kqWlnmLxFuigTqdYFWoutS?= =?utf-8?q?UGzq/GCKSO6j39riBu7+/HZEa1xHbPfbj9Qf4BKoquhh2ky8L3AXUAMHj1hLwYrw/?= =?utf-8?q?QHmByDF4IVOlI6LdI/glMzxfuahVAkOB7BjLxHU6HRTeTxgAdNGgckl3SFRq3/4yj?= =?utf-8?q?/7OWoH3ruz93w+898l4/NgCloyfB0H1IZnmJCq7BKffgoI9zz1ILrRLdpE0FnGcuE?= =?utf-8?q?iEvdaWSiGRncy/yc+lCcrE3GIMq1B+FYQuU82gZKxeqBqvREkgX6IcmgVkY3HJVyL?= =?utf-8?q?h2aRZ4OFl8jfx+N1FCjuhDXxZqOyqBiYwgl74x/fp70VgIDDl9jfwTORbIjnm+2sc?= =?utf-8?q?WadNkbLDlfgaAXlpaYeozvzafgA3LTFKlEvqj5/W36cc0XHGTwPANJKkv15+PIUKB?= =?utf-8?q?/VVxz+FRSkOCSUZTm/UevkadPxr/w3ZsV7mS+4SqDsj9YhN6XWVL7ak05JY/zdpku?= =?utf-8?q?RRprKrYEql6zYjhOlIflQAfeYPa59UC12A2nmKp2es0YEREj2brH42JgsAcVRvXRz?= =?utf-8?q?Zz+H+1yAcyMDq2W/hk7WvUrGaROa9KnWqhELcEmGti5UOtTwxP2tKxw=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <BA0B1F6585F6A64FBD181BA26D9093A7@apcprd04.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: espressif.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR04MB5736.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d9be13f-99eb-4464-d4ce-08dd4b136803 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2025 03:14:47.7834 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5faf27fd-3557-4294-9545-8ea74a409f39 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /Ax15SycPE5v+gpppPSWsfF26XwAttm9xY6m4WDBu/k57jLRCjjYqGZ/QjvzV1s9hf/1M9OYhh4WFzGGQYMQrAHTlP1JzGkXqJqubwNmB0c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: JH0PR04MB7296 X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Newlib mailing list <newlib.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/newlib>, <mailto:newlib-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/newlib/> List-Post: <mailto:newlib@sourceware.org> List-Help: <mailto:newlib-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/newlib>, <mailto:newlib-request@sourceware.org?subject=subscribe> Errors-To: newlib-bounces~patchwork=sourceware.org@sourceware.org |
Series |
Protect strcat from accessing an unaligend long pointer
|
|
Commit Message
Alexey Lapshin
Feb. 12, 2025, 3:14 a.m. UTC
- related to Bug libc/32679 --- newlib/libc/string/strcat.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) -- 2.43.0
Comments
This is fix for strcat, the same as for strNcat: https://sourceware.org/git/?p=newlib-cygwin.git;a=commit;h=a473f960e58bdc540eb8b6eb7f3efb52ff99cb33 Sorry for missing this bug. Regards, Alexey
On Feb 12 03:14, Alexey Lapshin wrote: > - related to Bug libc/32679 > --- > newlib/libc/string/strcat.c | 21 ++++++++++++--------- > 1 file changed, 12 insertions(+), 9 deletions(-) Pushed. Thanks, Corinna
diff --git a/newlib/libc/string/strcat.c b/newlib/libc/string/strcat.c index 47c53a5d2..e213e2d91 100644 --- a/newlib/libc/string/strcat.c +++ b/newlib/libc/string/strcat.c @@ -54,15 +54,18 @@ strcat (char *__restrict s1, while (UNALIGNED_X(s1) && *s1) s1++; - /* Skip over the aligned data in s1 as quickly as possible. */ - unsigned long *aligned_s1 = (unsigned long *)s1; - while (!DETECT_NULL(*aligned_s1)) - aligned_s1++; - s1 = (char *)aligned_s1; - - /* Find string terminator. */ - while (*s1) - s1++; + if (*s1) + { + /* Skip over the aligned data in s1 as quickly as possible. */ + unsigned long *aligned_s1 = (unsigned long *)s1; + while (!DETECT_NULL(*aligned_s1)) + aligned_s1++; + s1 = (char *)aligned_s1; + + /* Find string terminator. */ + while (*s1) + s1++; + } /* s1 now points to the its trailing null character, we can just use strcpy to do the work for us now.