summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2015-09-02 23:36:43 +0800
committerXinchen Hui <laruence@gmail.com>2015-09-02 23:36:43 +0800
commit7cf8df55970b0c2a44bae5c56c6a74dfb1ccfe08 (patch)
tree25ec760c1849b50481bec3545c85bf48c47d094c
parent1cfd12d618d8f4f38d0dc728e49446a3ffd2d923 (diff)
parentebb6f5eae6b37b0202eff325b05932f0b1c28944 (diff)
downloadphp-git-7cf8df55970b0c2a44bae5c56c6a74dfb1ccfe08.tar.gz
Merge branch 'master' of git.php.net:/php-src
-rw-r--r--TSRM/tsrm_win32.c2
-rw-r--r--ext/session/session.c3
-rw-r--r--ext/session/tests/session_decode_error2.phpt78
-rw-r--r--main/SAPI.c14
-rw-r--r--main/streams/plain_wrapper.c6
5 files changed, 51 insertions, 52 deletions
diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c
index e596741680..7bafd2b7b1 100644
--- a/TSRM/tsrm_win32.c
+++ b/TSRM/tsrm_win32.c
@@ -49,7 +49,7 @@ TSRMLS_CACHE_UPDATE();
globals->shm = NULL;
globals->process_size = 0;
globals->shm_size = 0;
- globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
+ globals->comspec = _strdup("cmd.exe");
/* Set it to INVALID_HANDLE_VALUE
* It will be initialized correctly in tsrm_win32_access or set to
diff --git a/ext/session/session.c b/ext/session/session.c
index 06c6de40e4..46b817be28 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -942,7 +942,7 @@ PS_SERIALIZER_DECODE_FUNC(php_binary) /* {{{ */
if ((tmp = zend_hash_find(&EG(symbol_table), name))) {
if ((Z_TYPE_P(tmp) == IS_ARRAY && Z_ARRVAL_P(tmp) == &EG(symbol_table)) || tmp == &PS(http_session_vars)) {
- efree(name);
+ zend_string_release(name);
continue;
}
}
@@ -954,6 +954,7 @@ PS_SERIALIZER_DECODE_FUNC(php_binary) /* {{{ */
var_replace(&var_hash, &current, zv);
} else {
zval_ptr_dtor(&current);
+ zend_string_release(name);
PHP_VAR_UNSERIALIZE_DESTROY(var_hash);
return FAILURE;
}
diff --git a/ext/session/tests/session_decode_error2.phpt b/ext/session/tests/session_decode_error2.phpt
index 30be58765f..37841deed8 100644
--- a/ext/session/tests/session_decode_error2.phpt
+++ b/ext/session/tests/session_decode_error2.phpt
@@ -55,210 +55,210 @@ array(0) {
-- Iteration 4 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 5 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 6 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 7 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 8 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 9 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 10 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 11 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 12 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 13 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 14 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 15 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 16 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 17 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 18 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 19 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 20 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 21 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 22 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 23 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 24 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 25 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 26 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 27 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 28 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 29 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 30 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 31 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 32 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 33 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
@@ -335,28 +335,28 @@ array(1) {
-- Iteration 39 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 40 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 41 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 42 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
@@ -478,32 +478,32 @@ array(2) {
-- Iteration 48 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 49 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 50 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-- Iteration 51 --
-Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s/session_decode_error2.php on line %d
+Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s%esession_decode_error2.php on line %d
bool(false)
array(0) {
}
-Warning: session_destroy(): Trying to destroy uninitialized session in %s/session_decode_error2.php on line %d
+Warning: session_destroy(): Trying to destroy uninitialized session in %s%esession_decode_error2.php on line %d
bool(false)
Done
diff --git a/main/SAPI.c b/main/SAPI.c
index 1709ab1012..c0ea144015 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -43,12 +43,6 @@
#include "rfc1867.h"
-#ifdef PHP_WIN32
-#define STRCASECMP stricmp
-#else
-#define STRCASECMP strcasecmp
-#endif
-
#include "php_content_types.h"
#ifdef ZTS
@@ -778,7 +772,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg)
colon_offset = strchr(header_line, ':');
if (colon_offset) {
*colon_offset = 0;
- if (!STRCASECMP(header_line, "Content-Type")) {
+ if (!strcasecmp(header_line, "Content-Type")) {
char *ptr = colon_offset+1, *mimetype = NULL, *newheader;
size_t len = header_line_len - (ptr - header_line), newlen;
while (*ptr == ' ') {
@@ -810,7 +804,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg)
}
efree(mimetype);
SG(sapi_headers).send_default_content_type = 0;
- } else if (!STRCASECMP(header_line, "Content-Length")) {
+ } else if (!strcasecmp(header_line, "Content-Length")) {
/* Script is setting Content-length. The script cannot reasonably
* know the size of the message body after compression, so it's best
* do disable compression altogether. This contributes to making scripts
@@ -820,7 +814,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg)
zend_alter_ini_entry_chars(key,
"0", sizeof("0") - 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
zend_string_release(key);
- } else if (!STRCASECMP(header_line, "Location")) {
+ } else if (!strcasecmp(header_line, "Location")) {
if ((SG(sapi_headers).http_response_code < 300 ||
SG(sapi_headers).http_response_code > 399) &&
SG(sapi_headers).http_response_code != 201) {
@@ -836,7 +830,7 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg)
sapi_update_response_code(302);
}
}
- } else if (!STRCASECMP(header_line, "WWW-Authenticate")) { /* HTTP Authentication */
+ } else if (!strcasecmp(header_line, "WWW-Authenticate")) { /* HTTP Authentication */
sapi_update_response_code(401); /* authentication-required */
}
if (sapi_header.header==header_line) {
diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c
index 101fe4aa53..066f7789a7 100644
--- a/main/streams/plain_wrapper.c
+++ b/main/streams/plain_wrapper.c
@@ -336,7 +336,11 @@ static size_t php_stdiop_write(php_stream *stream, const char *buf, size_t count
if (data->fd >= 0) {
#ifdef PHP_WIN32
- int bytes_written = write(data->fd, buf, (unsigned int)count);
+ int bytes_written;
+ if (ZEND_SIZE_T_UINT_OVFL(count)) {
+ count = UINT_MAX;
+ }
+ bytes_written = _write(data->fd, buf, (unsigned int)count);
#else
int bytes_written = write(data->fd, buf, count);
#endif