Refine code to make code run more safely.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11006 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
ydong10 2010-11-05 06:28:33 +00:00
parent 5475cd7e6f
commit fc48db0da0
1 changed files with 15 additions and 5 deletions

View File

@ -50,7 +50,7 @@ GatherStatistics(
MEASUREMENT_RECORD Measurement;
UINT64 Duration;
UINTN LogEntryKey;
UINTN TIndex;
INTN TIndex;
LogEntryKey = 0;
while ((LogEntryKey = GetPerformanceMeasurement (
@ -143,11 +143,14 @@ DumpAllTrace(
// Get Handle information
//
Size = 0;
HandleBuffer = NULL;
HandleBuffer = &TempHandle;
Status = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, &TempHandle);
if (Status == EFI_BUFFER_TOO_SMALL) {
HandleBuffer = AllocatePool (Size);
ASSERT (HandleBuffer != NULL);
if (HandleBuffer == NULL) {
return;
}
Status = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, HandleBuffer);
}
if (EFI_ERROR (Status)) {
@ -222,7 +225,9 @@ DumpAllTrace(
);
}
}
FreePool (HandleBuffer);
if (HandleBuffer != &TempHandle) {
FreePool (HandleBuffer);
}
}
/** Gather and print Raw Trace Records.
@ -457,11 +462,14 @@ ProcessHandles(
(StringPtr == NULL) ? ALit_UNKNOWN: StringPtr);
Size = 0;
HandleBuffer = NULL;
HandleBuffer = &TempHandle;
Status = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, &TempHandle);
if (Status == EFI_BUFFER_TOO_SMALL) {
HandleBuffer = AllocatePool (Size);
ASSERT (HandleBuffer != NULL);
if (HandleBuffer == NULL) {
return;
}
Status = gBS->LocateHandle (AllHandles, NULL, NULL, &Size, HandleBuffer);
}
if (EFI_ERROR (Status)) {
@ -520,7 +528,9 @@ ProcessHandles(
}
}
}
FreePool (HandleBuffer);
if (HandleBuffer != &TempHandle) {
FreePool (HandleBuffer);
}
return Status;
}