| Index: ipc/ipc_message_utils_unittest.cc
|
| diff --git a/ipc/ipc_message_utils_unittest.cc b/ipc/ipc_message_utils_unittest.cc
|
| index 867768089ba845888e1396232f3933483d811072..c1b83e62e99f933abd59e5ac0e58c3fa5845238d 100644
|
| --- a/ipc/ipc_message_utils_unittest.cc
|
| +++ b/ipc/ipc_message_utils_unittest.cc
|
| @@ -255,5 +255,27 @@ TEST(IPCMessageUtilsTest, FlatMap) {
|
| EXPECT_EQ(input, output);
|
| }
|
|
|
| +TEST(IPCMessageUtilsTest, InvalidPickleShouldNotCrashFlatMapDeserialization) {
|
| + base::Pickle pickle;
|
| + IPC::WriteParam(&pickle, INT_MAX);
|
| + IPC::WriteParam(&pickle, 0);
|
| + IPC::WriteParam(&pickle, 0);
|
| +
|
| + base::PickleIterator iter(pickle);
|
| + base::flat_map<int, int> output;
|
| + EXPECT_FALSE(IPC::ReadParam(&pickle, &iter, &output));
|
| +}
|
| +
|
| +TEST(IPCMessageUtilsTest, InvalidPickleShouldNotCrashMapDeserialization) {
|
| + base::Pickle pickle;
|
| + IPC::WriteParam(&pickle, INT_MAX);
|
| + IPC::WriteParam(&pickle, 0);
|
| + IPC::WriteParam(&pickle, 0);
|
| +
|
| + base::PickleIterator iter(pickle);
|
| + std::map<int, int> output;
|
| + EXPECT_FALSE(IPC::ReadParam(&pickle, &iter, &output));
|
| +}
|
| +
|
| } // namespace
|
| } // namespace IPC
|
|
|