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;
diff --git a/talk/base/windowpickerfactory.h b/talk/base/windowpickerfactory.h
index b55cc7d..e9ba6c4 100644
--- a/talk/base/windowpickerfactory.h
+++ b/talk/base/windowpickerfactory.h
@@ -55,7 +55,7 @@
return new Win32WindowPicker();
#elif defined(OSX)
return new MacWindowPicker();
-#elif defined(LINUX)
+#elif defined(LINUX) && defined(HAVE_X11)
return new LinuxWindowPicker();
#else
return NULL;