From 4ac4deb706fcd6595d5ee96a3b322f37026561a3 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Fri, 11 Jun 2010 07:47:06 +0000 Subject: Add more check to make sure code run safely. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10574 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/Pei/MemoryStatusCode/MemoryStatusCode.c | 8 +++----- .../StatusCode/Lib/BsSerialStatusCode/BsSerialStatusCode.c | 6 +++--- .../StatusCode/Lib/RtMemoryStatusCode/RtMemoryStatusCode.c | 5 +++-- .../Lib/RtPlatformStatusCode/Nt32/RtPlatformStatusCode.c | 6 +++--- 4 files changed, 12 insertions(+), 13 deletions(-) (limited to 'EdkCompatibilityPkg/Sample') diff --git a/EdkCompatibilityPkg/Sample/Platform/Generic/MonoStatusCode/Library/Pei/MemoryStatusCode/MemoryStatusCode.c b/EdkCompatibilityPkg/Sample/Platform/Generic/MonoStatusCode/Library/Pei/MemoryStatusCode/MemoryStatusCode.c index c15a930075..dd4128f365 100644 --- a/EdkCompatibilityPkg/Sample/Platform/Generic/MonoStatusCode/Library/Pei/MemoryStatusCode/MemoryStatusCode.c +++ b/EdkCompatibilityPkg/Sample/Platform/Generic/MonoStatusCode/Library/Pei/MemoryStatusCode/MemoryStatusCode.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2010, 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 @@ -289,8 +289,7 @@ Returns: &mPpiListStatusCode ); if (EFI_ERROR (Status)) { - EFI_BREAKPOINT (); - return ; + EFI_DEADLOOP (); } // // Publish a GUIDed HOB that contains a pointer to the status code PPI @@ -306,8 +305,7 @@ Returns: sizeof (VOID *) ); if (EFI_ERROR (Status)) { - EFI_BREAKPOINT (); - return ; + EFI_DEADLOOP (); } } } diff --git a/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/BsSerialStatusCode/BsSerialStatusCode.c b/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/BsSerialStatusCode/BsSerialStatusCode.c index ed96cfbb03..15603cb645 100644 --- a/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/BsSerialStatusCode/BsSerialStatusCode.c +++ b/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/BsSerialStatusCode/BsSerialStatusCode.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2010, 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 @@ -2073,8 +2073,8 @@ Returns: { UINTN Current; - ASSERT (Table); - ASSERT (Token); + ASSERT (Table != NULL); + ASSERT (Token != NULL); Current = 0; *Token = 0; diff --git a/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtMemoryStatusCode/RtMemoryStatusCode.c b/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtMemoryStatusCode/RtMemoryStatusCode.c index d4c41961f5..9ee89b6071 100644 --- a/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtMemoryStatusCode/RtMemoryStatusCode.c +++ b/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtMemoryStatusCode/RtMemoryStatusCode.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2010, 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 @@ -124,6 +124,7 @@ Returns: // Locate the HOB that contains the PPI structure for the memory journal // We don't check for more than one. // + StatusCodeMemoryPpi = NULL; EfiLibGetSystemConfigurationTable ( &gEfiHobListGuid, &HobList @@ -134,7 +135,7 @@ Returns: (VOID **) &StatusCodeMemoryPpi, NULL ); - if (EFI_ERROR (Status)) { + if (EFI_ERROR (Status) || (StatusCodeMemoryPpi == NULL)) { return ; } // diff --git a/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtPlatformStatusCode/Nt32/RtPlatformStatusCode.c b/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtPlatformStatusCode/Nt32/RtPlatformStatusCode.c index 9ec2198d35..f4c6426394 100644 --- a/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtPlatformStatusCode/Nt32/RtPlatformStatusCode.c +++ b/EdkCompatibilityPkg/Sample/Platform/Generic/RuntimeDxe/StatusCode/Lib/RtPlatformStatusCode/Nt32/RtPlatformStatusCode.c @@ -1,6 +1,6 @@ /*++ -Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2010, 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 @@ -133,11 +133,11 @@ Returns: // is connected. // mPeiReportStatusCode = NULL; - + Pointer = NULL; Status = EfiLibGetSystemConfigurationTable (&gEfiHobListGuid, &HobList); if (!EFI_ERROR (Status)) { Status = GetNextGuidHob (&HobList, &gEfiStatusCodeRuntimeProtocolGuid, &Pointer, NULL); - if (!EFI_ERROR (Status)) { + if (!EFI_ERROR (Status) && (Pointer != NULL)) { mPeiReportStatusCode = (EFI_REPORT_STATUS_CODE) (*(UINTN *) Pointer); } } -- cgit v1.2.3