Bug 260705
Summary: | LibWebRTC TCPConnection might receive packets while its port is nullptr | ||
---|---|---|---|
Product: | WebKit | Reporter: | youenn fablet <youennf> |
Component: | WebRTC | Assignee: | youenn fablet <youennf> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer, youennf |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
youenn fablet
<rdar://problem/113531400>
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
youenn fablet
Pull request: https://github.com/WebKit/WebKit/pull/17061
youenn fablet
Example of log:
27 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__is_long[abi:v160002]() const <==
| 27 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
| 27 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
| 27 cricket::Port::username_fragment() const
| 27 cricket::Port::GetStunMessage(char const*, unsigned long, rtc::SocketAddress const&, std::__1::unique_ptr<cricket::IceMessage, std::__1::default_delete<cricket::IceMessage> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)
| 27 cricket::Connection::OnReadPacket(char const*, unsigned long, long long)
| 27 void sigslot::_opaque_connection::emit<rtc::AsyncPacketSocket*, char const*, unsigned long, rtc::SocketAddress const&, long long const&>(rtc::AsyncPacketSocket*, char const*, unsigned long, rtc::SocketAddress const&, long long const&) const
| 27 sigslot::signal_with_thread_policy<sigslot::single_threaded, rtc::AsyncPacketSocket*, char const*, unsigned long, rtc::SocketAddress const&, long long const&>::emit(rtc::AsyncPacketSocket*, char const*, unsigned long, rtc::SocketAddress const&, long long const&)
| 27 sigslot::signal_with_thread_policy<sigslot::single_threaded, rtc::AsyncPacketSocket*, char const*, unsigned long, rtc::SocketAddress const&, long long const&>::operator()(rtc::AsyncPacketSocket*, char const*, unsigned long, rtc::SocketAddress const&, long long const&)
| 27 WebKit::LibWebRTCSocket::signalReadPacket(unsigned char const*, unsigned long, rtc::SocketAddress&&, long long)
| 27 WebKit::LibWebRTCNetwork::signalReadPacket(WTF::ObjectIdentifierGeneric<WebCore::LibWebRTCSocketIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WebKit::RTCNetwork::IPAddress const&, unsigned short, long long)
| 27 auto void IPC::callMemberFunction<WebKit::LibWebRTCNetwork, WebKit::LibWebRTCNetwork, void (WTF::ObjectIdentifierGeneric<WebCore::LibWebRTCSocketIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WebKit::RTCNetwork::IPAddress const&, unsigned short, long long), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::LibWebRTCSocketIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, std::__1::span<unsigned char const, 18446744073709551615ul>, WebKit::RTCNetwork::IPAddress, unsigned short, long long> >(WebKit::LibWebRTCNetwork*, void (WebKit::LibWebRTCNetwork::*)(WTF::ObjectIdentifierGeneric<WebCore::LibWebRTCSocketIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, std::__1::span<unsigned char const, 18446744073709551615ul> const&, WebKit::RTCNetwork::IPAddress const&, unsigned short, long long), std::__1::tuple<WTF::ObjectIdentifierGeneric<WebCore::LibWebRTCSocketIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, std::__1::span<unsigned char const, 18446744073709551615ul>, WebKit::RTCNetwork::IPAddress, unsigned short, long long>&&)::'lambda'(auto&&...)::operator()<WTF::ObjectIdentifierGeneric<WebCore::LibWebRTCSocketIdentifierType, WTF::ObjectIdentifierThreadSafeAccessTraits>, std::__1::span<unsigned char const, 18446744073709551615ul>, WebKit::RTCNetwork::IPAddress, unsigned short, long long>(auto&&...) const
| 27 decltype(std::declval<WebKit::LibWebRTCNetwork>()(std::declval<WebKit::LibWebRTCNetwork>()...)) std::__1::__invoke[abi:v160002]<void IPC::callMemberFunction<WebKit::LibWebRTCNetwork, WebKit::LibWebRTCNetwork, void
EWS
Committed 267275@main (277cc3e4b924): <https://commits.webkit.org/267275@main>
Reviewed commits have been landed. Closing PR #17061 and removing active labels.