--- 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