Skip to content
Snippets Groups Projects
Commit 505939c9 authored by Nick French's avatar Nick French Committed by Friendly Automation
Browse files

res_pjsip: Prevent segfault in UDP registration with flow transports

Segfault occurs during outbound UDP registration when all
transport states are being iterated over. The transport object
in the transport is accessed, but flow transports have a NULL
transport object.

Modify to not iterate over any flow transport

ASTERISK-29210 #close

Change-Id: If28dc3a18bdcbd0a49598b09b7fe4404d45c996a
parent 80c14f74
No related branches found
No related tags found
3 merge requests!138Merge branch asterisk-20.3.0 into devel properly,!123Merge asterisk '20.3.0' into devel,!118Draft: manager: AOC-S support for AOCMessage
......@@ -111,7 +111,8 @@ static pjsip_transport *get_udp_transport(pj_str_t *address, int port)
}
for (iter = ao2_iterator_init(transport_states, 0); (transport_state = ao2_iterator_next(&iter)); ao2_ref(transport_state, -1)) {
if (transport_state->type == AST_TRANSPORT_UDP &&
if (!transport_state->flow &&
transport_state->type == AST_TRANSPORT_UDP &&
!pj_strcmp(&transport_state->transport->local_name.host, address) &&
transport_state->transport->local_name.port == port) {
sip_transport = transport_state->transport;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment