summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/Network/ArpDxe
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/Network/ArpDxe')
-rw-r--r--MdeModulePkg/Universal/Network/ArpDxe/ArpImpl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/Network/ArpDxe/ArpImpl.c b/MdeModulePkg/Universal/Network/ArpDxe/ArpImpl.c
index 93b4c10200..b46c7047ee 100644
--- a/MdeModulePkg/Universal/Network/ArpDxe/ArpImpl.c
+++ b/MdeModulePkg/Universal/Network/ArpDxe/ArpImpl.c
@@ -54,7 +54,7 @@ ArpInitInstance (
Instance->Signature = ARP_INSTANCE_DATA_SIGNATURE;
Instance->ArpService = ArpService;
- CopyMem (&Instance->ArpProto, &mEfiArpProtocolTemplate, sizeof (ARP_SERVICE_DATA));
+ CopyMem (&Instance->ArpProto, &mEfiArpProtocolTemplate, sizeof (Instance->ArpProto));
Instance->Configured = FALSE;
Instance->Destroyed = FALSE;
@@ -263,7 +263,9 @@ ArpOnFrameRcvd (
}
}
- NetListRemoveEntry (&CacheEntry->List);
+ if (!IsListEmpty (&CacheEntry->List)) {
+ NetListRemoveEntry (&CacheEntry->List);
+ }
//
// Fill the addresses into the CacheEntry.
@@ -912,7 +914,7 @@ ArpConfigureInstance (
//
// Save the configuration.
//
- CopyMem (OldConfigData, ConfigData, sizeof (EFI_ARP_CONFIG_DATA));
+ CopyMem (OldConfigData, ConfigData, sizeof (*OldConfigData));
OldConfigData->StationAddress = NetAllocatePool (OldConfigData->SwAddressLength);
if (OldConfigData->StationAddress == NULL) {