CHAOS: res_pjsip_diversion avoid crash if allocation fails
authorRichard Mudgett <rmudgett@digium.com>
Thu, 17 Sep 2015 21:59:18 +0000 (16:59 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 17 Sep 2015 22:04:16 +0000 (17:04 -0500)
Validate ast_malloc buffer returned before using it in
set_redirecting_value().

ASTERISK-25323

Change-Id: I15d2ed7cb0546818264c0bf251aa40adeae83253

res/res_pjsip_diversion.c

index 3dfae45..ea2c7cd 100644 (file)
@@ -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,