diff --git a/drivers/network/tcpip/include/precomp.h b/drivers/network/tcpip/include/precomp.h index b2cb75063dc..a96c4a51c3e 100644 --- a/drivers/network/tcpip/include/precomp.h +++ b/drivers/network/tcpip/include/precomp.h @@ -16,5 +16,6 @@ #include #include #include +#include #endif /* _TCPIP_PCH_ */ diff --git a/drivers/network/tcpip/tcpip/fileobjs.c b/drivers/network/tcpip/tcpip/fileobjs.c index f050a09b0ca..614f1e11479 100644 --- a/drivers/network/tcpip/tcpip/fileobjs.c +++ b/drivers/network/tcpip/tcpip/fileobjs.c @@ -396,7 +396,6 @@ NTSTATUS FileOpenAddress( PVOID Options) { PADDRESS_FILE AddrFile; - PTEB Teb; TI_DbgPrint(MID_TRACE, ("Called (Proto %d).\n", Protocol)); @@ -431,10 +430,15 @@ NTSTATUS FileOpenAddress( AddrFile->HeaderIncl = 1; AddrFile->ProcessId = PsGetCurrentProcessId(); - Teb = PsGetCurrentThreadTeb(); - if (Teb != NULL) { - AddrFile->SubProcessTag = Teb->SubProcessTag; - } + _SEH2_TRY { + PTEB Teb; + + Teb = PsGetCurrentThreadTeb(); + if (Teb != NULL) + AddrFile->SubProcessTag = Teb->SubProcessTag; + } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { + AddrFile->SubProcessTag = 0; + } _SEH2_END; KeQuerySystemTime(&AddrFile->CreationTime);