summaryrefslogtreecommitdiffstats
path: root/sandbox/src/ipc_unittest.cc
diff options
context:
space:
mode:
authorcpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-20 23:31:45 +0000
committercpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-20 23:31:45 +0000
commita4ae7db11300ea8d5a57367ae6a742474be2684e (patch)
tree620e9fd6404e55b47940f4359ba35d7900c72db8 /sandbox/src/ipc_unittest.cc
parent1297ad614336494872f07e09a888054936e9f587 (diff)
downloadchromium_src-a4ae7db11300ea8d5a57367ae6a742474be2684e.zip
chromium_src-a4ae7db11300ea8d5a57367ae6a742474be2684e.tar.gz
chromium_src-a4ae7db11300ea8d5a57367ae6a742474be2684e.tar.bz2
Sbox IPC fix
Second take, I had off-by-one bad check in line 164 for more info see review 3142022 BUG=52682 TEST=included Review URL: http://codereview.chromium.org/3130037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56938 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sandbox/src/ipc_unittest.cc')
-rw-r--r--sandbox/src/ipc_unittest.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/sandbox/src/ipc_unittest.cc b/sandbox/src/ipc_unittest.cc
index 909f144..5bf3c54 100644
--- a/sandbox/src/ipc_unittest.cc
+++ b/sandbox/src/ipc_unittest.cc
@@ -332,6 +332,24 @@ TEST(IPCTest, CrossCallValidation) {
EXPECT_TRUE(NULL == ccp);
}
#endif // defined(NDEBUG)
+
+ ActualCallParams<1, 256> params_3(kTag, 1);
+ params_3.CopyParamIn(0, &value, sizeof(value), false, ULONG_TYPE);
+ buffer = const_cast<void*>(params_3.GetBuffer());
+ EXPECT_TRUE(NULL != buffer);
+
+ size_t correct_size = params_3.OverrideSize(1);
+ ccp = CrossCallParamsEx::CreateFromBuffer(buffer, 256, &out_size);
+ EXPECT_TRUE(NULL == ccp);
+
+ // The correct_size is 8 bytes aligned.
+ params_3.OverrideSize(correct_size - 7);
+ ccp = CrossCallParamsEx::CreateFromBuffer(buffer, 256, &out_size);
+ EXPECT_TRUE(NULL == ccp);
+
+ params_3.OverrideSize(correct_size);
+ ccp = CrossCallParamsEx::CreateFromBuffer(buffer, 256, &out_size);
+ EXPECT_TRUE(NULL != ccp);
}
// This structure is passed to the mock server threads to simulate