"Detlef Riekenberg" wine.dev@web.de wrote:
ntdll: Do not segfault with snoop for files with a broken export table
- /* Check for files with broken exports */
- if (exports->Characteristics ||
exports->MajorVersion ||
HIWORD(exports->NumberOfFunctions) ||
HIWORD(exports->NumberOfNames)) {
WARN_(snoop)("snoop disabled for bad module %p: 0x%x, %u, 0x%x, 0x%x\n", hmod,
exports->Characteristics, exports->MajorVersion,
exports->NumberOfFunctions, exports->NumberOfNames);
return;
- }
- TRACE_(snoop)("hmod=%p, name=%s\n", hmod, name);
It's still helpful to see the line "hmod=%p, name=%s\n" in the log before an error message.
On So, 2007-09-09 at 13:02 +0900, Dmitry Timoshkov wrote:
"Detlef Riekenberg" wine.dev@web.de wrote:
ntdll: Do not segfault with snoop for files with a broken export table
- /* Check for files with broken exports */
- if (exports->Characteristics ||
exports->MajorVersion ||
HIWORD(exports->NumberOfFunctions) ||
HIWORD(exports->NumberOfNames)) {
WARN_(snoop)("snoop disabled for bad module %p: 0x%x, %u, 0x%x, 0x%x\n", hmod,
exports->Characteristics, exports->MajorVersion,
exports->NumberOfFunctions, exports->NumberOfNames);
return;
- }
- TRACE_(snoop)("hmod=%p, name=%s\n", hmod, name);
It's still helpful to see the line "hmod=%p, name=%s\n" in the log before an error message.
Wine crash in the TRACE, because name is not a valid pointer. The affected module is part of the WARN - output. A GetModuleFileName for hmod can be done, but is that really needed?
The affected module is an exe, so deactivating snoop is not a Problem.