[PATCH] ntdll: round section parameters on 0x200
Andrey Turkin
pancha at mail.nnov.ru
Sun Nov 12 08:33:32 CST 2006
Dmitry Timoshkov wrote:
> "Andrey Turkin" <pancha at mail.nnov.ru> wrote:
>
>> if (map_file_into_view( view, fd, 0, header_size, 0,
>> VPROT_COMMITTED | VPROT_READ,
>> - removable ) != STATUS_SUCCESS) goto error;
>> + TRUE ) != STATUS_SUCCESS) goto error;
>
> This chunk has nothin to do with the patch description and simply is wrong.
I've hardcoded removevable as TRUE here to force map_file_into_view to
read data and not mmap it (because mmap will map whole 4k page). Why is
it wrong? Some packers depend on this. As I said in patch description,
an alternative would be memset of area beyond header (which would lead
to mmap, then COW a page and then memset of almost 4k).
>
>> - sec->PointerToRawData, (int)pos,
>> file_size, map_size,
>> + (int)start, (int)pos, file_size, map_size,
> ...
>> - sec->PointerToRawData, sec->SizeOfRawData,
>> + (int)start, sec->SizeOfRawData,
>
> Please use a proper format specifier instead of a cast.
Can do (actually I realized that SIZE_T is not so good for "start";
DWORD would be better).
>
More information about the wine-devel
mailing list