Star, Sizeof is an operator, not a function, like + or -. Not having () is ok.
Thanks/Ray > -----Original Message----- > From: Zeng, Star > Sent: Tuesday, September 12, 2017 4:55 PM > To: Laszlo Ersek <ler...@redhat.com>; edk2-devel-01 <edk2- > de...@lists.01.org> > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>; Dong, Eric > <eric.d...@intel.com>; Paulo Alcantara <pca...@zytor.com>; Ni, Ruiyu > <ruiyu...@intel.com>; Zeng, Star <star.z...@intel.com> > Subject: RE: [PATCH 3/5] MdeModulePkg/UdfDxe: replace zero-init of local > variables with ZeroMem() > > Reviewed-by: Star Zeng <star.z...@intel.com> > > BTW: How about to use "sizeof ()" instead of "sizeof"? > > > Thanks, > Star > -----Original Message----- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Sunday, September 10, 2017 8:13 AM > To: edk2-devel-01 <edk2-devel@lists.01.org> > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>; Dong, Eric > <eric.d...@intel.com>; Paulo Alcantara <pca...@zytor.com>; Ni, Ruiyu > <ruiyu...@intel.com>; Zeng, Star <star.z...@intel.com> > Subject: [PATCH 3/5] MdeModulePkg/UdfDxe: replace zero-init of local > variables with ZeroMem() > > In edk2, initialization of local variables is forbidden, both for stylistic > reasons > and because such initialization may generate calls to compiler intrinsics. > > For the following initialization in UdfRead(): > > CHAR16 FileName[UDF_FILENAME_LENGTH] = { 0 }; > > clang-3.8 generates a memset() call, when building UdfDxe for IA32, which > then fails to link. > > Replace the initialization with ZeroMem(). > > Do the same to "FilePath" in UdfOpen(). > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Cc: Eric Dong <eric.d...@intel.com> > Cc: Paulo Alcantara <pca...@zytor.com> > Cc: Ruiyu Ni <ruiyu...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Laszlo Ersek <ler...@redhat.com> > --- > MdeModulePkg/Universal/Disk/UdfDxe/File.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/File.c > b/MdeModulePkg/Universal/Disk/UdfDxe/File.c > index 8b9339567f8e..e7159ff861f7 100644 > --- a/MdeModulePkg/Universal/Disk/UdfDxe/File.c > +++ b/MdeModulePkg/Universal/Disk/UdfDxe/File.c > @@ -174,15 +174,16 @@ UdfOpen ( > { > EFI_TPL OldTpl; > EFI_STATUS Status; > PRIVATE_UDF_FILE_DATA *PrivFileData; > PRIVATE_UDF_SIMPLE_FS_DATA *PrivFsData; > - CHAR16 FilePath[UDF_PATH_LENGTH] = { 0 }; > + CHAR16 FilePath[UDF_PATH_LENGTH]; > UDF_FILE_INFO File; > PRIVATE_UDF_FILE_DATA *NewPrivFileData; > CHAR16 *TempFileName; > > + ZeroMem (FilePath, sizeof FilePath); > OldTpl = gBS->RaiseTPL (TPL_CALLBACK); > > if (This == NULL || NewHandle == NULL || FileName == NULL) { > Status = EFI_INVALID_PARAMETER; > goto Error_Invalid_Params; > @@ -322,14 +323,15 @@ UdfRead ( > EFI_BLOCK_IO_PROTOCOL *BlockIo; > EFI_DISK_IO_PROTOCOL *DiskIo; > UDF_FILE_INFO FoundFile; > UDF_FILE_IDENTIFIER_DESCRIPTOR *NewFileIdentifierDesc; > VOID *NewFileEntryData; > - CHAR16 FileName[UDF_FILENAME_LENGTH] = { 0 }; > + CHAR16 FileName[UDF_FILENAME_LENGTH]; > UINT64 FileSize; > UINT64 BufferSizeUint64; > > + ZeroMem (FileName, sizeof FileName); > OldTpl = gBS->RaiseTPL (TPL_CALLBACK); > > if (This == NULL || BufferSize == NULL || (*BufferSize != 0 && > Buffer == NULL)) { > Status = EFI_INVALID_PARAMETER; > -- > 2.14.1.3.gb7cf6e02401b > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel