Преглед изворни кода

avoid NPE for PeerConnectionWrapper#sendChannelData

E/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-6
    Process: com.nextcloud.talk2, PID: 25086
    java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.webrtc.DataChannel.send(org.webrtc.DataChannel$Buffer)' on a null object reference
        at com.nextcloud.talk.webrtc.PeerConnectionWrapper.sendChannelData(PeerConnectionWrapper.java:275)
        at com.nextcloud.talk.activities.CallActivity$17.onNext(CallActivity.java:2311)
        at com.nextcloud.talk.activities.CallActivity$17.onNext(CallActivity.java:2303)
        at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
        at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
        at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
        at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
        at java.util.concurrent.FutureTask.run(FutureTask.java:264)

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe пре 2 година
родитељ
комит
1bad35488c

+ 1 - 1
app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java

@@ -269,7 +269,7 @@ public class PeerConnectionWrapper {
 
     public void sendChannelData(DataChannelMessage dataChannelMessage) {
         ByteBuffer buffer;
-        if (dataChannel != null) {
+        if (dataChannel != null && dataChannelMessage != null) {
             try {
                 buffer = ByteBuffer.wrap(LoganSquare.serialize(dataChannelMessage).getBytes());
                 dataChannel.send(new DataChannel.Buffer(buffer, false));