From b5f8b5b03dde02d13cedc87d42bccd5c822e2801 Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Thu, 26 Jun 2014 03:16:27 +0000 Subject: Refine code to make it more safely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Liming Gao git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15595 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c | 4 ++-- EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.c | 4 +++- EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ValueToString.c | 3 ++- EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Print/Print.c | 3 ++- .../Foundation/Library/RuntimeDxe/EfiRuntimeLib/Ia32/RuntimeLib.c | 4 ++-- .../Foundation/Library/RuntimeDxe/EfiRuntimeLib/X64/RuntimeLib.c | 4 ++-- 6 files changed, 13 insertions(+), 9 deletions(-) (limited to 'EdkCompatibilityPkg/Foundation') diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c index 8ab071fc45..6f62a17834 100644 --- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c +++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/ReportStatusCode.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -88,7 +88,7 @@ Returns: if (GET_HOB_TYPE (GuidHob) == EFI_HOB_TYPE_GUID_EXTENSION) { if (EfiCompareGuid (ProtocolGuid, &GuidHob.Guid->Name)) { Status = EFI_SUCCESS; - *Interface = (VOID *) *(UINTN *) ((UINT8 *) (&GuidHob.Guid->Name) + sizeof (EFI_GUID)); + *Interface = (VOID *) *(UINTN *) (GuidHob.Guid + 1); } } diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.c b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.c index 9d4260768c..da3904d238 100644 --- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.c +++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -214,6 +214,8 @@ Arguments: UINTN Rem; static CHAR16 *SizeUnits[] = { L" B", L" kB", L" MB", L" GB", L" TB", L" PB" }; + Rem = 0; + for (i = 0; i < (sizeof (SizeUnits) / sizeof (SizeUnits)[0]); i++) { DivU64x32 (Val, 1024, &Rem); diff --git a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ValueToString.c b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ValueToString.c index 11f190145c..7d79fb2e81 100644 --- a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ValueToString.c +++ b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ValueToString.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -155,6 +155,7 @@ Returns: Count = 0; ValueCharNum = 0; ValueIsNegative = FALSE; + Remainder = 0; if (Width > CHARACTER_NUMBER_FOR_VALUE - 1) { Width = CHARACTER_NUMBER_FOR_VALUE - 1; diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Print/Print.c b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Print/Print.c index b854cbe34e..55c0a043d4 100644 --- a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Print/Print.c +++ b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Print/Print.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -527,6 +527,7 @@ Returns: BufferPtr = Buffer; Count = 0; NumberCount = 0; + Remainder = 0; if (Value < 0) { Negative = TRUE; diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/Ia32/RuntimeLib.c b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/Ia32/RuntimeLib.c index 2b681224ca..727e6636b9 100644 --- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/Ia32/RuntimeLib.c +++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/Ia32/RuntimeLib.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -114,7 +114,7 @@ Returns: if (GET_HOB_TYPE (GuidHob) == EFI_HOB_TYPE_GUID_EXTENSION) { if (EfiCompareGuid (ProtocolGuid, &GuidHob.Guid->Name)) { Status = EFI_SUCCESS; - *Interface = (VOID *) *(UINTN *) ((UINT8 *) (&GuidHob.Guid->Name) + sizeof (EFI_GUID)); + *Interface = (VOID *) *(UINTN *) (GuidHob.Guid + 1); } } diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/X64/RuntimeLib.c b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/X64/RuntimeLib.c index a796708fbc..75e69784fa 100644 --- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/X64/RuntimeLib.c +++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/X64/RuntimeLib.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.
+Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -114,7 +114,7 @@ Returns: if (GET_HOB_TYPE (GuidHob) == EFI_HOB_TYPE_GUID_EXTENSION) { if (EfiCompareGuid (ProtocolGuid, &GuidHob.Guid->Name)) { Status = EFI_SUCCESS; - *Interface = (VOID *) *(UINTN *) ((UINT8 *) (&GuidHob.Guid->Name) + sizeof (EFI_GUID)); + *Interface = (VOID *) *(UINTN *) (GuidHob.Guid + 1); } } -- cgit v1.2.3