diff options
author | George Joseph <gjoseph@digium.com> | 2017-11-08 08:26:58 -0600 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-11-08 08:26:58 -0600 |
commit | 4392cc4a611d12ab136ac1e327b45b6f1dd3b349 (patch) | |
tree | d8b30a802b12d06f4826358a1b5d8edff292da34 | |
parent | 85057a9ee52809c89afc713006fac33c6b5d3f1f (diff) | |
parent | 5f501b339ee2693bd7877af4cb87e723953d1da7 (diff) |
Merge "AST-2017-010: Fix cdr_object_update_party_b_userfield_cb() buf overrun" into 15
-rw-r--r-- | main/cdr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/cdr.c b/main/cdr.c index fdf764540..3681cdc6b 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -3407,7 +3407,8 @@ static int cdr_object_update_party_b_userfield_cb(void *obj, void *arg, void *da ast_assert(cdr->party_b.snapshot && !strcasecmp(cdr->party_b.snapshot->name, info->channel_name)); - strcpy(cdr->party_b.userfield, info->userfield); + ast_copy_string(cdr->party_b.userfield, info->userfield, + sizeof(cdr->party_b.userfield)); } return 0; @@ -3430,7 +3431,8 @@ void ast_cdr_setuserfield(const char *channel_name, const char *userfield) if (it_cdr->fn_table == &finalized_state_fn_table && it_cdr->next != NULL) { continue; } - ast_copy_string(it_cdr->party_a.userfield, userfield, AST_MAX_USER_FIELD); + ast_copy_string(it_cdr->party_a.userfield, userfield, + sizeof(it_cdr->party_a.userfield)); } ao2_unlock(cdr); } |