Actually, I removed the hack from IopCreateDriver, and added a loop to prevent creation of drivers with the same name (which actually have no impact on the servicekeynode).
What is the real cause of a double free? And which hack are you referring to in IopCreateDriver?
WBR, Aleksey Bragin.
On May 25, 2007, at 9:10 PM, dgorbachev@svn.reactos.org wrote:
Author: dgorbachev Date: Fri May 25 21:10:11 2007 New Revision: 26893
URL: http://svn.reactos.org/svn/reactos?rev=26893&view=rev Log: Do not free the string twice.
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/driver.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/ iomgr/driver.c?rev=26893&r1=26892&r2=26893&view=diff ====================================================================== ======== --- trunk/reactos/ntoskrnl/io/iomgr/driver.c (original) +++ trunk/reactos/ntoskrnl/io/iomgr/driver.c Fri May 25 21:10:11 2007 @@ -79,12 +79,14 @@ ExFreePool(DriverObject->DriverName.Buffer); }
+#if 0 /* See a bit of hack in IopCreateDriver */