| Index: chrome/common/ipc_channel_posix.cc
 | 
| diff --git a/chrome/common/ipc_channel_posix.cc b/chrome/common/ipc_channel_posix.cc
 | 
| index b46024caf3754e823fe95d87de744bc13f49e8c4..72d15549285e51ef6e43c903b7dd8e5087875dbb 100644
 | 
| --- a/chrome/common/ipc_channel_posix.cc
 | 
| +++ b/chrome/common/ipc_channel_posix.cc
 | 
| @@ -483,13 +483,24 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() {
 | 
|        const char* message_tail = Message::FindNext(p, end);
 | 
|        if (message_tail) {
 | 
|          int len = static_cast<int>(message_tail - p);
 | 
| -        const Message m(p, len);
 | 
| +        Message m(p, len);
 | 
|          if (m.header()->num_fds) {
 | 
|            // the message has file descriptors
 | 
| +          const char* error = NULL;
 | 
|            if (m.header()->num_fds > num_fds - fds_i) {
 | 
|              // the message has been completely received, but we didn't get
 | 
|              // enough file descriptors.
 | 
| -            LOG(WARNING) << "Message needs unreceived descriptors"
 | 
| +            error = "Message needs unreceived descriptors";
 | 
| +          }
 | 
| +
 | 
| +          if (m.header()->num_fds >
 | 
| +              DescriptorSet::MAX_DESCRIPTORS_PER_MESSAGE) {
 | 
| +            // There are too many descriptors in this message
 | 
| +            error = "Message requires an excessive number of descriptors";
 | 
| +          }
 | 
| +
 | 
| +          if (error) {
 | 
| +            LOG(WARNING) << error
 | 
|                           << " channel:" << this
 | 
|                           << " message-type:" << m.type()
 | 
|                           << " header()->num_fds:" << m.header()->num_fds
 | 
| @@ -499,6 +510,7 @@ bool Channel::ChannelImpl::ProcessIncomingMessages() {
 | 
|              for (unsigned i = fds_i; i < num_fds; ++i)
 | 
|                close(fds[i]);
 | 
|              input_overflow_fds_.clear();
 | 
| +            // abort the connection
 | 
|              return false;
 | 
|            }
 | 
|  
 | 
| 
 |