networkprotocols/tcpipv4v6prt/src/tcp.cpp
changeset 61 2fc972553898
parent 37 052078dda061
--- a/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Mon Aug 30 12:20:22 2010 +0530
+++ b/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Mon Sep 13 16:12:41 2010 +0530
@@ -263,6 +263,13 @@
 #ifdef _LOG
 		LogPacket('<', seg, info, info->iOffset);
 		pkt.Set(seg, info->iOffset, pkt.iHdr->HeaderLength()); // LogPacket() may have realigned the header.
+		
+		if (!pkt.iHdr)
+		    {
+		    LOG(Log::Printf(_L("\ttcp Process() header alignment failed. Packet discarded")));
+		    seg.Free();
+		    return;
+		    }
 #endif
 
 		// Verify TCP checksum