kernel32: Prevent second loading of a library with specified path.
Alexandre Julliard
julliard at winehq.org
Fri Jun 5 08:39:22 CDT 2009
Alexander Morozov <amorozov at etersoft.ru> writes:
> Changelog
> Prevent second loading of a library with specified path
>
> This patch fixes bug #18775. I tested WinXP and Win2003.
>
> When a library have long name (> 8 symbols before extension) an application
> can run LoadLibrary(long name) and later LoadLibrary(8.3 name).
> In some cases Windows will load image second time, in other it will return
> pointer to already loaded image.
> I found that Windows does not load library second time in these cases:
> 1) c:\dir\libliblib.dll and c:\dir\LIBLIB~1.DLL
> 2) \dir\libliblib.dll and \dir\LIBLIB~1.DLL
> 3) .\libliblib.dll and .\LIBLIB~1.DLL
> 4) dir\libliblib.dll and dir\LIBLIB~1.DLL
> and load it in cases:
> 5) libliblib.dll and LIBLIB~1.DLL
> 6) c:libliblib.dll and c:LIBLIB~1.DLL
This should most likely be done in ntdll. Also please add tests for
these different cases.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list