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
}
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;