From 45295cf5a58578b84e5092c3a3dd145c069c1db5 Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Wed, 25 Jun 2014 06:51:36 +0000 Subject: [PATCH] Refine code to make it more safely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Jeff Fan git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15592 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Bus/Isa/IsaFloppyPei/FloppyPeim.c | 3 ++- .../BaseUefiTianoCustomDecompressLib.c | 3 ++- IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c | 2 ++ .../Universal/BdsDxe/BootMaint/BootOption.c | 9 +++------ .../FirmwareVolume/UpdateDriverDxe/UpdateDispatcher.c | 3 ++- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c index d1b7dcf416..765a46dd31 100644 --- a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c +++ b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyPei/FloppyPeim.c @@ -1,7 +1,7 @@ /** @file Floppy Peim to support Recovery function from Floppy device. -Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions @@ -1610,6 +1610,7 @@ FdcReadBlocks ( VOID *MemPage; FdcBlkIoDev = NULL; + ZeroMem (&MediaInfo, sizeof (EFI_PEI_BLOCK_IO_MEDIA)); if (This == NULL) { return EFI_INVALID_PARAMETER; diff --git a/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c b/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c index bcc9764100..e35c685ed8 100644 --- a/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c +++ b/IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c @@ -2,7 +2,7 @@ UEFI and Tiano Custom Decompress Library It will do Tiano or UEFI decompress with different verison parameter. -Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 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 @@ -323,6 +323,7 @@ ReadPTLen ( UINT16 Index; UINT32 Mask; + ASSERT (nn < NPT); // // Read Extra Set Code Length Array size // diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c index f816d4c39e..c58c6fd87f 100644 --- a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c @@ -864,6 +864,7 @@ BdsAddNonExistingLegacyBootOptions ( &BootOrderSize ); if (!EFI_ERROR (Status)) { + ASSERT (BootOrder != NULL); BbsIndex = Index; OptionNumber = BootOrder[BootOrderSize / sizeof (UINT16) - 1]; } @@ -4352,6 +4353,7 @@ BdsLibUpdateFvFileDevicePath ( NewDevicePath = DevicePathFromHandle (FoundFvHandle); EfiInitializeFwVolDevicepathNode (&FvFileNode, FileGuid); NewDevicePath = AppendDevicePathNode (NewDevicePath, (EFI_DEVICE_PATH_PROTOCOL *) &FvFileNode); + ASSERT (NewDevicePath != NULL); *DevicePath = NewDevicePath; return EFI_SUCCESS; } diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c index 591f884a94..e1a53135b5 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c @@ -1740,17 +1740,14 @@ GetLegacyDeviceOrder ( LegacyOrder = CallbackData->BmmFakeNvData.LegacyNET; OldData = CallbackData->BmmOldFakeNVData.LegacyNET; break; - - case FORM_SET_BEV_ORDER_ID: + + default: + ASSERT (PageIdList[Index] == FORM_SET_BEV_ORDER_ID); OptionMenu = (BM_MENU_OPTION *) &LegacyBEVMenu; BbsType = BBS_BEV_DEVICE; LegacyOrder = CallbackData->BmmFakeNvData.LegacyBEV; OldData = CallbackData->BmmOldFakeNVData.LegacyBEV; break; - - default: - DEBUG ((DEBUG_ERROR, "Invalid command ID for updating page!\n")); - break; } if (NULL != VarData) { diff --git a/IntelFrameworkModulePkg/Universal/FirmwareVolume/UpdateDriverDxe/UpdateDispatcher.c b/IntelFrameworkModulePkg/Universal/FirmwareVolume/UpdateDriverDxe/UpdateDispatcher.c index 99b8d3c358..e1f1b023dc 100644 --- a/IntelFrameworkModulePkg/Universal/FirmwareVolume/UpdateDriverDxe/UpdateDispatcher.c +++ b/IntelFrameworkModulePkg/Universal/FirmwareVolume/UpdateDriverDxe/UpdateDispatcher.c @@ -3,7 +3,7 @@ for the image to be programmed, and the flash area that is going to be programed. - Copyright (c) 2002 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2002 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions @@ -755,6 +755,7 @@ InitializeUpdateDriver ( if (EFI_ERROR (Status)) { return Status; } + ASSERT (ConfigData != NULL); // // Now find the update image. The update image should be put in a FV, and then -- 2.39.2