diff --git a/src/Rtp/RtpSession.cpp b/src/Rtp/RtpSession.cpp index c7a7c809..9104ffdd 100644 --- a/src/Rtp/RtpSession.cpp +++ b/src/Rtp/RtpSession.cpp @@ -57,6 +57,9 @@ void RtpSession::onManager() { } void RtpSession::onRtpPacket(const char *data, uint64_t len) { + if (len > 1024 * 2) { + throw SockException(Err_shutdown, "rtp包长度异常,发送端可能缓存溢出并覆盖"); + } if (!_process) { uint32_t ssrc; if (!RtpSelector::getSSRC(data, len, ssrc)) {