Merge pull request #918 from ZLMediaKit/feature/fix-sdp-candidate-parse

webrtc: 修正 sdp 中 candidate 解析问题
This commit is contained in:
夏楚 2021-06-18 17:07:08 +08:00 committed by GitHub
commit e3708e744e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -704,12 +704,13 @@ string SdpAttrSctpMap::toString() const {
} }
void SdpAttrCandidate::parse(const string &str) { void SdpAttrCandidate::parse(const string &str) {
char foundation_buf[32] = {0}; char foundation_buf[40] = {0};
char transport_buf[16] = {0}; char transport_buf[16] = {0};
char address_buf[32] = {0}; char address_buf[32] = {0};
char type_buf[16] = {0}; char type_buf[16] = {0};
if (7 != sscanf(str.data(), "%31[^ ] %" SCNu32 " %15[^ ] %" SCNu32 " %31[^ ] %" SCNu16 " typ %15[^ ]", // https://datatracker.ietf.org/doc/html/rfc5245#section-15.1
if (7 != sscanf(str.data(), "%32[^ ] %" SCNu32 " %15[^ ] %" SCNu32 " %31[^ ] %" SCNu16 " typ %15[^ ]",
foundation_buf, &component, transport_buf, &priority, address_buf, &port, type_buf)) { foundation_buf, &component, transport_buf, &priority, address_buf, &port, type_buf)) {
SDP_THROW(); SDP_THROW();
} }