Could you please show me how this function returns *local variable*? return BuildGuidDataHob (&mHashLibPeiRouterGuid, &LocalHashInterfaceHob, sizeof (LocalHashInterfaceHob));
I don't understand the analysis. > -----Original Message----- > From: Lu, Pen-ChunX <pen-chunx...@intel.com> > Sent: Thursday, April 27, 2023 3:58 PM > To: Yao, Jiewen <jiewen....@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, > 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 (#103706): https://edk2.groups.io/g/devel/message/103706 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] -=-=-=-=-=-=-=-=-=-=-=-