| Index: ipc/attachment_broker_privileged_win.cc
|
| diff --git a/ipc/attachment_broker_privileged_win.cc b/ipc/attachment_broker_privileged_win.cc
|
| index c749a09c9802eef8f9475880d4e8c2ca000017c5..9aaebd273e0d6555b53f761b86e5a344c4b490cf 100644
|
| --- a/ipc/attachment_broker_privileged_win.cc
|
| +++ b/ipc/attachment_broker_privileged_win.cc
|
| @@ -84,8 +84,9 @@ void AttachmentBrokerPrivilegedWin::RouteDuplicatedHandle(
|
| // Another process is the destination.
|
| base::ProcessId dest = wire_format.destination_process;
|
| base::AutoLock auto_lock(*get_lock());
|
| - Sender* sender = GetSenderWithProcessId(dest);
|
| - if (!sender) {
|
| + AttachmentBrokerPrivileged::EndpointRunnerPair pair =
|
| + GetSenderWithProcessId(dest);
|
| + if (!pair.first) {
|
| // Assuming that this message was not sent from a malicious process, the
|
| // channel endpoint that would have received this message will block
|
| // forever.
|
| @@ -96,7 +97,8 @@ void AttachmentBrokerPrivilegedWin::RouteDuplicatedHandle(
|
| }
|
|
|
| LogError(DESTINATION_FOUND);
|
| - sender->Send(new AttachmentBrokerMsg_WinHandleHasBeenDuplicated(wire_format));
|
| + SendMessageToEndpoint(
|
| + pair, new AttachmentBrokerMsg_WinHandleHasBeenDuplicated(wire_format));
|
| }
|
|
|
| AttachmentBrokerPrivilegedWin::HandleWireFormat
|
|
|