diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 0073db895c48093ad39051025a1e826881f17568..f9a2027b349ac1368a3c903e7509272664cfd734 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3321,6 +3321,11 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_ ast_filerename(tmptxtfile, fn, NULL); rename(tmptxtfile, txtfile); + /* Properly set permissions on voicemail text descriptor file. + Unfortunately mkstemp() makes this file 0600 on most unix systems. */ + if (chmod(txtfile, VOICEMAIL_FILE_MODE) < 0) + ast_log(LOG_ERROR, "Couldn't set permissions on voicemail text file %s: %s", txtfile, strerror(errno)); + ast_unlock_path(dir); if (ast_check_realtime("voicemail_data")) { snprintf(tmpid, sizeof(tmpid), "%d", rtmsgid);