ExfInterlockedInsertTailList(): Permit uninitialized (zeroed) ListHead
[reactos.git] / ntoskrnl / ex / list.c
index d4b0e1c..55fdec5 100644 (file)
@@ -295,6 +295,10 @@ ExfInterlockedInsertTailList(IN PLIST_ENTRY ListHead,
     {
       Old = ListHead->Blink;
     }
+#ifdef LIBCAPTIVE
+  if (!ListHead->Flink && !ListHead->Blink)
+    InitializeListHead(ListHead);
+#endif /* LIBCAPTIVE */
   InsertTailList(ListHead,ListEntry);
   KeReleaseSpinLock(Lock,oldlvl);