diff options
-rw-r--r-- | main/cdr.c | 6 | ||||
-rw-r--r-- | res/res_pjproject.c | 2 |
2 files changed, 5 insertions, 3 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); } diff --git a/res/res_pjproject.c b/res/res_pjproject.c index 86b2502e5..6137898a3 100644 --- a/res/res_pjproject.c +++ b/res/res_pjproject.c @@ -234,7 +234,7 @@ static void capture_buildopts_cb(int level, const char *data, int len) } dup = ast_strdup(ast_skip_blanks(data)); - if (AST_VECTOR_ADD_SORTED(&buildopts, dup, strcmp)) { + if (dup && AST_VECTOR_ADD_SORTED(&buildopts, dup, strcmp)) { ast_free(dup); } } |