Skip to content
Snippets Groups Projects
Commit db0d0363 authored by Mark Michelson's avatar Mark Michelson
Browse files

Fix crash in AMI PJSIPShowEndpoint action.

If an AOR has no permanent contacts, then the
permanent_contacts container is never allocated.
This makes the code safe in the face of NULLs.

I also changed the variable that counts contacts
from "num" to "total_contacts" since there are now
two variables that are indicate numbers of things.
........

Merged revisions 407988 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent fe1e8e55
No related branches found
No related tags found
No related merge requests found
......@@ -349,7 +349,8 @@ static int format_ami_aor_handler(void *obj, void *arg, int flags)
RAII_VAR(struct ast_str *, buf,
ast_sip_create_ami_event("AorDetail", ami), ast_free);
int num;
int total_contacts;
int num_permanent;
RAII_VAR(struct ao2_container *, contacts,
ast_sip_location_retrieve_aor_contacts(aor), ao2_cleanup);
......@@ -363,10 +364,13 @@ static int format_ami_aor_handler(void *obj, void *arg, int flags)
ast_str_truncate(buf, -1);
ast_str_append(&buf, 0, "\r\n");
num = ao2_container_count(contacts);
ast_str_append(&buf, 0, "TotalContacts: %d\r\n", num);
total_contacts = ao2_container_count(contacts);
num_permanent = aor->permanent_contacts ?
ao2_container_count(aor->permanent_contacts) : 0;
ast_str_append(&buf, 0, "TotalContacts: %d\r\n", total_contacts);
ast_str_append(&buf, 0, "ContactsRegistered: %d\r\n",
num - ao2_container_count(aor->permanent_contacts));
total_contacts - num_permanent);
ast_str_append(&buf, 0, "EndpointName: %s\r\n",
ast_sorcery_object_get_id(endpoint));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment