"Dmitry Timoshkov" <dmitry@baikal.ru> wrote: > Changelog: > Relax a bit PE consistence checks. > Return BINARY_DOS type if extended header was not recognized. --- cvs/hq/wine/memory/virtual.c Sat Aug 17 18:42:29 2002 +++ wine/memory/virtual.c Thu Aug 22 15:00:03 2002 @@ -645,7 +645,7 @@ DWORD size; /* a few sanity checks */ - size = sec->VirtualAddress + ROUND_SIZE( sec->VirtualAddress, sec->Misc.VirtualSize ); + size = sec->VirtualAddress + ROUND_SIZE( 0, sec->Misc.VirtualSize ); if (sec->VirtualAddress > total_size || size > total_size || size < sec->VirtualAddress) { ERR_(module)( "Section %.8s too large (%lx+%lx/%lx)\n", Apparently the above bits of the patch are wrong. Please ignore them. Perhaps (size > total_size) check should be completely dropped and PE image mapper should be prepared to handle sec->Misc.VirtualSize == 0 taking sec->SizeOfRawData into account instead? -- Dmitry.