diff options
Diffstat (limited to 'MdeModulePkg/Universal/Network/ArpDxe')
-rw-r--r-- | MdeModulePkg/Universal/Network/ArpDxe/ArpImpl.c | 8 |
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) {
|