diff options
author | erikchen <erikchen@chromium.org> | 2016-02-23 14:22:44 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-23 22:23:58 +0000 |
commit | c56bf1f60ddeef1a903108ad5825cdc47d3a9e67 (patch) | |
tree | 24ef03bc1a5498b6e178c5188e0aaa2142bf497c /tools/ipc_fuzzer | |
parent | 24820c067cb649a4eee2387eda8761e776a18d63 (diff) | |
download | chromium_src-c56bf1f60ddeef1a903108ad5825cdc47d3a9e67.zip chromium_src-c56bf1f60ddeef1a903108ad5825cdc47d3a9e67.tar.gz chromium_src-c56bf1f60ddeef1a903108ad5825cdc47d3a9e67.tar.bz2 |
Add custom fuzzing logic for SharedMemoryHandle on Mac and Windows.
The fuzzer always creates an invalid SharedMemoryHandle. Previously, the
fuzzer couldn't create messages that contained a SharedMemoryHandle.
BUG=
Review URL: https://codereview.chromium.org/1729633002
Cr-Commit-Position: refs/heads/master@{#377104}
Diffstat (limited to 'tools/ipc_fuzzer')
-rw-r--r-- | tools/ipc_fuzzer/fuzzer/fuzzer.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/ipc_fuzzer/fuzzer/fuzzer.cc b/tools/ipc_fuzzer/fuzzer/fuzzer.cc index 54d9461..497619a 100644 --- a/tools/ipc_fuzzer/fuzzer/fuzzer.cc +++ b/tools/ipc_fuzzer/fuzzer/fuzzer.cc @@ -9,6 +9,7 @@ #include <vector> #include "base/macros.h" +#include "base/memory/shared_memory_handle.h" #include "base/strings/string_util.h" #include "build/build_config.h" #include "ipc/ipc_message.h" @@ -452,6 +453,18 @@ struct FuzzTraits<base::NullableString16> { } }; +#if defined(OS_WIN) || defined(OS_MACOSX) +template <> +struct FuzzTraits<base::SharedMemoryHandle> { + static bool Fuzz(base::SharedMemoryHandle* p, Fuzzer* fuzzer) { + // This generates an invalid SharedMemoryHandle. Generating a valid + // SharedMemoryHandle requires setting/knowing state in both the sending and + // receiving process, which is not currently possible. + return true; + } +}; +#endif // defined(OS_WIN) || defined(OS_MACOSX) + template <> struct FuzzTraits<base::Time> { static bool Fuzz(base::Time* p, Fuzzer* fuzzer) { |