[FREELDR] Don't insert a driver into the BootDriver list twice (#755)
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 18 Aug 2018 14:41:30 +0000 (16:41 +0200)
committerGitHub <noreply@github.com>
Sat, 18 Aug 2018 14:41:30 +0000 (16:41 +0200)
commit81a9ce44e9a1945c069e26cc7cd48c3dc91645c8
treec01dd241c4e331131de68a765afc33431f277d17
parentdf849213a26763b8a251e04bdb4ce16bd99e5538
[FREELDR] Don't insert a driver into the BootDriver list twice (#755)

This happened for the livecd, where the cdfs driver was inserted twice - once since it is the driver for the boot device, and the 2nd time, because it was specified in the registry - which was then initialized twice by the kernel, leading to a name conflict when trying to create another device object, which resulted in the newly created device object to be dereferenced again and the driver unloaded. This can be seen from the debug message "(ntoskrnl\mm\ARM3\sysldr.c:955) Leaking driver: cdfs.sys"
boot/freeldr/freeldr/ntldr/wlregistry.c