aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2011-05-04 16:17:14 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2011-05-04 16:17:14 +0000
commit892257fa27508bcc29e9210baa62ce7c71f80116 (patch)
tree06e126749573c197cc56f97ca0edf0415dfc6924 /apps
parent210f244663e30667d6d148d7f493e3c2b397148b (diff)
Merged revisions 316709 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r316709 | seanbright | 2011-05-04 12:15:32 -0400 (Wed, 04 May 2011) | 22 lines Merged revisions 316708 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r316708 | seanbright | 2011-05-04 12:10:59 -0400 (Wed, 04 May 2011) | 15 lines Merged revisions 316707 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r316707 | seanbright | 2011-05-04 12:08:50 -0400 (Wed, 04 May 2011) | 8 lines If sox fails when processing a voicemail, don't delete the original file. (closes issue #18111) Reported by: sysreq Patches: issue18111_trunk.patch uploaded by seanbright (license 71) Tested by: seanbright ........ ................ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@316711 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_voicemail.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 81387429d..a61673802 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -4734,6 +4734,7 @@ static int add_email_attachment(FILE *p, struct ast_vm_user *vmu, char *format,
char fname[256];
char tmpcmd[256];
int tmpfd = -1;
+ int soxstatus = 0;
/* Eww. We want formats to tell us their own MIME type */
char *ctype = (!strcasecmp(format, "ogg")) ? "application/" : "audio/x-";
@@ -4745,7 +4746,6 @@ static int add_email_attachment(FILE *p, struct ast_vm_user *vmu, char *format,
chmod(newtmp, VOICEMAIL_FILE_MODE & ~my_umask);
ast_debug(3, "newtmp: %s\n", newtmp);
if (tmpfd > -1) {
- int soxstatus;
snprintf(tmpcmd, sizeof(tmpcmd), "sox -v %.4f %s.%s %s.%s", vmu->volgain, attach, format, newtmp, format);
if ((soxstatus = ast_safe_system(tmpcmd)) == 0) {
attach = newtmp;
@@ -4773,7 +4773,9 @@ static int add_email_attachment(FILE *p, struct ast_vm_user *vmu, char *format,
if (last)
fprintf(p, ENDL ENDL "--%s--" ENDL "." ENDL, bound);
if (tmpfd > -1) {
- unlink(fname);
+ if (soxstatus == 0) {
+ unlink(fname);
+ }
close(tmpfd);
unlink(newtmp);
}