Don't try to parse empty Ice urls.
https://crrev.com/7c4e7458b5ce99c13a75d5be7d718ef94e2f8f9f added support
to pass a list of urls for IceServer configurations. This CL fixes a
potential crash when empty urls are passed.
BUG=2096
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51969004
Cr-Commit-Position: refs/heads/master@{#9334}
diff --git a/talk/app/webrtc/peerconnection.cc b/talk/app/webrtc/peerconnection.cc
index aba2d62..4c54d6f 100644
--- a/talk/app/webrtc/peerconnection.cc
+++ b/talk/app/webrtc/peerconnection.cc
@@ -186,6 +186,7 @@
// turn-port = *DIGIT
std::vector<std::string> tokens;
std::string turn_transport_type = kUdpTransportType;
+ ASSERT(!url.empty());
rtc::tokenize(url, '?', &tokens);
std::string uri_without_transport = tokens[0];
// Let's look into transport= param, if it exists.
@@ -286,6 +287,10 @@
for (const webrtc::PeerConnectionInterface::IceServer& server : servers) {
if (!server.urls.empty()) {
for (const std::string& url : server.urls) {
+ if (url.empty()) {
+ LOG(WARNING) << "Empty uri.";
+ continue;
+ }
if (!ParseIceServerUrl(server, url, stun_config, turn_config)) {
return false;
}