summaryrefslogtreecommitdiffstats
path: root/sandbox/src/service_resolver_unittest.cc
diff options
context:
space:
mode:
authorrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-01 23:42:58 +0000
committerrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-01 23:42:58 +0000
commitea38baf5b3a5a8dd0287d61b26502a2c9ffb4661 (patch)
treee98d94950f14f9230691b354e1da7d784d281ae0 /sandbox/src/service_resolver_unittest.cc
parent0043ca1beb5d67cccfbd4290ce170e36ffeaff11 (diff)
downloadchromium_src-ea38baf5b3a5a8dd0287d61b26502a2c9ffb4661.zip
chromium_src-ea38baf5b3a5a8dd0287d61b26502a2c9ffb4661.tar.gz
chromium_src-ea38baf5b3a5a8dd0287d61b26502a2c9ffb4661.tar.bz2
Sandbox: Add the 64-bit service resolver and a few
extra bits of infrastructure. BUG=27218 TEST=none Review URL: http://codereview.chromium.org/558032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37764 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/src/service_resolver_unittest.cc')
-rw-r--r--sandbox/src/service_resolver_unittest.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/sandbox/src/service_resolver_unittest.cc b/sandbox/src/service_resolver_unittest.cc
index 3af81f2..ee26c9e 100644
--- a/sandbox/src/service_resolver_unittest.cc
+++ b/sandbox/src/service_resolver_unittest.cc
@@ -36,7 +36,7 @@ class ResolverThunkTest : public T {
const char* interceptor_name,
const void* interceptor_entry_point,
void* thunk_storage,
- uint32 storage_bytes) {
+ size_t storage_bytes) {
NTSTATUS ret = STATUS_SUCCESS;
ret = ResolverThunk::Init(target_module, interceptor_module, target_name,
interceptor_name, interceptor_entry_point,
@@ -86,7 +86,7 @@ NTSTATUS PatchNtdll(const char* function, bool relaxed) {
void* function_entry = resolver;
size_t thunk_size = resolver->GetThunkSize();
scoped_array<char> thunk(new char[thunk_size]);
- uint32 used;
+ size_t used;
NTSTATUS ret = resolver->Setup(ntdll_base, NULL, function, NULL,
function_entry, thunk.get(), thunk_size,
@@ -125,14 +125,16 @@ TEST(ServiceResolverTest, PatchesServices) {
}
TEST(ServiceResolverTest, FailsIfNotService) {
- NTSTATUS ret = PatchNtdll("RtlUlongByteSwap", false);
- EXPECT_NE(STATUS_SUCCESS, ret);
+#if !defined(_WIN64)
+ EXPECT_NE(STATUS_SUCCESS, PatchNtdll("RtlUlongByteSwap", false));
+#endif
- ret = PatchNtdll("LdrLoadDll", false);
- EXPECT_NE(STATUS_SUCCESS, ret);
+ EXPECT_NE(STATUS_SUCCESS, PatchNtdll("LdrLoadDll", false));
}
TEST(ServiceResolverTest, PatchesPatchedServices) {
+// We don't support "relaxed mode" for Win64 apps.
+#if !defined(_WIN64)
NTSTATUS ret = PatchNtdll("NtClose", true);
EXPECT_EQ(STATUS_SUCCESS, ret) << "NtClose, last error: " << ::GetLastError();
@@ -147,6 +149,7 @@ TEST(ServiceResolverTest, PatchesPatchedServices) {
ret = PatchNtdll("NtMapViewOfSection", true);
EXPECT_EQ(STATUS_SUCCESS, ret) << "NtMapViewOfSection, last error: " <<
::GetLastError();
+#endif
}
} // namespace