From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw0-x22a.google.com (mail-yw0-x22a.google.com [IPv6:2607:f8b0:4002:c05::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2EA3581DB5 for ; Fri, 28 Oct 2016 08:14:44 -0700 (PDT) Received: by mail-yw0-x22a.google.com with SMTP id p22so74616370ywe.0 for ; Fri, 28 Oct 2016 08:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7uXRL6XCj0erHcq6wOCDcXCj0BETxG/J0L7rD7OLSTo=; b=hiXf0Q2p9SuEY5IfdhB5BBvJICDSlVtWxnlbvaDGcmu0BgFyR+D+EvkS+Gnv7jRcpn Acibk/afvx8zJg0tDhZ9ZgDK8wVEaYhiktBPnn0vEfL8FjLr1Gyy3Mw03qKG5PhKjrBv yYJpu3whiPOIjYdR7FPa9DGEqsSkZOjV3wHms= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7uXRL6XCj0erHcq6wOCDcXCj0BETxG/J0L7rD7OLSTo=; b=jtgXlPv7/F8IyvLihXuNtx40X5pjf6VEZQzGGm7zHCMjoX6IMnOx2P74JjQUcKGSLR DWA7JnG1iJ+IDrOU84lGYyCdeVenNBuz4L4hBqreoDPKZJBSZM8HHvSC5gGpT4uiEYHt hTKHMiVgeSavKMxINUo+3mPKtc/y4LXgwc8oOvqzky/9CyptDGRLRecukwXqXXwgXwC9 t3T+ggorUO1q32inz1EorfZj3wBEALEKCoT0wl4H2BtClLl/C6NWsapC5mMdHcAPCcj1 gwVeKY1CYv8iPw1iKw1kbyEMLyeV9vsUv3ERldYP/rkUQC48RWllAp2F54mpesGo7RKX xSzg== X-Gm-Message-State: ABUngveJy2940HlyNUW9xHPYlhEFWLzrzdQLXdSFWX7efud1G6BkP0u6pjDkJ0LWEfWZVp275ZVLpH3B+GyzEsYq X-Received: by 10.36.107.72 with SMTP id v69mr2195973itc.37.1477667683786; Fri, 28 Oct 2016 08:14:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.5.139 with HTTP; Fri, 28 Oct 2016 08:14:43 -0700 (PDT) In-Reply-To: <20161028151340.GW1161@bivouac.eciton.net> References: <1477651721-16958-1-git-send-email-ard.biesheuvel@linaro.org> <1477651721-16958-2-git-send-email-ard.biesheuvel@linaro.org> <20161028144834.GU1161@bivouac.eciton.net> <20161028151340.GW1161@bivouac.eciton.net> From: Ard Biesheuvel Date: Fri, 28 Oct 2016 16:14:43 +0100 Message-ID: To: Leif Lindholm Cc: edk2-devel-01 , Laszlo Ersek , Ryan Harkin Subject: Re: [PATCH v2 1/2] ArmPlatformPkg/ArmVExpressFastBootDxe: eliminate deprecated string functions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Oct 2016 15:14:44 -0000 Content-Type: text/plain; charset=UTF-8 On 28 October 2016 at 16:13, Leif Lindholm wrote: > On Fri, Oct 28, 2016 at 04:02:21PM +0100, Ard Biesheuvel wrote: >> On 28 October 2016 at 15:48, Leif Lindholm wrote: >> > On Fri, Oct 28, 2016 at 11:48:40AM +0100, Ard Biesheuvel wrote: >> >> Get rid of functions that are no longer available when defining >> >> DISABLE_NEW_DEPRECATED_INTERFACES >> >> >> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> >> Signed-off-by: Ard Biesheuvel >> >> --- >> >> ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBoot.c | 9 +++++---- >> >> 1 file changed, 5 insertions(+), 4 deletions(-) >> >> >> >> diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBoot.c b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBoot.c >> >> index 4d0811cc5eaf..64b25f8a8c45 100644 >> >> --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBoot.c >> >> +++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBoot.c >> >> @@ -269,7 +269,7 @@ ArmFastbootPlatformInit ( >> >> >> >> // Copy handle and partition name >> >> Entry->PartitionHandle = AllHandles[LoopIndex]; >> >> - StrnCpy ( >> >> + CopyMem ( >> >> Entry->PartitionName, >> >> PartitionEntries[PartitionNode->PartitionNumber - 1].PartitionName, // Partition numbers start from 1. >> >> PARTITION_NAME_MAX_LENGTH >> >> @@ -320,7 +320,8 @@ ArmFastbootPlatformFlashPartition ( >> >> CHAR16 PartitionNameUnicode[60]; >> >> BOOLEAN PartitionFound; >> >> >> >> - AsciiStrToUnicodeStr (PartitionName, PartitionNameUnicode); >> >> + AsciiStrToUnicodeStrS (PartitionName, PartitionNameUnicode, >> >> + ARRAY_SIZE (PartitionNameUnicode)); >> >> >> >> PartitionFound = FALSE; >> >> Entry = (FASTBOOT_PARTITION_LIST *) GetFirstNode (&(mPartitionListHead)); >> >> @@ -396,7 +397,7 @@ ArmFastbootPlatformGetVar ( >> >> ) >> >> { >> >> if (AsciiStrCmp (Name, "product")) { >> >> - AsciiStrCpy (Value, FixedPcdGetPtr (PcdFirmwareVendor)); >> >> + AsciiStrCpyS (Value, 61, FixedPcdGetPtr (PcdFirmwareVendor)); >> > >> > I'm totally OK with the reason for hard-coding this, but could you add >> > the comment from the feedback on previous version?: >> > // FASTBOOT_COMMAND_MAX_LENGTH - 4 + NULL terminator >> > (Or if there's a better way of putting it.) >> > >> >> What if I decorate each entry point with the comment block from the >> associated protocol header file instead? (in a follow up patch) >> That is common practice in Tianocore anyway, and looks like this for >> this particular protocol method: >> >> /* >> If the variable referred to by Name exists, copy it (as a null-terminated >> string) into Value. If it doesn't exist, put the Empty string in Value. >> >> Variable names and values may not be larger than 60 bytes, excluding the >> terminal null character. This is a limitation of the Fastboot protocol. >> >> The Fastboot application will handle platform-nonspecific variables >> (Currently "version" is the only one of these.) >> >> @param[in] Name Null-terminated name of Fastboot variable to retrieve. >> @param[out] Value Caller-allocated buffer for null-terminated value of >> variable. >> >> @retval EFI_SUCCESS The variable was retrieved, or it doesn't exist. >> @retval EFI_DEVICE_ERROR There was an error looking up the variable. This >> does _not_ include the variable not existing. >> */ > > That works for me. > Good. Does that mean you are happy with this patch as-is then?