[PATCH 2/2 v2] ntdll: Zero debug registers after thread creation
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;
>> + 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