Hi, It means the code might be possible return local variable address when we used the function. So I allocate a resource to local variable to avoid this.
Best Regards, Joe Lu -----Original Message----- From: Yao, Jiewen <jiewen....@intel.com> Sent: Thursday, April 27, 2023 3:51 PM To: Lu, Pen-ChunX <pen-chunx...@intel.com>; devel@edk2.groups.io Cc: Wang, Jian J <jian.j.w...@intel.com> Subject: RE: [PATCH] Release build in GCC5 has warning message Wreturn-local-addr in HashPeiLib Hi I am not sure if I can understand the patch. Would you please clarify what the problem is in the original code? > -----Original Message----- > From: Lu, Pen-ChunX <pen-chunx...@intel.com> > Sent: Thursday, April 27, 2023 2:59 PM > To: devel@edk2.groups.io > Cc: Lu, Pen-ChunX <pen-chunx...@intel.com>; Yao, Jiewen > <jiewen....@intel.com>; Wang, Jian J <jian.j.w...@intel.com> > Subject: [PATCH] Release build in GCC5 has warning message > Wreturn-local- addr in HashPeiLib > > CC: Jiewen Yao <jiewen....@intel.com> > CC: Jian J Wang <jian.j.w...@intel.com> > Signed-off-by: JoeX Lu <pen-chunx...@intel.com> > --- > .../HashLibBaseCryptoRouterPei.c | 17 +++++++++++++---- > 1 file changed, 13 insertions(+), 4 deletions(-) > > diff --git > a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterP > ei.c > b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterP > ei.c > index eeb424b6c3..bf7a5fc65c 100644 > --- > a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterP > ei.c > +++ > b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterP > ei.c > @@ -84,11 +84,20 @@ InternalCreateHashInterfaceHob ( > EFI_GUID *Identifier > ) > { > - HASH_INTERFACE_HOB LocalHashInterfaceHob; > + HASH_INTERFACE_HOB *LocalHashInterfaceHob; HASH_INTERFACE_HOB > + *HobBuffer; > > - ZeroMem (&LocalHashInterfaceHob, sizeof (LocalHashInterfaceHob)); > - CopyGuid (&LocalHashInterfaceHob.Identifier, Identifier); > - return BuildGuidDataHob (&mHashLibPeiRouterGuid, > &LocalHashInterfaceHob, sizeof (LocalHashInterfaceHob)); > + HobBuffer = NULL; > + LocalHashInterfaceHob = AllocateZeroPool (sizeof > (HASH_INTERFACE_HOB)); > + if (LocalHashInterfaceHob == NULL) { > + return NULL; > + } > + CopyGuid (&LocalHashInterfaceHob->Identifier, Identifier); > + HobBuffer = (HASH_INTERFACE_HOB*) BuildGuidDataHob > (&mHashLibPeiRouterGuid, LocalHashInterfaceHob, sizeof > (LocalHashInterfaceHob)); > + if (LocalHashInterfaceHob != NULL) { > + FreePool (LocalHashInterfaceHob); } return HobBuffer; > } > > /** > -- > 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#103704): https://edk2.groups.io/g/devel/message/103704 Mute This Topic: https://groups.io/mt/98532174/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-