From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (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 835D381DB5 for ; Fri, 28 Oct 2016 08:13:43 -0700 (PDT) Received: by mail-wm0-x22c.google.com with SMTP id n67so120949894wme.1 for ; Fri, 28 Oct 2016 08:13:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=pdh5fTfHNRYbY87+hntHFDZJod0pmLvqD2hgN3e8NN0=; b=GyA838MtBWdWq984m+ADoAmilluWLyozFJARwy8OB44zSk0lct7k0zpV0pHMdG0CPn qDNNKcx1vqj6/UDqqNjW14ni8JfTg87gCs3D/jBC2ye+IJN6x+KMdd7UKWMFD4MRUfua yNVkmY4v6nFygzosx9IU4qJ4Xuya2d1VfYHec= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=pdh5fTfHNRYbY87+hntHFDZJod0pmLvqD2hgN3e8NN0=; b=LoeWACDpjncu09e/kSaEmkjigDSeoqpEe87cLbZ1+MV2kioxvHGje7RWngQ428f252 csyUiprX9BkbbogiGM4fUpOIoMMdqavnPOcC/XL6e/nsbl9EUgOsL2Qp2qPeWBssqe2C K6wjwOFHazIkGSrYcxtHKOsnVJgy5hZv8Gv5cJwFYdORf/POmnD/XC6920pL6JIJ9Arn p1FqsE14Q+bCTeZQYnk7S1/rMPShXmZ0wfZLj3D/xPje/6SQUas9aslEa/u66Yh7JguN RjMYQ9SdTRBbOAyQhuyVhW/vGubxVKVZ4K9/wBHZm0r9teO2g67lL+YkF1YrDbVg3rxp kcLg== X-Gm-Message-State: ABUngvfhncLc2VM1pIewVmLbyOO75rLFKStrtdl8R6xfex3DH6sWLL4af/ekiYzaKz19iFp3 X-Received: by 10.194.179.193 with SMTP id di1mr11946225wjc.72.1477667622497; Fri, 28 Oct 2016 08:13:42 -0700 (PDT) Received: from bivouac.eciton.net (bivouac.eciton.net. [2a00:1098:0:86:1000:23:0:2]) by smtp.gmail.com with ESMTPSA id v3sm14621579wjm.4.2016.10.28.08.13.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Oct 2016 08:13:41 -0700 (PDT) Date: Fri, 28 Oct 2016 16:13:40 +0100 From: Leif Lindholm To: Ard Biesheuvel Cc: edk2-devel-01 , Laszlo Ersek , Ryan Harkin Message-ID: <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> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) 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:13:43 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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. / Leif