From b37d7b5d0a635e2adcbd377e8e95e8fd22f90114 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 7a9b1a2e21..0043f2a350 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -3913,7 +3913,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); } } -- 2.47.2