From 9dd77baca440ed3053eeca5f84ec2e4810401d9f Mon Sep 17 00:00:00 2001 From: zstein Date: Tue, 7 Feb 2017 15:09:50 -0800 Subject: [PATCH] Clarifying error messages in ParseIceServerUrl for invalid transport parameters. BUG=webrtc:6662 Review-Url: https://codereview.webrtc.org/2680023005 Cr-Commit-Position: refs/heads/master@{#16481} --- webrtc/pc/peerconnection.cc | 9 ++++++--- webrtc/pc/peerconnection_unittest.cc | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/webrtc/pc/peerconnection.cc b/webrtc/pc/peerconnection.cc index ba21429d85..ee04d8e961 100644 --- a/webrtc/pc/peerconnection.cc +++ b/webrtc/pc/peerconnection.cc @@ -245,11 +245,14 @@ RTCErrorType ParseIceServerUrl( LOG(LS_WARNING) << "Invalid transport parameter key."; return RTCErrorType::SYNTAX_ERROR; } - if (tokens.size() < 2 || - !cricket::StringToProto(tokens[1].c_str(), &turn_transport_type) || + if (tokens.size() < 2) { + LOG(LS_WARNING) << "Transport parameter missing value."; + return RTCErrorType::SYNTAX_ERROR; + } + if (!cricket::StringToProto(tokens[1].c_str(), &turn_transport_type) || (turn_transport_type != cricket::PROTO_UDP && turn_transport_type != cricket::PROTO_TCP)) { - LOG(LS_WARNING) << "Transport param should always be udp or tcp."; + LOG(LS_WARNING) << "Transport parameter should always be udp or tcp."; return RTCErrorType::SYNTAX_ERROR; } } diff --git a/webrtc/pc/peerconnection_unittest.cc b/webrtc/pc/peerconnection_unittest.cc index 19ef6e48db..b7ddc24e03 100644 --- a/webrtc/pc/peerconnection_unittest.cc +++ b/webrtc/pc/peerconnection_unittest.cc @@ -2767,6 +2767,7 @@ TEST_F(IceServerParsingTest, ParseTransport) { EXPECT_FALSE(ParseTurnUrl("turn:hostname?transport=invalid")); EXPECT_FALSE(ParseTurnUrl("turn:hostname?transport=")); EXPECT_FALSE(ParseTurnUrl("turn:hostname?=")); + EXPECT_FALSE(ParseTurnUrl("turn:hostname?")); EXPECT_FALSE(ParseTurnUrl("?")); }