diff --git a/res/res_pjsip_header_funcs.c b/res/res_pjsip_header_funcs.c index ac3bea4372..43df0a7b04 100644 --- a/res/res_pjsip_header_funcs.c +++ b/res/res_pjsip_header_funcs.c @@ -501,6 +501,7 @@ static int add_header(void *obj) static int update_header(void *obj) { struct header_data *data = obj; + pj_pool_t *pool = data->channel->session->inv_session->dlg->pool; pjsip_hdr *hdr = NULL; RAII_VAR(struct ast_datastore *, datastore, ast_sip_session_get_datastore(data->channel->session, header_datastore.type), @@ -519,7 +520,7 @@ static int update_header(void *obj) return -1; } - pj_strcpy2(&((pjsip_generic_string_hdr *) hdr)->hvalue, data->header_value); + pj_strdup2(pool, &((pjsip_generic_string_hdr *) hdr)->hvalue, data->header_value); return 0; }