diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c
index dc77d256f8..93f3bfa5ba 100644
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c
@@ -1,7 +1,7 @@
/** @file
This implementation of EFI_PXE_BASE_CODE_PROTOCOL and EFI_LOAD_FILE_PROTOCOL.
- Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 2007 - 2018, 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
@@ -2349,27 +2349,23 @@ EfiPxeLoadFile (
EFI_STATUS Status;
EFI_STATUS MediaStatus;
- if (FilePath == NULL || !IsDevicePathEnd (FilePath)) {
+ if (This == NULL || BufferSize == NULL || FilePath == NULL || !IsDevicePathEnd (FilePath)) {
return EFI_INVALID_PARAMETER;
}
+ //
+ // Only support BootPolicy
+ //
+ if (!BootPolicy) {
+ return EFI_UNSUPPORTED;
+ }
+
VirtualNic = PXEBC_VIRTUAL_NIC_FROM_LOADFILE (This);
Private = VirtualNic->Private;
PxeBc = &Private->PxeBc;
UsingIpv6 = FALSE;
Status = EFI_DEVICE_ERROR;
- if (This == NULL || BufferSize == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- //
- // Only support BootPolicy
- //
- if (!BootPolicy) {
- return EFI_UNSUPPORTED;
- }
-
//
// Check media status before PXE start
//