[PATCH 2/2 v2] ntdll: Zero debug registers after thread creation
Christian Inci
chris.wine at broke-the-inter.net
Fri Apr 7 12:22:26 CDT 2017
Thanks, I weren't sure about that one. I thought that every recent compiler will zero-initialize local variables/structures.
Are there compilers or some special cases which wouldn't let that happen?
Are they often enough not explicit set to zero (by using non-previously-used memory for the first time), so it'll be assumed to be zero?
On 04/07/2017 06:43 PM, Michael Müller wrote:
> Am 07.04.2017 um 17:52 schrieb Christian Inci:
>> DWORD tid = 0;
>> int request_pipe[2];
>> + CONTEXT ctx;
>> NTSTATUS status;
>>
>> [...]
>>
>> + ctx.ContextFlags = CONTEXT_DEBUG_REGISTERS;
>> + NtSetContextThread(handle, &ctx);
>> +
>
> You didn't initialize the register values and therefore set the debug
> registers to random stack values. You should either initialize them
> manually or memset the whole struct.
>
More information about the wine-devel
mailing list