From 5f5504f218080e83e1eb64ce139535e5678ede16 Mon Sep 17 00:00:00 2001 From: deadbeef Date: Tue, 26 Jul 2016 10:31:09 -0700 Subject: [PATCH] Don't crash if createDataChannel fails. It can fail in some real circumstances, such as when IDs are exhausted or you explicitly try to create one with an already-used ID. Review-Url: https://codereview.webrtc.org/2181933002 Cr-Commit-Position: refs/heads/master@{#13535} --- webrtc/api/android/jni/peerconnection_jni.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webrtc/api/android/jni/peerconnection_jni.cc b/webrtc/api/android/jni/peerconnection_jni.cc index 8b5a69251b..9efe037c9f 100644 --- a/webrtc/api/android/jni/peerconnection_jni.cc +++ b/webrtc/api/android/jni/peerconnection_jni.cc @@ -1726,7 +1726,10 @@ JOW(jobject, PeerConnection_createDataChannel)( // vararg parameter as 64-bit and reading memory that doesn't belong to the // 32-bit parameter. jlong nativeChannelPtr = jlongFromPointer(channel.get()); - RTC_CHECK(nativeChannelPtr) << "Failed to create DataChannel"; + if (!nativeChannelPtr) { + LOG(LS_ERROR) << "Failed to create DataChannel"; + return nullptr; + } jclass j_data_channel_class = FindClass(jni, "org/webrtc/DataChannel"); jmethodID j_data_channel_ctor = GetMethodID( jni, j_data_channel_class, "", "(J)V");