NdisQueryPacket(IPPacket->NdisPacket, NULL, NULL, NULL, &Length);
Length -= MaxLLHeaderSize;
Buffer = exAllocatePool(NonPagedPool, Length);
- Length = CopyPacketToBuffer(Buffer, IPPacket->NdisPacket, MaxLLHeaderSize, Length);
- DisplayTCPHeader(Buffer, Length);
- exFreePool(Buffer);
+ if (Buffer) {
+ Length = CopyPacketToBuffer(Buffer, IPPacket->NdisPacket, MaxLLHeaderSize, Length);
+ DisplayTCPHeader(Buffer, Length);
+ exFreePool(Buffer);
+ }
} else {
Buffer = IPPacket->Header;
Length = IPPacket->ContigSize;
NTSTATUS Status = STATUS_SUCCESS;
SOCKADDR_IN AddressToBind;
- TI_DbgPrint(DEBUG_TCP,("TCPListen started\n"));
-
- TI_DbgPrint(DEBUG_TCP,("Connection->SocketContext %x\n",
- Connection->SocketContext));
+ TcpipRecursiveMutexEnter( &TCPLock, TRUE );
ASSERT(Connection);
ASSERT_KM_POINTER(Connection->SocketContext);
ASSERT_KM_POINTER(Connection->AddressFile);
- TcpipRecursiveMutexEnter( &TCPLock, TRUE );
+ TI_DbgPrint(DEBUG_TCP,("TCPListen started\n"));
+
+ TI_DbgPrint(DEBUG_TCP,("Connection->SocketContext %x\n",
+ Connection->SocketContext));
AddressToBind.sin_family = AF_INET;
memcpy( &AddressToBind.sin_addr,
so = head->so_q;
inp = so ? (struct inpcb *)so->so_pcb : NULL;
- if( inp ) {
+ if( inp && name ) {
((struct sockaddr_in *)AddrOut)->sin_addr.s_addr =
inp->inp_faddr.s_addr;
((struct sockaddr_in *)AddrOut)->sin_port = inp->inp_fport;
}
OS_DbgPrint(OSK_MID_TRACE,("error = %d\n", error));
- if( FinishAccepting ) {
+ if( FinishAccepting && so ) {
head->so_q = so->so_q;
head->so_qlen--;