diff options
author | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-20 23:31:45 +0000 |
---|---|---|
committer | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-20 23:31:45 +0000 |
commit | a4ae7db11300ea8d5a57367ae6a742474be2684e (patch) | |
tree | 620e9fd6404e55b47940f4359ba35d7900c72db8 /sandbox/src/ipc_unittest.cc | |
parent | 1297ad614336494872f07e09a888054936e9f587 (diff) | |
download | chromium_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.cc | 18 |
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 |