app_voicemail: Fix enhancement that allowed multiple recipients in To: header
authorMatthew Jordan <mjordan@digium.com>
Sun, 9 Nov 2014 00:14:56 +0000 (00:14 +0000)
committerMatthew Jordan <mjordan@digium.com>
Sun, 9 Nov 2014 00:14:56 +0000 (00:14 +0000)
An issue existed in r420577, which added multiple recipients to voicemail
emails. The patch, when looking at the intended recipients, looked ahead for
the '|' character inside a while loop which already had pulled out the
appropriate field parsing on the '|' character. This would cause it to skip
the recipients.

This patch fixes it such that it relies completely on the while loop to parse
through the e-mail fields.

Note that the original author of the patch looked at this fix and approved it.

ASTERISK-24250 #close
Reported by: abelbeck
patches:
  voicemail-420577-to-comma-fix.diff uploaded by abelbeck (License 5903)
........

Merged revisions 427585 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@427586 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index 0ebad3d..97322df 100644 (file)
@@ -5063,7 +5063,7 @@ static void make_email_file(FILE *p,
        fprintf(p, "To:");
        first_line = 1;
        while ((email = strsep(&emailsbuf, "|"))) {
-               char *next = strchr(S_OR(emailsbuf, ""), '|');
+               char *next = emailsbuf;
                if (check_mime(vmu->fullname)) {
                        char *ptr;
                        ast_str_encode_mime(&str2, 0, vmu->fullname, first_line ? strlen("To: ") : 0, strlen(email) + 3 + (next ? strlen(",") : 0));