sdp: Don't select addresses failing to parse
Change-Id: Ibfc308bdfab77d0032d8f20c2f0df913e336b75b
This commit is contained in:
parent
b6cb607d12
commit
cebab664a8
13
src/sdp.c
13
src/sdp.c
|
@ -164,20 +164,21 @@ bool sdp_extract_sdp(struct sip_call_leg *leg, const sip_t *sip, bool any_codec)
|
||||||
for (conn = sdp->sdp_connection; conn; conn = conn->c_next) {
|
for (conn = sdp->sdp_connection; conn; conn = conn->c_next) {
|
||||||
switch (conn->c_addrtype) {
|
switch (conn->c_addrtype) {
|
||||||
case sdp_addr_ip4:
|
case sdp_addr_ip4:
|
||||||
|
if (inet_pton(AF_INET, conn->c_address,
|
||||||
|
&((struct sockaddr_in*)&leg->base.addr)->sin_addr) != 1)
|
||||||
|
continue;
|
||||||
leg->base.addr.ss_family = AF_INET;
|
leg->base.addr.ss_family = AF_INET;
|
||||||
inet_pton(AF_INET, conn->c_address,
|
|
||||||
&((struct sockaddr_in*)&leg->base.addr)->sin_addr);
|
|
||||||
found_conn = true;
|
|
||||||
break;
|
break;
|
||||||
case sdp_addr_ip6:
|
case sdp_addr_ip6:
|
||||||
|
if (inet_pton(AF_INET6, conn->c_address,
|
||||||
|
&((struct sockaddr_in6*)&leg->base.addr)->sin6_addr) != 1)
|
||||||
|
continue;
|
||||||
leg->base.addr.ss_family = AF_INET6;
|
leg->base.addr.ss_family = AF_INET6;
|
||||||
inet_pton(AF_INET6, conn->c_address,
|
|
||||||
&((struct sockaddr_in6*)&leg->base.addr)->sin6_addr);
|
|
||||||
found_conn = true;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
found_conn = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue