diff options
author | Laszlo Ersek <lersek@redhat.com> | 2017-09-09 23:41:01 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2017-09-12 12:12:26 +0200 |
commit | eb928b17c5c4a3918ba1d16aed5fbd797e69e75e (patch) | |
tree | d764242f0683638d360816547c78950e047637b5 /MdeModulePkg/Universal | |
parent | 131fd40ffc34bd0b3b4eca6a66378f48d1b25279 (diff) | |
download | edk2-eb928b17c5c4a3918ba1d16aed5fbd797e69e75e.tar.gz edk2-eb928b17c5c4a3918ba1d16aed5fbd797e69e75e.tar.bz2 edk2-eb928b17c5c4a3918ba1d16aed5fbd797e69e75e.zip |
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.biesheuvel@linaro.org>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Paulo Alcantara <pcacjr@zytor.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Paulo Alcantara <pcacjr@zytor.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Diffstat (limited to 'MdeModulePkg/Universal')
-rw-r--r-- | MdeModulePkg/Universal/Disk/UdfDxe/File.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/Disk/UdfDxe/File.c b/MdeModulePkg/Universal/Disk/UdfDxe/File.c index 8b9339567f..e7159ff861 100644 --- a/MdeModulePkg/Universal/Disk/UdfDxe/File.c +++ b/MdeModulePkg/Universal/Disk/UdfDxe/File.c @@ -176,11 +176,12 @@ UdfOpen ( 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) {
@@ -324,10 +325,11 @@ UdfRead ( 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 &&
|