networkprotocols/tcpipv4v6prt/src/tcp.cpp
branchRCL_3
changeset 20 7e41d162e158
parent 0 af10295192d8
child 21 abbed5a4b42a
--- a/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Thu Jul 15 20:25:02 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Thu Aug 19 11:25:30 2010 +0300
@@ -92,6 +92,11 @@
 	iRecvBuf = GetIniValue(TCPIP_INI_TCP, TCPIP_INI_TCP_RECV_BUF,
 			KTcpDefaultRcvWnd, KTcpMinimumWindow, KTcpMaximumWindow, ETrue); 
 	
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+	iRecvBufFromIniFile = GetIniValue(TCPIP_INI_TCP, TCPIP_INI_TCP_RECV_BUF,
+            KTcpDefaultRcvWnd, KTcpMinimumWindow, KTcpMaximumWindow, ETrue); 
+#endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+	
 	iSendBuf = GetIniValue(TCPIP_INI_TCP, TCPIP_INI_TCP_SEND_BUF,
 			KTcpDefaultSndWnd, KTcpMinimumWindow, KTcpMaximumWindow, ETrue);
 
@@ -258,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