From 9c2871edf4df413fdb43dbaee063677b970f21a2 Mon Sep 17 00:00:00 2001 From: "Joshua C. Colp" Date: Wed, 27 May 2020 11:35:42 -0300 Subject: [PATCH] res_pjsip: Use correct pool for storing the contact_user value. When replacing the user portion of the Contact URI the code was using the ephemeral pool instead of the tdata pool. This could cause the Contact user value to become invalid after a period of time. The code will now use the tdata pool which persists for the lifetime of the message instead. ASTERISK-28794 Change-Id: I31e7b958e397cbdaeedd0ebb70bcf8dd2ed3c4d5 --- res/res_pjsip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/res_pjsip.c b/res/res_pjsip.c index 152d9e19b4..659c631f69 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -4038,7 +4038,7 @@ static int create_out_of_dialog_request(const pjsip_method *method, struct ast_s contact_hdr = pjsip_msg_find_hdr_by_names((*tdata)->msg, &HCONTACT, &HCONTACTSHORT, NULL); if (contact_hdr) { contact_uri = pjsip_uri_get_uri(contact_hdr->uri); - pj_strdup2(pool, &contact_uri->user, endpoint->contact_user); + pj_strdup2((*tdata)->pool, &contact_uri->user, endpoint->contact_user); } }