diff --git a/ntoskrnl/fsrtl/filtrctx.c b/ntoskrnl/fsrtl/filtrctx.c index 9bd616fad7a..a71475a93bc 100644 --- a/ntoskrnl/fsrtl/filtrctx.c +++ b/ntoskrnl/fsrtl/filtrctx.c @@ -176,6 +176,7 @@ FsRtlInsertPerFileObjectContext(IN PFILE_OBJECT FileObject, IN PFSRTL_PER_FILEOBJECT_CONTEXT Ptr) { PFILE_OBJECT_FILTER_CONTEXTS FOContext = NULL; + NTSTATUS Status; if (!FileObject) { @@ -203,7 +204,8 @@ FsRtlInsertPerFileObjectContext(IN PFILE_OBJECT FileObject, InitializeListHead(&(FOContext->FilterContexts)); /* Set it */ - if (!IoChangeFileObjectFilterContext(FileObject, FOContext, TRUE)) + Status = IoChangeFileObjectFilterContext(FileObject, FOContext, TRUE); + if (!NT_SUCCESS(Status)) { /* If it fails, it means that someone else has set it in the meanwhile */ ExFreePoolWithTag(FOContext, 'FOCX');