Index: chrome_elf/blacklist/blacklist_interceptions.cc |
diff --git a/chrome_elf/blacklist/blacklist_interceptions.cc b/chrome_elf/blacklist/blacklist_interceptions.cc |
index 6b01438b9261b088175db7be7a46eafc686d504e..f63d5b4fdd391c6fde86c8aa96eaf32a765c969c 100644 |
--- a/chrome_elf/blacklist/blacklist_interceptions.cc |
+++ b/chrome_elf/blacklist/blacklist_interceptions.cc |
@@ -169,6 +169,12 @@ bool IsSameAsCurrentProcess(HANDLE process) { |
} // namespace |
namespace blacklist { |
+#if defined(_WIN64) |
+// Allocate storage for the pointer to the old NtMapViewOfSectionFunction. |
+#pragma section(".oldntmap",write,read) |
+__declspec(allocate(".oldntmap")) |
+NtMapViewOfSectionFunction g_nt_map_view_of_section_func = NULL; |
robertshield
2014/02/06 20:04:33
Any reason to declare this here rather than where
csharp
2014/02/06 22:29:24
Nope, moved.
|
+#endif |
bool InitializeInterceptImports() { |
g_nt_query_section_func = reinterpret_cast<NtQuerySectionFunction>( |
@@ -229,4 +235,13 @@ SANDBOX_INTERCEPT NTSTATUS WINAPI BlNtMapViewOfSection( |
return ret; |
} |
+NTSTATUS WINAPI BlNtMapViewOfSection64( |
+ HANDLE section, HANDLE process, PVOID *base, ULONG_PTR zero_bits, |
+ SIZE_T commit_size, PLARGE_INTEGER offset, PSIZE_T view_size, |
+ SECTION_INHERIT inherit, ULONG allocation_type, ULONG protect) { |
+ return BlNtMapViewOfSection(g_nt_map_view_of_section_func, section, process, |
+ base, zero_bits, commit_size, offset, view_size, |
+ inherit, allocation_type, protect); |
+} |
+ |
} // namespace blacklist |