Don't keep main exe and dlls handles open when the file is on
removable media.
diff --git a/loader/pe_image.c b/loader/pe_image.c
index 8211c51..cafea32 100644
--- a/loader/pe_image.c
+++ b/loader/pe_image.c
@@ -667,6 +667,12 @@
if (nt->FileHeader.Characteristics & IMAGE_FILE_DLL)
{
+ if (hFile)
+ {
+ UINT drive_type = GetDriveTypeA( wm->short_filename );
+ /* don't keep the file handle open on removable media */
+ if (drive_type == DRIVE_REMOVABLE || drive_type == DRIVE_CDROM) hFile = 0;
+ }
SERVER_START_REQ( load_dll )
{
req->handle = hFile;