Sync one bug on PxeBC module from R8.
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 6 Sep 2007 05:16:08 +0000 (05:16 +0000)
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 6 Sep 2007 05:16:08 +0000 (05:16 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3782 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Network/PxeBcDxe/Pxe_bc_dhcp.c
MdeModulePkg/Universal/Network/PxeBcDxe/Pxe_bc_mtftp.c

index 3e04c0d..a61b6ac 100644 (file)
@@ -1421,7 +1421,7 @@ DeclineOffer (
     OP_PAD\r
     );\r
   DHCPDECLINEoptions.DhcpMessageType.Type = DHCPDECLINE;\r
-  CopyMem (&DHCPDECLINEoptions.OpDeclineEnd, &DHCP_REQ_OPTIONS, sizeof (struct requestopendstr));\r
+  CopyMem (&DHCPDECLINEoptions.OpDeclineEnd, &DHCP_REQ_OPTIONS, sizeof (DHCPDECLINEoptions.OpDeclineEnd));\r
 \r
   {\r
     EFI_IP_ADDRESS  TmpIp;\r
@@ -1729,8 +1729,7 @@ TryFinishDORA (
   //\r
   DhcpRxBuf = &DHCPV4_ACK_BUFFER;\r
   DHCPV4_OPTIONS_BUFFER.DhcpMessageType.Type  = DHCPREQUEST;\r
-  CopyMem (&DHCP_REQ_OPTIONS, &RequestOpEndStr, sizeof (RequestOpEndStr));\r
-//  DHCP_REQ_OPTIONS = RequestOpEndStr;\r
+  CopyMem (&DHCP_REQ_OPTIONS, &RequestOpEndStr, sizeof (DHCP_REQ_OPTIONS));\r
   DHCP_REQ_OPTIONS.OpReqIP.Ip = *(EFI_IPv4_ADDRESS *) &RxBuf[OfferIx].u.Dhcpv4.yiaddr;\r
 \r
   CopyMem (\r
index 6a42646..b065a53 100644 (file)
@@ -778,7 +778,7 @@ MtftpListen (
   //\r
   do {\r
     if ((SaveReplyLen = ReplyLen) > BufferSize) {\r
-      SaveReplyLen = (UINTN) BufferSize;\r
+      SaveReplyLen = 0;\r
     }\r
 \r
     /* %%TBD - add big block number support */\r
@@ -1818,8 +1818,10 @@ PxeBcMtftp (
     *(PacketSizePtr = &PacketSize) = MAX_TFTP_PKT_SIZE;\r
   }\r
 \r
-  if (*PacketSizePtr > *BufferSizePtr) {\r
-    *PacketSizePtr = (UINTN) *BufferSizePtr;\r
+  if ((*PacketSizePtr > *BufferSizePtr) &&\r
+    (Operation != EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE) &&\r
+    (Operation != EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE)) {\r
+    *PacketSizePtr = MAX ((UINTN) *BufferSizePtr, MIN_TFTP_PKT_SIZE);\r
   }\r
 \r
   if (*PacketSizePtr < MIN_TFTP_PKT_SIZE) {\r