diff --git a/main/cdr.c b/main/cdr.c index fdf76454014502950c75cd80554b2e59a1146500..3681cdc6bd9951d233dfb9e8ed0c5c41b5530fca 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); }