ntdll: Do not segfault with snoop for files with a broken
exporttable
Detlef Riekenberg
wine.dev at web.de
Mon Sep 10 10:30:29 CDT 2007
On So, 2007-09-09 at 13:02 +0900, Dmitry Timoshkov wrote:
> "Detlef Riekenberg" <wine.dev at 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.
--
By by ... Detlef
More information about the wine-devel
mailing list