Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1586)

Side by Side Diff: chrome_elf/blacklist/blacklist.cc

Issue 2760853002: Remove use of PRODUCT_STRING_PATH in chrome_elf. (Closed)
Patch Set: compile fix Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome_elf/blacklist/blacklist.h" 5 #include "chrome_elf/blacklist/blacklist.h"
6 6
7 #include <assert.h> 7 #include <assert.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 #if defined(_WIN64) 96 #if defined(_WIN64)
97 // Allocate storage for the pointer to the old NtMapViewOfSectionFunction. 97 // Allocate storage for the pointer to the old NtMapViewOfSectionFunction.
98 #pragma section(".oldntmap", write, read) 98 #pragma section(".oldntmap", write, read)
99 __declspec(allocate(".oldntmap")) 99 __declspec(allocate(".oldntmap"))
100 NtMapViewOfSectionFunction g_nt_map_view_of_section_func = NULL; 100 NtMapViewOfSectionFunction g_nt_map_view_of_section_func = NULL;
101 #endif 101 #endif
102 102
103 bool LeaveSetupBeacon() { 103 bool LeaveSetupBeacon() {
104 HANDLE key_handle = INVALID_HANDLE_VALUE; 104 HANDLE key_handle = INVALID_HANDLE_VALUE;
105 105
106 if (!nt::CreateRegKey(nt::HKCU, kRegistryBeaconPath, 106 if (!nt::CreateRegKey(nt::HKCU,
107 install_static::GetRegistryPath()
108 .append(kRegistryBeaconKeyName)
109 .c_str(),
107 KEY_QUERY_VALUE | KEY_SET_VALUE, &key_handle)) 110 KEY_QUERY_VALUE | KEY_SET_VALUE, &key_handle))
108 return false; 111 return false;
109 112
110 DWORD blacklist_state = BLACKLIST_STATE_MAX; 113 DWORD blacklist_state = BLACKLIST_STATE_MAX;
111 if (!nt::QueryRegValueDWORD(key_handle, kBeaconState, &blacklist_state) || 114 if (!nt::QueryRegValueDWORD(key_handle, kBeaconState, &blacklist_state) ||
112 blacklist_state == BLACKLIST_DISABLED) { 115 blacklist_state == BLACKLIST_DISABLED) {
113 nt::CloseRegKey(key_handle); 116 nt::CloseRegKey(key_handle);
114 return false; 117 return false;
115 } 118 }
116 119
(...skipping 28 matching lines...) Expand all
145 } 148 }
146 } 149 }
147 150
148 nt::CloseRegKey(key_handle); 151 nt::CloseRegKey(key_handle);
149 return success; 152 return success;
150 } 153 }
151 154
152 bool ResetBeacon() { 155 bool ResetBeacon() {
153 HANDLE key_handle = INVALID_HANDLE_VALUE; 156 HANDLE key_handle = INVALID_HANDLE_VALUE;
154 157
155 if (!nt::CreateRegKey(nt::HKCU, kRegistryBeaconPath, 158 if (!nt::CreateRegKey(nt::HKCU,
159 install_static::GetRegistryPath()
160 .append(kRegistryBeaconKeyName)
161 .c_str(),
156 KEY_QUERY_VALUE | KEY_SET_VALUE, &key_handle)) 162 KEY_QUERY_VALUE | KEY_SET_VALUE, &key_handle))
157 return false; 163 return false;
158 164
159 DWORD blacklist_state = BLACKLIST_STATE_MAX; 165 DWORD blacklist_state = BLACKLIST_STATE_MAX;
160 if (!nt::QueryRegValueDWORD(key_handle, kBeaconState, &blacklist_state)) { 166 if (!nt::QueryRegValueDWORD(key_handle, kBeaconState, &blacklist_state)) {
161 nt::CloseRegKey(key_handle); 167 nt::CloseRegKey(key_handle);
162 return false; 168 return false;
163 } 169 }
164 170
165 // Reaching this point with the setup running state means the setup did not 171 // Reaching this point with the setup running state means the setup did not
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 350
345 // Mark the thunk storage as executable and prevent any future writes to it. 351 // Mark the thunk storage as executable and prevent any future writes to it.
346 page_executable = page_executable && 352 page_executable = page_executable &&
347 VirtualProtect(&g_thunk_storage, sizeof(g_thunk_storage), 353 VirtualProtect(&g_thunk_storage, sizeof(g_thunk_storage),
348 PAGE_EXECUTE_READ, &old_protect); 354 PAGE_EXECUTE_READ, &old_protect);
349 355
350 return NT_SUCCESS(ret) && page_executable; 356 return NT_SUCCESS(ret) && page_executable;
351 } 357 }
352 358
353 } // namespace blacklist 359 } // namespace blacklist
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698