diff --git a/reactos/drivers/network/afd/afd/lock.c b/reactos/drivers/network/afd/afd/lock.c index cb226727ba5..d8ada70d5a2 100644 --- a/reactos/drivers/network/afd/afd/lock.c +++ b/reactos/drivers/network/afd/afd/lock.c @@ -187,6 +187,9 @@ PAFD_HANDLE LockHandles( PAFD_HANDLE HandleArray, UINT HandleCount ) { (PVOID*)&FileObjects[i].Handle, NULL ); } + + if( !NT_SUCCESS(Status) ) + FileObjects[i].Handle = 0; } if( !NT_SUCCESS(Status) ) { diff --git a/reactos/drivers/network/afd/afd/tdi.c b/reactos/drivers/network/afd/afd/tdi.c index 2567ce14bc2..4d023e75ef3 100644 --- a/reactos/drivers/network/afd/afd/tdi.c +++ b/reactos/drivers/network/afd/afd/tdi.c @@ -137,14 +137,17 @@ static NTSTATUS TdiOpenDevice( if (!NT_SUCCESS(Status)) { AFD_DbgPrint(MIN_TRACE, ("ObReferenceObjectByHandle() failed with status (0x%X).\n", Status)); ZwClose(*Handle); - *Handle = NULL; } else { AFD_DbgPrint(MAX_TRACE, ("Got handle (0x%X) Object (0x%X)\n", *Handle, *Object)); } } else { AFD_DbgPrint(MIN_TRACE, ("ZwCreateFile() failed with status (0x%X)\n", Status)); + } + + if (!NT_SUCCESS(Status)) { *Handle = NULL; + *Object = NULL; } return Status;