Fixing issue where description contains empty ICE ufrag/pwd.
The issue occurred when deserializing and then serializing a rejected
content description, which doesn't have the ICE ufrag/pwd in the first
place.
BUG=webrtc:5105
Review URL: https://codereview.webrtc.org/1534363002
Cr-Commit-Position: refs/heads/master@{#11134}
diff --git a/talk/app/webrtc/webrtcsdp.cc b/talk/app/webrtc/webrtcsdp.cc
index 60cc539..07a4eb9 100644
--- a/talk/app/webrtc/webrtcsdp.cc
+++ b/talk/app/webrtc/webrtcsdp.cc
@@ -1295,13 +1295,17 @@
// ice-pwd-att = "ice-pwd" ":" password
// ice-ufrag-att = "ice-ufrag" ":" ufrag
// ice-ufrag
- InitAttrLine(kAttributeIceUfrag, &os);
- os << kSdpDelimiterColon << transport_info->description.ice_ufrag;
- AddLine(os.str(), message);
+ if (!transport_info->description.ice_ufrag.empty()) {
+ InitAttrLine(kAttributeIceUfrag, &os);
+ os << kSdpDelimiterColon << transport_info->description.ice_ufrag;
+ AddLine(os.str(), message);
+ }
// ice-pwd
- InitAttrLine(kAttributeIcePwd, &os);
- os << kSdpDelimiterColon << transport_info->description.ice_pwd;
- AddLine(os.str(), message);
+ if (!transport_info->description.ice_pwd.empty()) {
+ InitAttrLine(kAttributeIcePwd, &os);
+ os << kSdpDelimiterColon << transport_info->description.ice_pwd;
+ AddLine(os.str(), message);
+ }
// draft-petithuguenin-mmusic-ice-attributes-level-03
BuildIceOptions(transport_info->description.transport_options, message);