From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from troutmask.apl.washington.edu (troutmask.apl.washington.edu [128.95.76.21]) by sourceware.org (Postfix) with ESMTPS id C1F1D385843A; Wed, 6 Mar 2024 06:06:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C1F1D385843A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=troutmask.apl.washington.edu Authentication-Results: sourceware.org; spf=none smtp.mailfrom=troutmask.apl.washington.edu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C1F1D385843A Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=128.95.76.21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709705206; cv=none; b=UZ/aJlnuJQ6aK0WOB/pPo3p8UurDm+3THBsyE0jl19RDrZH19TFlx6sQKJDosoYdjnOIY/1hQ+WLgFpLvrlrEYE5gvriMAxqgDB5Hdl0hDxRrp4INY+S1PhhOdmdE1u3pdNDLfTH3vSwaxaa/8KUoxvf8JCyneAS9SFiGBzmtmI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709705206; c=relaxed/simple; bh=hsvEvPqoTCkmAv/7Bcb8x11GTqAMLi59nJRZqTaLsoA=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=kOQ1nDsr8QKpSLe9W0J3hiduVtV9KLUjlNr6G5Hiwv+cbv1YfLTMbHUV7oaZ9E2yPF59E+CmKx2AWoDnMsWeKYKP9YTJ+futMM9Qn9XrtsgwQjMxGRPjv6XXHoMSIOSaG040Qyu5CBPe3ruFKM1WUMfwEIqLmc3IxJ93Wyk9EDI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from troutmask.apl.washington.edu (localhost [127.0.0.1]) by troutmask.apl.washington.edu (8.17.1/8.17.1) with ESMTP id 42666hY4003895; Tue, 5 Mar 2024 22:06:43 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) DKIM-Filter: OpenDKIM Filter v2.10.3 troutmask.apl.washington.edu 42666hY4003895 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=troutmask.apl.washington.edu; s=troutmask; t=1709705203; bh=hsvEvPqoTCkmAv/7Bcb8x11GTqAMLi59nJRZqTaLsoA=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=eVnzD5ZnxFHn2YhXzeIMBs9ho/E0c0mwh35upJAGu4YfQqu8xhkbGxmhgsnziyAUh yvDppcxPja1hIF2OsjTy4Q4NKeVYdn1xOc2D2/Rt4htNXtvI6jdex9220dXVKB4Ub4 pCMkOoXxYm4mL9yPNkUtlVnOkmtIkgEMrgcit7/1ckmjkbb8eEr13Nv+mtV/5BycPV fy9w164x+AzBWz2pJcefIVoH7Gk+uyu8acOppmDGIj9Mq3PIlxU01HFaSUmoih2nrT xXkIs1CloI2BLaaWt1Z/6efkBGTa0QECcCrk3gfcYstNZBqyWXurGWKwPwn4tOZKwl xjnZ1R4CaKGLA== Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.17.1/8.17.1/Submit) id 42666g1b003894; Tue, 5 Mar 2024 22:06:42 -0800 (PST) (envelope-from sgk) Date: Tue, 5 Mar 2024 22:06:42 -0800 From: Steve Kargl To: Jerry D Cc: Harald Anlauf , gcc-patches@gcc.gnu.org, fortran@gcc.gnu.org Subject: Re: [patch, libgfortran] Part 2: PR105456 Child I/O does not propage iostat Message-ID: Reply-To: sgk@troutmask.apl.washington.edu References: <943c3685-c4d4-4f22-8b65-6336f8770043@gmail.com> <20240229104705.62e46010@nbbrfq.loc> <033ebcdd-6e25-4af7-9012-3338978751d8@gmail.com> <05A1AEE6-6A68-4D4F-8BEA-6E87969E19E7@gmail.com> <65b13e02-bc1d-4cad-98cc-cf5d6090b742@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_INVALID,DKIM_SIGNED,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Tue, Mar 05, 2024 at 08:06:10PM -0800, Jerry D wrote: > On 3/5/24 1:51 PM, Harald Anlauf wrote: > > Hi Jerry, > > > > on further thought, do we sanitize 'child_iomsg'? > > We pass it to snprintf as format. > > > > Wouldn't a strncpy be sufficient? > > > > Harald > > > > > > Just to be safe I will bump char message[IOMSG_LEN] to char > message[IOMSG_LEN + 1] > > This is like a C string vs a Fortran string length situation. snprintf > guarantees we don't exceed the child_iomsg_len and null terminates it. > > I added 1 to: > child_iomsg_len = string_len_trim (IOMSG_LEN, child_iomsg) + 1 > string_len_trim substracts 1 from the passed in argument. gfc_charlen_type string_len_trim (gfc_charlen_type len, const CHARTYPE *s) { if (len <= 0) return 0; const size_t long_len = sizeof (unsigned long); size_t i = len - 1; Does this account for the NULL? -- steve