From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ni.com (skprod3.natinst.com [130.164.80.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 0CAF98211E for ; Fri, 17 Feb 2017 09:49:57 -0800 (PST) Received: from us-aus-exhub1.ni.corp.natinst.com (us-aus-exhub1.ni.corp.natinst.com [130.164.68.41]) by us-aus-skprod3.natinst.com (8.16.0.17/8.16.0.17) with ESMTPS id v1HHng3b013131 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 17 Feb 2017 11:49:43 -0600 Received: from us-aus-exch3.ni.corp.natinst.com (130.164.68.13) by us-aus-exhub1.ni.corp.natinst.com (130.164.68.41) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Fri, 17 Feb 2017 11:49:41 -0600 Received: from us-aus-exhub1.ni.corp.natinst.com (130.164.68.41) by us-aus-exch3.ni.corp.natinst.com (130.164.68.13) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Fri, 17 Feb 2017 11:49:41 -0600 Received: from jmw-lm181.amer.corp.natinst.com (130.164.49.7) by us-aus-exhub1.ni.corp.natinst.com (130.164.68.41) with Microsoft SMTP Server id 15.0.1156.6 via Frontend Transport; Fri, 17 Feb 2017 11:49:41 -0600 Date: Fri, 17 Feb 2017 11:43:48 -0600 From: Jeff Westfahl X-X-Sender: jwestfah@jmw-lm181 To: "Carsey, Jaben" CC: "Jim.Dailey@dell.com" , "Ni, Ruiyu" , "edk2-devel@lists.01.org" , "jeff.westfahl@ni.com" In-Reply-To: Message-ID: References: <62a8491631d9dbde89d160ab213d3a16a2e76534.1487107403.git.jeff.westfahl@ni.com> <66fef1ec77c84e188120b733da3d00a9@ausx13mps335.AMER.DELL.COM> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-02-17_14:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1612050000 definitions=main-1702170164 Subject: Re: [PATCH] ShellPkg/HandleParsingLib: Correct format specifier for LoadedImage 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, 17 Feb 2017 17:49:58 -0000 Content-Type: text/plain; charset="US-ASCII"; format=flowed Using "%s" tries to print the data as text, but crashes if the pointer to that data is garbage. Using "%x" just prints the value of the pointer, whether it's valid or not. It doesn't print any of the actual data. On Fri, 17 Feb 2017, Carsey, Jaben wrote: > I think that the long term solution may improve upon this one, but if the data is hex, then printing in hex at all would seem to be the logical first step. > >> -----Original Message----- >> From: Jim.Dailey@dell.com [mailto:Jim.Dailey@dell.com] >> Sent: Friday, February 17, 2017 9:36 AM >> To: Carsey, Jaben >> Cc: Ni, Ruiyu ; edk2-devel@lists.01.org; >> jeff.westfahl@ni.com >> Subject: RE: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> Importance: High >> >> My point was that printing one byte of the data as hex is not much better (as >> far >> as avoiding the crash is concerned) than simply not printing the data at all. If >> we are just trying to avoid the crash, printing nothing is even simpler. >> >> If the correct representation is hex bytes, fine; but why print only 1 of them >> and not all of them? >> >> >> -----Original Message----- >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of >> Carsey, Jaben >> Sent: Friday, February 17, 2017 11:28 AM >> To: Jeff Westfahl >> Cc: Ni, Ruiyu ; Carsey, Jaben >> ; edk2-devel@lists.01.org >> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >> specifier for LoadedImage >> >> I was reading the email. I was also waiting and making sure there was >> consensus since I didn't have a strong opinion. I will let Ray check also, but I >> think the fix is good. >> >> Reviewed-by: Jaben Carsey >> >>> -----Original Message----- >>> From: Jeff Westfahl [mailto:jeff.westfahl@ni.com] >>> Sent: Friday, February 17, 2017 8:55 AM >>> To: Jeff Westfahl >>> Cc: edk2-devel@lists.01.org; Carsey, Jaben ; Ni, >>> Ruiyu >>> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>> specifier for LoadedImage >>> Importance: High >>> >>> Jaben, Ruiyu, >>> >>> Sorry, I forgot to cc you as the ShellPkg maintainers when I submitted >>> this patch. >>> >>> Regards, >>> Jeff Westfahl >>> >>> On Wed, 15 Feb 2017, Jeff Westfahl wrote: >>> >>>> Jim, >>>> >>>> I agree that those are good ideas. However, such an implementation >> would >>>> still crash on a BIOS built against the EDK II before commit 891d844. I think >>>> it might be best to resolve the crash with the simple patch I have made, >>> and >>>> defer your suggestions for now. >>>> >>>> Regards, >>>> Jeff >>>> >>>> On Tue, 14 Feb 2017, Jim.Dailey@dell.com wrote: >>>> >>>>> Please disregard the earlier "Confidential" text. The stupid plug-in that >>>>> adds this >>>>> does not show the text in the mail when it is composed in text mode, so >> I >>>>> often >>>>> forget to turn this "feature" off when posting. Sorry. >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >> Of >>>>> Dailey, Jim >>>>> Sent: Tuesday, February 14, 2017 4:40 PM >>>>> To: jeff.westfahl@ni.com; edk2-devel@lists.01.org >>>>> Subject: Re: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>>>> specifier for LoadedImage >>>>> >>>>> Jeff, >>>>> >>>>> Perhaps a better approach is to print *all* the LoadOptions data as hex >>>>> bytes? >>>>> >>>>> In addition, one might first analyze the LoadOptions data, and, when >>>>> apropos, >>>>> print obvious strings as strings? >>>>> >>>>> Regards, >>>>> Jim >>>>> >>>>> -----Original Message----- >>>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf >> Of >>> Jeff >>>>> Westfahl >>>>> Sent: Tuesday, February 14, 2017 3:54 PM >>>>> To: edk2-devel@lists.01.org >>>>> Subject: [edk2] [PATCH] ShellPkg/HandleParsingLib: Correct format >>> specifier >>>>> for LoadedImage >>>>> >>>>> The format specifier for the LoadOptions field of the LoadedImage >>> protocol >>>>> is "%s". However, the data in LoadOptions is often generic binary data. A >>>>> format specifier of "%x" is more appropriate for this field. >>>>> >>>>> Using "dh -v" with format specifier "%s" on BIOS images based on EDK II >>>>> source before commit 891d844 can cause a crash. >>>>> >>>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>>> Signed-off-by: Jeff Westfahl >>>>> --- >>>>> ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> diff --git >>> a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> index 0d51627c5f..273a4201bc 100644 >>>>> --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.uni >>>>> @@ -354,7 +354,7 @@ >>>>> " DeviceHandle..: >>>>> %%H%x%%N\r\n" >>>>> " FilePath......: >>>>> %%H%x%%N\r\n" >>>>> " OptionsSize...: >>>>> %%H%x%%N\r\n" >>>>> - " LoadOptions...: >>>>> %%H%s%%N\r\n" >>>>> + " LoadOptions...: >>>>> %%H%x%%N\r\n" >>>>> " ImageBase.....: >>>>> %%H%x%%N\r\n" >>>>> " ImageSize.....: >>>>> %%H%Lx%%N\r\n" >>>>> " CodeType......: >>>>> %%H%s%%N\r\n" >>>>> -- >>>>> 2.11.0.windows.3 >>>>> >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>> _______________________________________________ >>>>> edk2-devel mailing list >>>>> edk2-devel@lists.01.org >>>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>>> >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.01.org >>>> https://lists.01.org/mailman/listinfo/edk2-devel >>>> >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel >