[edk2-devel] [PATCH v1 1/1] FmpDevicePkg/FmpDxe: Fix Clang build error

Guomin Jiang guomin.jiang at intel.com
Wed Aug 12 07:04:46 UTC 2020


Reviewed-by: Guomin Jiang <guomin.jiang at intel.com>

Thanks
Guomin
> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Michael
> Kubacki
> Sent: Wednesday, August 12, 2020 8:24 AM
> To: devel at edk2.groups.io
> Cc: Gao, Liming <liming.gao at intel.com>; Kinney, Michael D
> <michael.d.kinney at intel.com>; Jiang, Guomin <guomin.jiang at intel.com>;
> Xu, Wei6 <wei6.xu at intel.com>
> Subject: [edk2-devel] [PATCH v1 1/1] FmpDevicePkg/FmpDxe: Fix Clang build
> error
> 
> From: Michael Kubacki <michael.kubacki at microsoft.com>
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2887
> 
> The local Private pointer variable in SetTheImage() is initialized based on the
> caller provided This pointer argument. The cleanup label path uses the
> Private pointer which will not be initialized if This is NULL.
> 
> This change initializes Private to NULL and accounts for Private potentially
> being NULL in the cleanup label path.
> 
> Cc: Liming Gao <liming.gao at intel.com>
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> Cc: Guomin Jiang <guomin.jiang at intel.com>
> Cc: Wei6 Xu <wei6.xu at intel.com>
> Signed-off-by: Michael Kubacki <michael.kubacki at microsoft.com>
> ---
>  FmpDevicePkg/FmpDxe/FmpDxe.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.c
> b/FmpDevicePkg/FmpDxe/FmpDxe.c index 854feec0a162..427b215ddc5f
> 100644
> --- a/FmpDevicePkg/FmpDxe/FmpDxe.c
> +++ b/FmpDevicePkg/FmpDxe/FmpDxe.c
> @@ -1043,6 +1043,7 @@ SetTheImage (
>    UINT32                            DependenciesSize;
> 
>    Status             = EFI_SUCCESS;
> +  Private            = NULL;
>    Updateable         = 0;
>    BooleanValue       = FALSE;
>    FmpHeaderSize      = 0;
> @@ -1293,7 +1294,10 @@ SetTheImage (
> 
>  cleanup:
>    mProgressFunc = NULL;
> -  SetLastAttemptStatusInVariable (Private, LastAttemptStatus);
> +
> +  if (Private != NULL) {
> +    SetLastAttemptStatusInVariable (Private, LastAttemptStatus);  }
> 
>    if (Progress != NULL) {
>      //
> @@ -1306,7 +1310,9 @@ SetTheImage (
>    // Need repopulate after SetImage is called to
>    // update LastAttemptVersion and LastAttemptStatus.
>    //
> -  Private->DescriptorPopulated = FALSE;
> +  if (Private != NULL) {
> +    Private->DescriptorPopulated = FALSE;  }
> 
>    return Status;
>  }
> --
> 2.28.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#64052): https://edk2.groups.io/g/devel/message/64052
Mute This Topic: https://groups.io/mt/76138626/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list