Commit 1775fe15 authored by Vitaly Buka's avatar Vitaly Buka Committed by Commit Bot

Disable variable initialization in sandbox_nt_util.cc

This is working version of crrev.com/c/1966357
Previous fix does not work.

Bug: 977230
Change-Id: I859e57856bd7fb07b7587f8f80f08c7feb24b69a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1973353
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: default avatarWill Harris <wfh@chromium.org>
Reviewed-by: default avatarAlex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728833}
parent ce886003
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <string> #include <string>
#include "base/compiler_specific.h"
#include "base/win/pe_image.h" #include "base/win/pe_image.h"
#include "sandbox/win/src/sandbox_factory.h" #include "sandbox/win/src/sandbox_factory.h"
#include "sandbox/win/src/target_services.h" #include "sandbox/win/src/target_services.h"
...@@ -58,18 +59,8 @@ void* AllocateNearTo(void* source, size_t size) { ...@@ -58,18 +59,8 @@ void* AllocateNearTo(void* source, size_t size) {
const char* top_address = base + kMaxSize; const char* top_address = base + kMaxSize;
while (base < top_address) { while (base < top_address) {
// Initialize all fields to avoid memset with init_stack_vars = true. // Avoid memset inserted by -ftrivial-auto-var-init=pattern.
// "= {}" or -ftrivial-auto-var-init=pattern may insert memset or memcpy STACK_UNINITIALIZED MEMORY_BASIC_INFORMATION mem_info;
// here. However if memset was used here even "init_stack_vars = false
// is_debug = true" on x86_64 crashes in GPU process.
MEMORY_BASIC_INFORMATION mem_info;
mem_info.BaseAddress = nullptr;
mem_info.AllocationBase = nullptr;
mem_info.AllocationProtect = 0;
mem_info.RegionSize = 0;
mem_info.State = 0;
mem_info.Protect = 0;
mem_info.Type = 0;
NTSTATUS status = NTSTATUS status =
g_nt.QueryVirtualMemory(NtCurrentProcess, base, MemoryBasicInformation, g_nt.QueryVirtualMemory(NtCurrentProcess, base, MemoryBasicInformation,
&mem_info, sizeof(mem_info), nullptr); &mem_info, sizeof(mem_info), nullptr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment