Detect invalid CoreIPC messages and call didReceiveInvalidMessage
Created attachment 63761 [details] Patch
<rdar://problem/7891069>
Comment on attachment 63761 [details] Patch > @@ -253,14 +257,15 @@ void Connection::dispatchMessages() > OwnPtr<ArgumentEncoder> replyEncoder(new ArgumentEncoder(syncRequestID)); > > // Hand off both the decoder and encoder to the client.. > - m_client->didReceiveSyncMessage(this, message.messageID(), arguments, replyEncoder.get()); > + m_client->didReceiveSyncMessage(this, message.messageID(), arguments.get(), replyEncoder.get()); > > // Send the reply. > sendMessage(MessageID(CoreIPCMessage::SyncMessageReply), replyEncoder.release()); > } else > - m_client->didReceiveMessage(this, message.messageID(), arguments); > + m_client->didReceiveMessage(this, message.messageID(), arguments.get()); > > - message.destroy(); > + if (arguments->isInvalid()) > + m_client->didReceiveInvalidMessage(this, message.messageID()); > } > } Should we check if the arguments are invalid before sending the synchronous reply? r=me
Committed r64871: <http://trac.webkit.org/changeset/64871>