Update libjingle 61759961->61834300

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5580 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/app/webrtc/webrtcsdp.cc b/talk/app/webrtc/webrtcsdp.cc
index 79f94fe..bf69279 100644
--- a/talk/app/webrtc/webrtcsdp.cc
+++ b/talk/app/webrtc/webrtcsdp.cc
@@ -2121,7 +2121,7 @@
                     codec_preference, pos, &content_name,
                     &transport, candidates, error);
 
-      if (protocol == cricket::kMediaProtocolDtlsSctp) {
+      if (desc && protocol == cricket::kMediaProtocolDtlsSctp) {
         // Add the SCTP Port number as a pseudo-codec "port" parameter
         cricket::DataCodec codec_port(
             cricket::kGoogleSctpDataCodecId, cricket::kGoogleSctpDataCodecName,
diff --git a/talk/app/webrtc/webrtcsdp_unittest.cc b/talk/app/webrtc/webrtcsdp_unittest.cc
index 8415197..f609aff 100644
--- a/talk/app/webrtc/webrtcsdp_unittest.cc
+++ b/talk/app/webrtc/webrtcsdp_unittest.cc
@@ -1783,6 +1783,18 @@
   EXPECT_TRUE(CompareSessionDescription(jdesc, jdesc_output));
 }
 
+// For crbug/344475.
+TEST_F(WebRtcSdpTest, DeserializeSdpWithCorruptedSctpDataChannels) {
+  std::string sdp_with_data = kSdpString;
+  sdp_with_data.append(kSdpSctpDataChannelString);
+  // Remove the "\n" at the end.
+  sdp_with_data = sdp_with_data.substr(0, sdp_with_data.size() - 1);
+  JsepSessionDescription jdesc_output(kDummyString);
+
+  EXPECT_FALSE(SdpDeserialize(sdp_with_data, &jdesc_output));
+  // No crash is a pass.
+}
+
 TEST_F(WebRtcSdpTest, DeserializeSdpWithSctpDataChannelAndNewPort) {
   AddSctpDataChannel();
   const uint16 kUnusualSctpPort = 9556;