Skip to content

Commit fb8840f

Browse files
committed
Bugfix: Only operate on pSenderTranceiver if it was found
- The code path traces and tries to take lock on `pSenderTranceiver` even if it is NULL - This makes the code crash if pSenderTranceiver is NULL FIX: Check if pSenderTranceiver is NULL before dereferencing
1 parent 3d34274 commit fb8840f

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/source/PeerConnection/Retransmitter.c

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,17 @@ STATUS resendPacketOnNack(PRtcpPacket pRtcpPacket, PKvsPeerConnection pKvsPeerCo
121121
pRtpPacket = NULL;
122122
}
123123
}
124-
CleanUp:
125124

126-
MUTEX_LOCK(pSenderTranceiver->statsLock);
127-
pSenderTranceiver->outboundStats.nackCount += nackCount;
128-
pSenderTranceiver->outboundStats.retransmittedPacketsSent += retransmittedPacketsSent;
129-
pSenderTranceiver->outboundStats.retransmittedBytesSent += retransmittedBytesSent;
130-
MUTEX_UNLOCK(pSenderTranceiver->statsLock);
125+
CleanUp:
126+
if (pSenderTranceiver != NULL) {
127+
MUTEX_LOCK(pSenderTranceiver->statsLock);
128+
pSenderTranceiver->outboundStats.nackCount += nackCount;
129+
pSenderTranceiver->outboundStats.retransmittedPacketsSent += retransmittedPacketsSent;
130+
pSenderTranceiver->outboundStats.retransmittedBytesSent += retransmittedBytesSent;
131+
MUTEX_UNLOCK(pSenderTranceiver->statsLock);
132+
} else {
133+
DLOGD("Retransmit pSenderTranceiver is NULL");
134+
}
131135

132136
CHK_LOG_ERR(retStatus);
133137
if (pRtpPacket != NULL) {

0 commit comments

Comments
 (0)