Fix incorrect error handling when PXE boot timeout.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8675 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
gikidy 2009-06-29 03:42:33 +00:00
parent 9c10bff352
commit 39941daf90

View File

@ -2639,7 +2639,7 @@ EfiPxeLoadFile (
if (sizeof (UINTN) < sizeof (UINT64) && (TmpBufSize > 0xFFFFFFFF)) { if (sizeof (UINTN) < sizeof (UINT64) && (TmpBufSize > 0xFFFFFFFF)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
} else if (*BufferSize >= (UINTN) TmpBufSize && Buffer != NULL) { } else if (TmpBufSize > 0 && *BufferSize >= (UINTN) TmpBufSize && Buffer != NULL) {
*BufferSize = (UINTN) TmpBufSize; *BufferSize = (UINTN) TmpBufSize;
Status = PxeBc->Mtftp ( Status = PxeBc->Mtftp (
PxeBc, PxeBc,
@ -2653,7 +2653,7 @@ EfiPxeLoadFile (
NULL, NULL,
FALSE FALSE
); );
} else { } else if (TmpBufSize > 0) {
*BufferSize = (UINTN) TmpBufSize; *BufferSize = (UINTN) TmpBufSize;
Status = EFI_BUFFER_TOO_SMALL; Status = EFI_BUFFER_TOO_SMALL;
} }