increase sdp rel-addr length limit: #2330 #2302

This commit is contained in:
ahaooahaz 2023-03-13 17:38:08 +08:00 committed by GitHub
parent 96e1cf8146
commit 37cb29fa8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -680,11 +680,11 @@ string SdpAttrSctpMap::toString() const {
void SdpAttrCandidate::parse(const string &str) { void SdpAttrCandidate::parse(const string &str) {
char foundation_buf[40] = {0}; char foundation_buf[40] = {0};
char transport_buf[16] = {0}; char transport_buf[16] = {0};
char address_buf[8*4+7+1] = {0}; char address_buf[64] = {0};
char type_buf[16] = {0}; char type_buf[16] = {0};
// https://datatracker.ietf.org/doc/html/rfc5245#section-15.1 // https://datatracker.ietf.org/doc/html/rfc5245#section-15.1
CHECK_SDP(sscanf(str.data(), "%32[^ ] %" SCNu32 " %15[^ ] %" SCNu32 " %39[^ ] %" SCNu16 " typ %15[^ ]", CHECK_SDP(sscanf(str.data(), "%32[^ ] %" SCNu32 " %15[^ ] %" SCNu32 " %63[^ ] %" SCNu16 " typ %15[^ ]",
foundation_buf, &component, transport_buf, &priority, address_buf, &port, type_buf) == 7); foundation_buf, &component, transport_buf, &priority, address_buf, &port, type_buf) == 7);
foundation = foundation_buf; foundation = foundation_buf;
transport = transport_buf; transport = transport_buf;