Skip to content
Snippets Groups Projects
Commit fe58bc7b authored by Alexei Gradinari's avatar Alexei Gradinari
Browse files

res_pjsip: Fix transport_states ref leak

Add missing ao2_ref(transport_state, -1) while iterate on a transport_states
container.

Change-Id: I40e35b5a339121300c80075c30db47201a6c374e
parent a9bdbdc4
No related branches found
No related tags found
No related merge requests found
...@@ -111,14 +111,13 @@ static pjsip_transport *get_udp_transport(pj_str_t *address, int port) ...@@ -111,14 +111,13 @@ 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)) { for (iter = ao2_iterator_init(transport_states, 0); (transport_state = ao2_iterator_next(&iter)); ao2_ref(transport_state, -1)) {
if (transport_state && ((transport_state->type != AST_TRANSPORT_UDP) || if (transport_state->type == AST_TRANSPORT_UDP &&
(pj_strcmp(&transport_state->transport->local_name.host, address)) || !pj_strcmp(&transport_state->transport->local_name.host, address) &&
(transport_state->transport->local_name.port != port))) { transport_state->transport->local_name.port == port) {
continue; sip_transport = transport_state->transport;
ao2_ref(transport_state, -1);
break;
} }
sip_transport = transport_state->transport;
break;
} }
ao2_iterator_destroy(&iter); ao2_iterator_destroy(&iter);
......
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