summaryrefslogtreecommitdiff
path: root/res/res_pjsip_endpoint_identifier_anonymous.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_pjsip_endpoint_identifier_anonymous.c')
-rw-r--r--res/res_pjsip_endpoint_identifier_anonymous.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/res/res_pjsip_endpoint_identifier_anonymous.c b/res/res_pjsip_endpoint_identifier_anonymous.c
index a52946632..a1144a88e 100644
--- a/res/res_pjsip_endpoint_identifier_anonymous.c
+++ b/res/res_pjsip_endpoint_identifier_anonymous.c
@@ -56,9 +56,11 @@ static int find_transport_state_in_use(void *obj, void *arg, int flags)
return 0;
}
+#define DOMAIN_NAME_LEN 255
+
static struct ast_sip_endpoint *anonymous_identify(pjsip_rx_data *rdata)
{
- char domain_name[64], id[AST_UUID_STR_LEN];
+ char domain_name[DOMAIN_NAME_LEN + 1];
struct ast_sip_endpoint *endpoint;
RAII_VAR(struct ast_sip_domain_alias *, alias, NULL, ao2_cleanup);
RAII_VAR(struct ao2_container *, transport_states, NULL, ao2_cleanup);
@@ -70,6 +72,8 @@ static struct ast_sip_endpoint *anonymous_identify(pjsip_rx_data *rdata)
}
if (!ast_sip_get_disable_multi_domain()) {
+ char id[sizeof("anonymous@") + DOMAIN_NAME_LEN];
+
/* Attempt to find the endpoint given the name and domain provided */
snprintf(id, sizeof(id), "anonymous@%s", domain_name);
if ((endpoint = ast_sorcery_retrieve_by_id(ast_sip_get_sorcery(), "endpoint", id))) {