Skip to content

Commit cc62e98

Browse files
committed
[core] Fixed CRcvBufferNew::strFullnessState(..).
Possible null pointer object call after if (m_entries[iLastPos].pUnit). Show the first valid packet instead of the very first position in the buffer.
1 parent b8e788a commit cc62e98

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

srtcore/buffer_rcv.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1002,11 +1002,11 @@ string CRcvBufferNew::strFullnessState(int iFirstUnackSeqNo, const time_point& t
10021002
ss << " pkts. ";
10031003
if (m_tsbpd.isEnabled() && m_iMaxPosInc > 0)
10041004
{
1005+
const PacketInfo nextValidPkt = getFirstValidPacketInfo();
10051006
ss << " (TSBPD ready in ";
1006-
if (m_entries[m_iStartPos].pUnit)
1007+
if (!is_zero(nextValidPkt.tsbpd_time))
10071008
{
1008-
const uint32_t usPktTimestamp = m_entries[m_iStartPos].pUnit->m_Packet.getMsgTimeStamp();
1009-
ss << count_milliseconds(m_tsbpd.getPktTsbPdTime(usPktTimestamp) - tsNow);
1009+
ss << count_milliseconds(nextValidPkt.tsbpd_time - tsNow);
10101010
}
10111011
else
10121012
{
@@ -1017,7 +1017,7 @@ string CRcvBufferNew::strFullnessState(int iFirstUnackSeqNo, const time_point& t
10171017
if (m_entries[iLastPos].pUnit)
10181018
{
10191019
ss << ":";
1020-
const uint32_t usPktTimestamp = m_entries[m_iStartPos].pUnit->m_Packet.getMsgTimeStamp();
1020+
const uint32_t usPktTimestamp = m_entries[iLastPos].pUnit->m_Packet.getMsgTimeStamp();
10211021
ss << count_milliseconds(m_tsbpd.getPktTsbPdTime(usPktTimestamp) - tsNow);
10221022
ss << " ms";
10231023
}

0 commit comments

Comments
 (0)