summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-05-31 11:37:19 +0200
committerAleksander Machniak <alec@alec.pl>2013-05-31 11:38:24 +0200
commitf5fac810dd2b9276994585789cc68f71c4cd4cd3 (patch)
treec2171e27ef8d19a5b146cc16f7e2324ff4ae698a
parente12ac4e9b55ea44d0fb6e165f473a41083151d43 (diff)
Fix PHP warning when responding to a message with many Return-Path headers (#1489136)
Conflicts: CHANGELOG
-rw-r--r--CHANGELOG1
-rw-r--r--program/steps/mail/func.inc9
2 files changed, 7 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 2c41057bf..57a7f4a97 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix PHP warning when responding to a message with many Return-Path headers (#1489136)
- Fix unintentional compose window resize (#1489114)
- Fix performance regression in text wrapping function (#1489133)
- Fix connection to posgtres db using unix socket (#1489132)
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 0845bf738..47800564c 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -1803,9 +1803,12 @@ function rcmail_identity_select($MESSAGE, $identities = null, $compose_mode = 'r
// Try Return-Path
if ($from_idx === null && ($return_path = $MESSAGE->headers->others['return-path'])) {
foreach ($identities as $idx => $ident) {
- if (strpos($return_path, str_replace('@', '=', $ident['email_ascii']).'@') !== false) {
- $from_idx = $idx;
- break;
+ $ident = str_replace('@', '=', $ident['email_ascii']) . '@';
+ foreach ((array)$return_path as $path) {
+ if (strpos($path, $ident) !== false) {
+ $from_idx = $idx;
+ break 2;
+ }
}
}
}