[NDIS] NdisOpenFile: close file locally, as we don't need it later

Remove now unused field FileHandle in NDIS_HANDLE_OBJECT structure.
This commit is contained in:
Hervé Poussineau 2025-06-28 13:47:26 +02:00
parent e2904d3baf
commit 7b9ef6b390

View file

@ -119,7 +119,6 @@ NdisInterlockedRemoveHeadList(
typedef struct _NDIS_HANDLE_OBJECT typedef struct _NDIS_HANDLE_OBJECT
{ {
HANDLE FileHandle;
BOOLEAN Mapped; BOOLEAN Mapped;
ULONG FileLength; ULONG FileLength;
PVOID MapBuffer; PVOID MapBuffer;
@ -203,17 +202,8 @@ NdisCloseFile(
FileHandleObject = NDIS_HANDLE_TO_POBJECT(FileHandle); FileHandleObject = NDIS_HANDLE_TO_POBJECT(FileHandle);
ASSERT ( FileHandleObject->FileHandle );
if ( FileHandleObject->Mapped )
NdisUnmapFile ( FileHandle );
if ( FileHandleObject->MapBuffer ) if ( FileHandleObject->MapBuffer )
ExFreePool ( FileHandleObject->MapBuffer ); ExFreePool ( FileHandleObject->MapBuffer );
ZwClose ( FileHandleObject->FileHandle );
memset ( FileHandleObject, 0, sizeof(NDIS_HANDLE_OBJECT) );
ExFreePool ( FileHandleObject ); ExFreePool ( FileHandleObject );
} }
@ -349,6 +339,10 @@ NdisOpenFile(
} }
cleanup: cleanup:
if ( NtFileHandle != NULL )
{
ZwClose( NtFileHandle );
}
if ( FullFileName.Buffer != NULL ) if ( FullFileName.Buffer != NULL )
{ {
ExFreePool ( FullFileName.Buffer ); ExFreePool ( FullFileName.Buffer );
@ -366,7 +360,6 @@ cleanup:
} }
else else
{ {
FileHandleObject->FileHandle = NtFileHandle;
*FileHandle = NDIS_POBJECT_TO_HANDLE(FileHandleObject); *FileHandle = NDIS_POBJECT_TO_HANDLE(FileHandleObject);
*FileLength = NtFileLength; *FileLength = NtFileLength;
} }