From 8aa496d87573961e96cfb2c44b165958ac4ea1c2 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 11 Jul 2011 02:44:32 +0000 Subject: [PATCH] [OSKITTCP] - Fix a crash that occurs during BitTorrent downloads - The official BitTorrent client works now svn path=/trunk/; revision=52627 --- reactos/lib/drivers/oskittcp/oskittcp/interface.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reactos/lib/drivers/oskittcp/oskittcp/interface.c b/reactos/lib/drivers/oskittcp/oskittcp/interface.c index d28ffa2e148..c32166d201d 100644 --- a/reactos/lib/drivers/oskittcp/oskittcp/interface.c +++ b/reactos/lib/drivers/oskittcp/oskittcp/interface.c @@ -550,6 +550,12 @@ int OskitTCPSetAddress( void *socket, OSKLock(); inp = (struct inpcb *)so->so_pcb; + if (!inp) + { + OSKUnlock(); + return OSK_ESHUTDOWN; + } + inp->inp_laddr.s_addr = LocalAddress; inp->inp_lport = LocalPort; inp->inp_faddr.s_addr = RemoteAddress; @@ -572,6 +578,12 @@ int OskitTCPGetAddress( void *socket, OSKLock(); inp = (struct inpcb *)so->so_pcb; + if (!inp) + { + OSKUnlock(); + return OSK_ESHUTDOWN; + } + *LocalAddress = inp->inp_laddr.s_addr; *LocalPort = inp->inp_lport; *RemoteAddress = inp->inp_faddr.s_addr;