ShellPkg/UefiHandleParsingLib: Fix issue to pass static code checker

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
This commit is contained in:
Ruiyu Ni 2016-07-22 10:09:53 +08:00
parent 51686a7a29
commit 94fcb76b61
1 changed files with 11 additions and 2 deletions

View File

@ -2421,6 +2421,7 @@ ParseHandleDatabaseByRelationshipWithType (
*HandleType = AllocateZeroPool (*HandleCount * sizeof (UINTN));
if (*HandleType == NULL) {
SHELL_FREE_NON_NULL (*HandleBuffer);
*HandleCount = 0;
return EFI_OUT_OF_RESOURCES;
}
@ -2678,7 +2679,9 @@ ParseHandleDatabaseByRelationship (
// Allocate a handle buffer for the number of handles that matched the attributes in Mask
//
*MatchingHandleBuffer = AllocateZeroPool ((*MatchingHandleCount +1)* sizeof (EFI_HANDLE));
if (*MatchingHandleBuffer != NULL) {
if (*MatchingHandleBuffer == NULL) {
Status = EFI_OUT_OF_RESOURCES;
} else {
for (HandleIndex = 0, *MatchingHandleCount = 0
; HandleIndex < HandleCount
; HandleIndex++
@ -2697,7 +2700,7 @@ ParseHandleDatabaseByRelationship (
(*MatchingHandleBuffer)[*MatchingHandleCount] = NULL;
Status = EFI_SUCCESS;
} // *MatchingHandleBuffer != NULL (IF)
} // *MatchingHandleBuffer == NULL (ELSE)
} // MacthingHandleBuffer == NULL (ELSE)
} // *MatchingHandleCount == 0 (ELSE)
} // no error on ParseHandleDatabaseByRelationshipWithType
@ -2710,6 +2713,9 @@ ParseHandleDatabaseByRelationship (
FreePool (HandleType);
}
ASSERT ((MatchingHandleBuffer == NULL) ||
(*MatchingHandleCount == 0 && *MatchingHandleBuffer == NULL) ||
(*MatchingHandleCount != 0 && *MatchingHandleBuffer != NULL));
return Status;
}
@ -2801,6 +2807,9 @@ ParseHandleDatabaseForChildControllers(
} else {
FreePool(HandleBufferForReturn);
}
ASSERT ((MatchingHandleBuffer == NULL) ||
(*MatchingHandleCount == 0 && *MatchingHandleBuffer == NULL) ||
(*MatchingHandleCount != 0 && *MatchingHandleBuffer != NULL));
return (EFI_SUCCESS);
}