res_pjsip: Fix multiple of the same contact in "pjsip show contacts".

The code for gathering contacts could result in the same contact
being retrieved and added to the list multiple times. The container
which stores the contacts to display will now only allow a contact
to be added to it once instead of multiple times.

ASTERISK-28228

Change-Id: I805185cfcec03340f57d2b9e6cc43c49401812df
13.29
Joshua Colp 6 years ago
parent 46beb0fa1a
commit c6a34ddbf4

@ -1046,7 +1046,11 @@ static struct ao2_container *cli_contact_get_container(const char *regex)
return NULL;
}
contacts_container = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_NOLOCK, 0,
/* Retrieving all the contacts may result in finding the same contact multiple
* times. So that they don't get displayed multiple times we only allow a
* single one to be placed into the container.
*/
contacts_container = ao2_container_alloc_list(AO2_ALLOC_OPT_LOCK_NOLOCK, AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT,
cli_contact_sort, cli_contact_compare);
if (!contacts_container) {
return NULL;

Loading…
Cancel
Save