summaryrefslogtreecommitdiff
path: root/res/res_pjsip_diversion.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2015-09-17 16:59:18 -0500
committerRichard Mudgett <rmudgett@digium.com>2015-09-17 16:59:18 -0500
commit4cc59533b903b3d55e8b388f28385287e712ae62 (patch)
tree9048b6b3bbcc52a4cff2804949ca5401b4318475 /res/res_pjsip_diversion.c
parenta665b3128177fc87036d7eb8b3174ac85e791d22 (diff)
CHAOS: res_pjsip_diversion avoid crash if allocation fails
Validate ast_malloc buffer returned before using it in set_redirecting_value(). ASTERISK-25323 Change-Id: I15d2ed7cb0546818264c0bf251aa40adeae83253
Diffstat (limited to 'res/res_pjsip_diversion.c')
-rw-r--r--res/res_pjsip_diversion.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/res/res_pjsip_diversion.c b/res/res_pjsip_diversion.c
index 49f789212..4d9aca4a1 100644
--- a/res/res_pjsip_diversion.c
+++ b/res/res_pjsip_diversion.c
@@ -117,7 +117,9 @@ static void set_redirecting_value(char **dst, const pj_str_t *src)
{
ast_free(*dst);
*dst = ast_malloc(pj_strlen(src) + 1);
- ast_copy_pj_str(*dst, src, pj_strlen(src) + 1);
+ if (*dst) {
+ ast_copy_pj_str(*dst, src, pj_strlen(src) + 1);
+ }
}
static void set_redirecting_id(pjsip_name_addr *name_addr, struct ast_party_id *data,