pjsip_configuration: Fix leak in persistent_endpoint_update_state.
The loop to find the first available contact of an endpoint grabbed contact from the iterator, then checked for offline state. This caused the first contact after the state was found to leak a reference. ASTERISK-25141 Change-Id: Id0f1d87410fc63742db0594eb4b18b36e99aec08
This commit is contained in:
parent
bef000dd7c
commit
9f1939ee27
|
@ -103,8 +103,7 @@ static int persistent_endpoint_update_state(void *obj, void *arg, void *data, in
|
|||
contacts = ast_sip_location_retrieve_contacts_from_aor_list(persistent->aors);
|
||||
if (contacts) {
|
||||
i = ao2_iterator_init(contacts, 0);
|
||||
while ((contact = ao2_iterator_next(&i))
|
||||
&& state == AST_ENDPOINT_OFFLINE) {
|
||||
while (state == AST_ENDPOINT_OFFLINE && (contact = ao2_iterator_next(&i))) {
|
||||
struct ast_sip_contact_status *contact_status;
|
||||
const char *contact_id = ast_sorcery_object_get_id(contact);
|
||||
|
||||
|
|
Loading…
Reference in New Issue