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 17:04:16 -0500
commite1927915bce78ef54e087ab6dadd03f410884a36 (patch)
tree6138c516ef346e8e4faf06820836e83a2197a3ed /res/res_pjsip_diversion.c
parente47396721f9c73b16ac7c7632dcd530f4e5b06c7 (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 3dfae455b..ea2c7cd13 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,