summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzuul <zuul@gerrit.asterisk.org>2017-02-20 18:29:24 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-02-20 18:29:24 -0600
commit50e984115dead1c500903a5f8767b463a1bcd88c (patch)
treec2ce0c4dea83c2cd455d5478068851c7cd47c41c
parent8dde33d184b1c47f7319eb3a6492711bdfdbd0e6 (diff)
parentb18f1bfb13a9cd20ea16d07d8ed78e2669282cc4 (diff)
Merge "app_voicemail: vm_authenticate accesses uninitialized memory"
-rw-r--r--apps/app_voicemail.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 91e810429..1d7ffc042 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -11190,7 +11190,7 @@ static int vm_authenticate(struct ast_channel *chan, char *mailbox, int mailbox_
return -1;
}
if (vmu && !skipuser) {
- memcpy(res_vmu, vmu, sizeof(struct ast_vm_user));
+ *res_vmu = *vmu;
}
return 0;
}
@@ -11352,8 +11352,8 @@ static int vm_execmain(struct ast_channel *chan, const char *data)
int box;
int useadsi = 0;
int skipuser = 0;
- struct vm_state vms;
- struct ast_vm_user *vmu = NULL, vmus;
+ struct vm_state vms = {{0}};
+ struct ast_vm_user *vmu = NULL, vmus = {{0}};
char *context = NULL;
int silentexit = 0;
struct ast_flags flags = { 0 };
@@ -11366,12 +11366,8 @@ static int vm_execmain(struct ast_channel *chan, const char *data)
#endif
/* Add the vm_state to the active list and keep it active */
- memset(&vms, 0, sizeof(vms));
-
vms.lastmsg = -1;
- memset(&vmus, 0, sizeof(vmus));
-
ast_test_suite_event_notify("START", "Message: vm_execmain started");
if (ast_channel_state(chan) != AST_STATE_UP) {
ast_debug(1, "Before ast_answer\n");
@@ -12664,7 +12660,7 @@ static struct ast_custom_function vm_info_acf = {
static int vmauthenticate(struct ast_channel *chan, const char *data)
{
char *s, *user = NULL, *context = NULL, mailbox[AST_MAX_EXTENSION] = "";
- struct ast_vm_user vmus;
+ struct ast_vm_user vmus = {{0}};
char *options = NULL;
int silent = 0, skipuser = 0;
int res = -1;