summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-21 09:39:26 +0000
committerqianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524>2010-05-21 09:39:26 +0000
commita167ecb13fc20bf4a2a45ef9aeda976e0498bf61 (patch)
tree2f3e29eeb4627bc48004a5436b64800acda8281f
parentce5fad41516804f34d52ebb27808255e1263fd0e (diff)
downloadedk2-platforms-a167ecb13fc20bf4a2a45ef9aeda976e0498bf61.tar.xz
Fixed the issue of that IP4driver can’t correctly reassemble the Out of Sequence Fragments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10537 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
index 66c8f4ad6a..d888e18e4c 100644
--- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
+++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Input.c
@@ -292,7 +292,7 @@ Ip4Reassemble (
// check whether THIS.Start < PREV.End for overlap. If two fragments
// overlaps, trim the overlapped part off THIS fragment.
//
- if ((Prev = Cur->ForwardLink) != Head) {
+ if ((Cur != Head) && ((Prev = Cur->BackLink) != Head)) {
Fragment = NET_LIST_USER_STRUCT (Prev, NET_BUF, List);
Node = IP4_GET_CLIP_INFO (Fragment);