summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-11-19 19:26:33 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2020-11-19 19:26:56 +0100
commitc7343510e40c57b14111195e14bb31df3527db3f (patch)
treec8c0e8f0984cfe3138aa7a716ccddff1170f06bc /win32
parent2e27bb86823313616cf5abd04249e0505d5453d8 (diff)
parent881e43a03c774bf8d31b5fe751bd493447174ad0 (diff)
downloadphp-git-c7343510e40c57b14111195e14bb31df3527db3f.tar.gz
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4: Fix #72964: White space not unfolded for CC/Bcc headers
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 3d73ef9b5b..059bc946ee 100644
--- a/win32/sendmail.c
+++ b/win32/sendmail.c
@@ -459,6 +459,16 @@ static int SendText(char *RPath, const char *Subject, const char *mailTo, 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);
}
@@ -517,7 +527,22 @@ static int SendText(char *RPath, const char *Subject, const char *mailTo, 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, ",");