Skip to content
Snippets Groups Projects
Commit 3c8598ff 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 3d379845
No related branches found
No related tags found
No related merge requests found
......@@ -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