diff options
-rw-r--r-- | chrome/common/webmessageportchannel_impl.cc | 2 | ||||
-rw-r--r-- | tools/valgrind/memcheck/suppressions.txt | 7 |
2 files changed, 2 insertions, 7 deletions
diff --git a/chrome/common/webmessageportchannel_impl.cc b/chrome/common/webmessageportchannel_impl.cc index 17b4fb8..86e9a5d 100644 --- a/chrome/common/webmessageportchannel_impl.cc +++ b/chrome/common/webmessageportchannel_impl.cc @@ -86,6 +86,7 @@ void WebMessagePortChannelImpl::postMessage( std::vector<int> message_port_ids(channels ? channels->size() : 0); if (channels) { + // Extract the port IDs from the source array, then free it. for (size_t i = 0; i < channels->size(); ++i) { WebMessagePortChannelImpl* webchannel = static_cast<WebMessagePortChannelImpl*>((*channels)[i]); @@ -93,6 +94,7 @@ void WebMessagePortChannelImpl::postMessage( webchannel->QueueMessages(); DCHECK(message_port_ids[i] != MSG_ROUTING_NONE); } + delete channels; } IPC::Message* msg = new WorkerProcessHostMsg_PostMessage( diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt index 34687b1..ba0a716 100644 --- a/tools/valgrind/memcheck/suppressions.txt +++ b/tools/valgrind/memcheck/suppressions.txt @@ -1060,13 +1060,6 @@ fun:_Z16DispatchToMethodI21ResourceMessageFilter* } { - bug_22932 - Memcheck:Leak - fun:_Znw* - fun:_ZN7WebCore26PlatformMessagePortChannel19postMessageToRemoteEN3WTF10PassOwnPtrINS_18MessagePortChannel9EventDataEEE - fun:_ZN7WebCore18MessagePortChannel19postMessageToRemoteEN3WTF10PassOwnPtrINS0_9EventDataEEE -} -{ bug_23104 Memcheck:Leak fun:_Znw* |