summaryrefslogtreecommitdiff
path: root/ext/session/session.c
diff options
context:
space:
mode:
authorArpad Ray <arraypad@gmail.com>2013-06-27 19:05:23 +0100
committerArpad Ray <arraypad@gmail.com>2013-06-27 19:05:23 +0100
commitce8c023910562e84d5e00825a1e784174bcb3f1b (patch)
tree998921258dfde42039587e6f1da4a6cfa8abd025 /ext/session/session.c
parentfa8611c81ee72839cdff3e72b18cc586feb4aa29 (diff)
downloadphp-git-ce8c023910562e84d5e00825a1e784174bcb3f1b.tar.gz
Fix bug #62535 - $_SESSION[$key]["cancel_upload"] doesn't work as documented
When uploading multiple files, the array in the session where the progress data is stored (and cancel_upload key is set) was overwritten whenever the progress data was updated, so pending uploads would proceed anyway.
Diffstat (limited to 'ext/session/session.c')
-rw-r--r--ext/session/session.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index d9989ba753..a130947419 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -2366,7 +2366,7 @@ static void php_session_rfc1867_update(php_session_rfc1867_progress *progress, i
php_session_initialize(TSRMLS_C);
PS(session_status) = php_session_active;
IF_SESSION_VARS() {
- progress->cancel_upload = php_check_cancel_upload(progress TSRMLS_CC);
+ progress->cancel_upload |= php_check_cancel_upload(progress TSRMLS_CC);
ZEND_SET_SYMBOL_WITH_LENGTH(Z_ARRVAL_P(PS(http_session_vars)), progress->key.c, progress->key.len+1, progress->data, 2, 0);
}
php_session_flush(TSRMLS_C);