networkprotocols/tcpipv4v6prt/src/tcp.cpp
changeset 69 955592283707
parent 25 d15a50675083
--- a/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Fri Sep 17 08:38:11 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Mon Oct 04 02:45:20 2010 +0300
@@ -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