DynamoRIO / DynamoRIO/drmemory
handle modules with short names matching system modules
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on May 04, 2012 11:38:23_
Parts of DrMem look for system dlls by short name only. E.g., syscall
processing looks for "kernel32.dll", "user32.dll", imm32.dll", "gdi32.dll",
and "ntdll.dll". Other parts of the code look for "ntdll.dll" but usually
at init time. This case covers ensuring nothing bad will happen if the app
loads its own dll of the same short name. while this is quite difficult
for the app to arrange at init time (imports not including path, KnownDlls,
etc.), we're moving toward supporting delayed instrumentation and attach,
and the syscall code looks for these in the module load event.
A quick test hits:
% bin/drmemory.exe -dr e:/src/dr/git/exports -batch -- e:/src/dr/test/fake_ntdll.exe
~~Dr.M~~ Dr. Memory version 1.4.831
~~Dr.M~~ Running ""e:\src\dr\test\fake_ntdll.exe""
~~Dr.M~~ ASSERT FAILURE (thread 3844): ..\src\drmemory\syscall_windows.c:962: info->start == ntdll_base (duplicate ntdll?)
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=883_
Contributor guide
Assessment
This issue has not been assessed yet.