Fixed incorrect SDP buffer length calculation (#3924)

This commit is contained in:
sauwming 2024-04-17 11:22:14 +08:00 committed by GitHub
parent c5bc3d1ef5
commit 0d2ebdc7e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 4 deletions

View File

@ -895,9 +895,11 @@ static int print_session(const pjmedia_sdp_session *ses,
int printed;
/* Check length for v= and o= lines. */
if (len < 5+
2+ses->origin.user.slen+18+
ses->origin.net_type.slen+ses->origin.addr.slen + 2)
if (len < 5 + 2 + ses->origin.user.slen +
20 + 20 + 3 + /* max digits of origin.id and version +
* whitespaces */
ses->origin.net_type.slen + ses->origin.addr_type.slen +
ses->origin.addr.slen + 2 + 2)
{
return -1;
}
@ -959,7 +961,7 @@ static int print_session(const pjmedia_sdp_session *ses,
}
/* Time */
if ((end-p) < 24) {
if ((end-p) < 2+20+1+20+2) {
return -1;
}
*p++ = 't';