summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message_macros.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-15 23:06:07 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-15 23:06:07 +0000
commitef2f6ba19e773ea58b8d6b26ea80bcf6c357ea7d (patch)
treef18f441d80b4b05ad3e6bcde476fd6461e00742e /ipc/ipc_message_macros.h
parent5a05b1de6bb31e66f570b320b6b507e0e2d5798b (diff)
downloadchromium_src-ef2f6ba19e773ea58b8d6b26ea80bcf6c357ea7d.zip
chromium_src-ef2f6ba19e773ea58b8d6b26ea80bcf6c357ea7d.tar.gz
chromium_src-ef2f6ba19e773ea58b8d6b26ea80bcf6c357ea7d.tar.bz2
Ensure that any IPC sent from a child process that couldn't be deserialized causes that process to be killed.
Today we do this only for a subset of IPCs and not all process types. R=jar@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/283313002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270839 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_message_macros.h')
-rw-r--r--ipc/ipc_message_macros.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/ipc/ipc_message_macros.h b/ipc/ipc_message_macros.h
index d5ffff7..5bc1ad4 100644
--- a/ipc/ipc_message_macros.h
+++ b/ipc/ipc_message_macros.h
@@ -933,6 +933,8 @@
TRACK_RUN_IN_IPC_HANDLER(member_func); \
msg_is_ok__ = msg_class::Dispatch(&ipc_message__, obj, this, \
param__, &member_func); \
+ if (!msg_is_ok__) \
+ ipc_message__.set_dispatch_error(); \
} \
break;
@@ -944,6 +946,8 @@
TRACK_RUN_IN_IPC_HANDLER(member_func); \
msg_is_ok__ = msg_class::DispatchDelayReply(&ipc_message__, obj, \
param__, &member_func); \
+ if (!msg_is_ok__) \
+ ipc_message__.set_dispatch_error(); \
} \
break;