Index: ipc/ipc_message_utils.cc |
diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc |
index 29fa0382546d0210158a3b9cfaae9ca6c73c4edb..2420bdb1f1aac600b9937e025b364358c6b9702d 100644 |
--- a/ipc/ipc_message_utils.cc |
+++ b/ipc/ipc_message_utils.cc |
@@ -780,7 +780,7 @@ void ParamTraits<base::SharedMemoryHandle>::Write(base::Pickle* m, |
// If the caller intended to pass ownership to the IPC stack, release a |
// reference. |
- if (p.OwnershipPassesToIPC()) |
+ if (p.OwnershipPassesToIPC() && p.BelongsToCurrentProcess()) |
p.Close(); |
} else { |
m->WriteInt(HandleToLong(p.GetHandle())); |