Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e3bd0f0 authored by Byeongjo Park's avatar Byeongjo Park Committed by Josh Hou
Browse files

VT: fixes possible nullptr case in ARTPConnection.



[Problem] null pointer dereference happened in onPollStream()
[Cause] there is a possible case during getSelfID() called
  if mSource(vector) doesn't have any node.
[Solution] getSelfID() should be called by valid pointer.

Bug: 175657734

Change-Id: Ibec81df1c0455cefbd0414b7475fc622e5f4ddce
Signed-off-by: default avatarByeongjo Park <bjo.park@samsung.com>
parent e2a52b0c
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -467,14 +467,16 @@ void ARTPConnection::onPollStreams() {

            if (err == -ECONNRESET) {
                // socket failure, this stream is dead, Jim.
                for (size_t i = 0; i < it->mSources.size(); ++i) {
                    sp<AMessage> notify = it->mNotifyMsg->dup();
                    notify->setInt32("rtcp-event", 1);
                    notify->setInt32("payload-type", 400);
                    notify->setInt32("feedback-type", 1);
                notify->setInt32("sender", it->mSources.valueAt(0)->getSelfID());
                    notify->setInt32("sender", it->mSources.valueAt(i)->getSelfID());
                    notify->post();

                    ALOGW("failed to receive RTP/RTCP datagram.");
                }
                it = mStreams.erase(it);
                continue;
            }