Reviewed-by: [email protected]

> -----Original Message-----
> From: Zeng, Star
> Sent: Thursday, May 3, 2018 7:20 PM
> To: [email protected]
> Cc: Zeng, Star <[email protected]>; Yao, Jiewen <[email protected]>
> Subject: [PATCH] MdeModulePkg CapsuleApp: Check Buffer against NULL before
> freeing it
> 
> If the capsule from command line is not present,
> Buffer will be random value when freeing it in DumpCapsule(),
> then ASSERT will happen or other memory pool may be freed.
> 
> Cc: Jiewen Yao <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Star Zeng <[email protected]>
> ---
>  MdeModulePkg/Application/CapsuleApp/CapsuleDump.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
> b/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
> index 2bb5f1f02cf4..6c1320942bf4 100644
> --- a/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
> +++ b/MdeModulePkg/Application/CapsuleApp/CapsuleDump.c
> @@ -1,7 +1,7 @@
>  /** @file
>    Dump Capsule image information.
> 
> -  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
>    This program and the accompanying materials
>    are licensed and made available under the terms and conditions of the BSD
> License
>    which accompanies this distribution.  The full text of the license may be
> found at
> @@ -242,6 +242,7 @@ DumpCapsule (
>    EFI_CAPSULE_HEADER                            *CapsuleHeader;
>    EFI_STATUS                                    Status;
> 
> +  Buffer = NULL;
>    Status = ReadFileToBuffer(CapsuleName, &FileSize, &Buffer);
>    if (EFI_ERROR(Status)) {
>      Print(L"CapsuleApp: Capsule (%s) is not found.\n", CapsuleName);
> @@ -269,7 +270,9 @@ DumpCapsule (
>    }
> 
>  Done:
> -  FreePool(Buffer);
> +  if (Buffer != NULL) {
> +    FreePool(Buffer);
> +  }
>    return Status;
>  }
> 
> --
> 2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to