]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.c
1. Fixed one bug in Undi driver.
[mirror_edk2.git] / MdeModulePkg / Library / DxeIpIoLib / DxeIpIoLib.c
index 98df75df11ce78d380ec5c30564676a7666f9bd2..cc869717dd047af7552b8c29579d2180a35838ea 100644 (file)
@@ -29,6 +29,7 @@ Abstract:
 #include <Library/DebugLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
 \r
 \r
 #define NET_PROTO_HDR(Buf, Type)  ((Type *) ((Buf)->BlockOp[0].Head))\r
@@ -416,13 +417,13 @@ IpIoCreateSndEntry (
     //\r
     // Set the fields of OverrideData\r
     //\r
-    *OverrideData = * (EFI_IP4_OVERRIDE_DATA *) Override;\r
+    NetCopyMem (OverrideData, Override, sizeof (*OverrideData));\r
   }\r
 \r
   //\r
   // Set the fields of TxData\r
   //\r
-  EFI_IP4 (TxData->DestinationAddress)  = Dest;\r
+  NetCopyMem (&TxData->DestinationAddress, &Dest, sizeof (EFI_IPv4_ADDRESS));\r
   TxData->OverrideData                  = OverrideData;\r
   TxData->OptionsLength                 = 0;\r
   TxData->OptionsBuffer                 = NULL;\r
@@ -761,7 +762,6 @@ IpIoOpen (
 {\r
   EFI_STATUS        Status;\r
   EFI_IP4_PROTOCOL  *Ip;\r
-  EFI_IPv4_ADDRESS  ZeroIp;\r
 \r
   if (IpIo->IsConfigured) {\r
     return EFI_ACCESS_DENIED;\r
@@ -782,8 +782,7 @@ IpIoOpen (
   // (0.0.0.0, 0.0.0.0, 0.0.0.0). Delete this statement if Ip modified\r
   // its code\r
   //\r
-  EFI_IP4 (ZeroIp) = 0;\r
-  Status = Ip->Routes (Ip, TRUE, &ZeroIp, &ZeroIp, &ZeroIp);\r
+  Status = Ip->Routes (Ip, TRUE, &mZeroIp4Addr, &mZeroIp4Addr, &mZeroIp4Addr);\r
 \r
   if (EFI_ERROR (Status) && (EFI_NOT_FOUND != Status)) {\r
     return Status;\r
@@ -1147,8 +1146,8 @@ IpIoConfigIp (
       Ip4ConfigData->SubnetMask     = Ip4ModeData.ConfigData.SubnetMask;\r
     }\r
 \r
-    IpInfo->Addr       = EFI_IP4 (Ip4ConfigData->StationAddress);\r
-    IpInfo->SubnetMask = EFI_IP4 (Ip4ConfigData->SubnetMask);\r
+    NetCopyMem (&IpInfo->Addr, &Ip4ConfigData->StationAddress, sizeof (IP4_ADDR));\r
+    NetCopyMem (&IpInfo->SubnetMask, &Ip4ConfigData->SubnetMask, sizeof (IP4_ADDR));\r
 \r
     Status = Ip->Receive (Ip, &IpInfo->DummyRcvToken);\r
     if (EFI_ERROR (Status)) {\r