summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
Diffstat (limited to 'win32')
-rw-r--r--win32/sendmail.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/win32/sendmail.c b/win32/sendmail.c
index 9e31028d58..c82dc7b3c6 100644
--- a/win32/sendmail.c
+++ b/win32/sendmail.c
@@ -458,6 +458,16 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
if (NULL == (pos2 = strstr(pos1, "\r\n"))) {
tempMailTo = estrndup(pos1, strlen(pos1));
} else {
+ char *pos3;
+ while (pos2[2] == ' ' || pos2[2] == '\t') {
+ pos3 = strstr(pos2 + 2, "\r\n");
+ if (pos3 != NULL) {
+ pos2 = pos3;
+ } else {
+ pos2 += strlen(pos2);
+ break;
+ }
+ }
tempMailTo = estrndup(pos1, pos2 - pos1);
}
@@ -516,7 +526,22 @@ static int SendText(char *RPath, char *Subject, char *mailTo, char *mailCc, char
header we know it was the last thing. */
pos2 = pos1;
} else {
+ char *pos3 = NULL;
+ while (pos2[2] == ' ' || pos2[2] == '\t') {
+ pos3 = strstr(pos2 + 2, "\r\n");
+ if (pos3 != NULL) {
+ pos2 = pos3;
+ } else {
+ pos2 += strlen(pos2);
+ break;
+ }
+ }
tempMailTo = estrndup(pos1, pos2 - pos1);
+ if (pos3 == NULL) {
+ /* Later, when we remove the Bcc: out of the
+ header we know it was the last thing. */
+ pos2 = pos1;
+ }
}
token = strtok(tempMailTo, ",");