Author: pschweitzer
Date: Wed Feb 29 19:43:35 2012
New Revision: 55932
URL: 
http://svn.reactos.org/svn/reactos?rev=55932&view=rev
Log:
[NTOSKRNL]
Fix a bug in FsRtlNotifyCleanup: only remove notification from list when we're about
to complete it.
Modified:
    trunk/reactos/ntoskrnl/fsrtl/notify.c
Modified: trunk/reactos/ntoskrnl/fsrtl/notify.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/fsrtl/notify.c?re…
==============================================================================
--- trunk/reactos/ntoskrnl/fsrtl/notify.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/fsrtl/notify.c [iso-8859-1] Wed Feb 29 19:43:35 2012
@@ -182,12 +182,13 @@
             {
                 FsRtlNotifyCompleteIrpList(NotifyChange, STATUS_NOTIFY_CLEANUP);
             }
-            /* Remove from the list */
-            RemoveEntryList(&NotifyChange->NotifyList);
-
-            /* Downcrease reference number and if 0 is reached, it's time to do
complete cleanup */
+
+            /* Decrease reference number and if 0 is reached, it's time to do
complete cleanup */
             if (!InterlockedDecrement((PLONG)&(NotifyChange->ReferenceCount)))
             {
+                /* Remove it from the notifications list */
+                RemoveEntryList(&NotifyChange->NotifyList);
+
                 /* In case there was an allocated buffer, free it */
                 if (NotifyChange->AllocatedBuffer)
                 {