On 28 October 2016 at 14:52, Leif Lindholm <leif.lindh...@linaro.org> wrote:
> On Fri, Oct 28, 2016 at 02:40:59PM +0100, Ard Biesheuvel wrote:
>> On 28 October 2016 at 14:36, Leif Lindholm <leif.lindh...@linaro.org> wrote:
>> > On Fri, Oct 28, 2016 at 11:44:34AM +0100, Ard Biesheuvel wrote:
>> >> Get rid of calls to unsafe string functions. These are deprecated and may
>> >> be removed in the future.
>> >>
>> >> Contributed-under: TianoCore Contribution Agreement 1.0
>> >> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
>> >> ---
>> >>  EmbeddedPkg/Application/AndroidFastboot/AndroidBootImg.c     |  3 ++-
>> >>  EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c | 11 
>> >> ++++++-----
>> >>  2 files changed, 8 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/EmbeddedPkg/Application/AndroidFastboot/AndroidBootImg.c 
>> >> b/EmbeddedPkg/Application/AndroidFastboot/AndroidBootImg.c
>> >> index bbca90fc08a2..f3e770bcc980 100644
>> >> --- a/EmbeddedPkg/Application/AndroidFastboot/AndroidBootImg.c
>> >> +++ b/EmbeddedPkg/Application/AndroidFastboot/AndroidBootImg.c
>> >> @@ -84,7 +84,8 @@ ParseAndroidBootImg (
>> >>                   + ALIGN_VALUE (Header->KernelSize, Header->PageSize));
>> >>    }
>> >>
>> >> -  AsciiStrnCpy (KernelArgs, Header->KernelArgs, 
>> >> BOOTIMG_KERNEL_ARGS_SIZE);
>> >> +  AsciiStrnCpyS (KernelArgs, BOOTIMG_KERNEL_ARGS_SIZE, 
>> >> Header->KernelArgs,
>> >> +    BOOTIMG_KERNEL_ARGS_SIZE);
>> >>
>> >>    return EFI_SUCCESS;
>> >>  }
>> >> diff --git a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c 
>> >> b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
>> >> index 9ddc34f57cf4..c5e8a7e34af2 100644
>> >> --- a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
>> >> +++ b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c
>> >> @@ -99,7 +99,7 @@ HandleDownload (
>> >>    IN CHAR8 *NumBytesString
>> >>    )
>> >>  {
>> >> -  CHAR8       Response[12] = "DATA";
>> >> +  CHAR8       Response[13];
>> >>    CHAR16      OutputString[FASTBOOT_STRING_MAX_LENGTH];
>> >>
>> >>    // Argument is 8-character ASCII string hex representation of number 
>> >> of bytes
>> >> @@ -127,8 +127,10 @@ HandleDownload (
>> >>    if (mDataBuffer == NULL) {
>> >>      SEND_LITERAL ("FAILNot enough memory");
>> >>    } else {
>> >> -    AsciiStrnCpy (Response + 4, NumBytesString, 8);
>> >> -    mTransport->Send (sizeof(Response), Response, &mFatalSendErrorEvent);
>> >> +    ZeroMem (Response, sizeof Response);
>> >> +    AsciiSPrint (Response, sizeof Response, "DATA%x",
>> >> +      (UINT32)mNumDataBytes);
>> >
>> > I'll try to keep the bikeshedding to a minimum, but since
>> > mNumDataBytes is generated from NumBytesString in the first place, why
>> > not do
>> >   "DATA%s", NumBytesString
>> > ?
>> >
>>
>> Are you asking me? Or the author of the original code?
>
> Well, the original code used NumBytesString, and your updated version
> does not.
>

Indeed, I missed that. Been looking at many different variations on
this theme over the past week, so my vision got a little blurry,
sorry.

> As per Laszlo's comment - the implementation of
> AsciiStrHexToUint64 means that an arbitrarily long string of leading
> zeroes could be handled by this version that would not previously have
> been handled.
>
> If that is desired behaviour, then that makes this change a bugfix
> rather than just an API cleanup. Which should be mentioned in the
> commit message. If you do that:
>
> Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org>
>

Thanks.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to