* globals.cc (ro_u_dll): New R/O unicode string.

* syscalls.cc (nt_path_has_executable_suffix): Add ro_u_dll to
	blessed_executable_suffixes array.  Explain why.
This commit is contained in:
Corinna Vinschen 2009-11-21 12:44:13 +00:00
parent fe6f5bbeaa
commit d9e9c7b5a7
3 changed files with 13 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-11-21 Corinna Vinschen <corinna@vinschen.de>
* globals.cc (ro_u_dll): New R/O unicode string.
* syscalls.cc (nt_path_has_executable_suffix): Add ro_u_dll to
blessed_executable_suffixes array. Explain why.
2009-11-18 Corinna Vinschen <corinna@vinschen.de>
* flock.cc (fhandler_disk_file::lock): Disable a shortcut from the

View File

@ -90,6 +90,7 @@ char *old_title;
UNICODE_STRING _RDATA ro_u_empty = _ROU (L"");
UNICODE_STRING _RDATA ro_u_lnk = _ROU (L".lnk");
UNICODE_STRING _RDATA ro_u_exe = _ROU (L".exe");
UNICODE_STRING _RDATA ro_u_dll = _ROU (L".dll");
UNICODE_STRING _RDATA ro_u_com = _ROU (L".com");
UNICODE_STRING _RDATA ro_u_scr = _ROU (L".scr");
UNICODE_STRING _RDATA ro_u_sys = _ROU (L".sys");

View File

@ -1651,6 +1651,12 @@ nt_path_has_executable_suffix (PUNICODE_STRING upath)
const PUNICODE_STRING blessed_executable_suffixes[] =
{
&ro_u_com,
&ro_u_dll, /* Messy, messy. Per MSDN, the GetBinaryType function is
supposed to return with ERROR_BAD_EXE_FORMAT. if the file
is a DLL. On 64-bit Windows, this works as expected for
32-bit and 64-bit DLLs. On 32-bit Windows this only works
for 32-bit DLLs. For 64-bit DLLs, 32-bit Windows returns
true with the type set to SCS_64BIT_BINARY. */
&ro_u_exe,
&ro_u_scr,
&ro_u_sys,