Reviewed-by: Guomin Jiang <guomin.ji...@intel.com> Thanks Guomin > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael > Kubacki > Sent: Wednesday, August 12, 2020 8:24 AM > To: devel@edk2.groups.io > Cc: Gao, Liming <liming....@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Jiang, Guomin <guomin.ji...@intel.com>; > Xu, Wei6 <wei6...@intel.com> > Subject: [edk2-devel] [PATCH v1 1/1] FmpDevicePkg/FmpDxe: Fix Clang build > error > > From: Michael Kubacki <michael.kuba...@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....@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Guomin Jiang <guomin.ji...@intel.com> > Cc: Wei6 Xu <wei6...@intel.com> > Signed-off-by: Michael Kubacki <michael.kuba...@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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-