Also Fixed #68571 in CGI SAPI, and some cleanup

This commit is contained in:
Xinchen Hui 2015-01-27 22:11:23 +08:00
parent 6c87372199
commit 8c2d91761a
6 changed files with 17 additions and 9 deletions

5
NEWS
View File

@ -2,6 +2,7 @@ PHP NEWS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2015, PHP 5.5.22 ?? ??? 2015, PHP 5.5.22
- Date: - Date:
. Fixed bug #45081 (strtotime incorrectly interprets SGT time zone). (Derick) . Fixed bug #45081 (strtotime incorrectly interprets SGT time zone). (Derick)
. Fixed bug #55407 (Impossible to prototype DateTime::createFromFormat). . Fixed bug #55407 (Impossible to prototype DateTime::createFromFormat).
@ -13,6 +14,10 @@ PHP NEWS
- Fileinfo: - Fileinfo:
. Fixed bug #68827 (Double free with disabled ZMM). (Joshua Rogers) . Fixed bug #68827 (Double free with disabled ZMM). (Joshua Rogers)
- FPM:
. Fixed bug #68571 (core dump when webserver close the socket).
(redfoxli069 at gmail dot com, Laruence)
- OpenSSL: - OpenSSL:
. Fixed bug #55618 (use case-insensitive cert name matching). . Fixed bug #55618 (use case-insensitive cert name matching).
(Daniel Lowrey) (Daniel Lowrey)

View File

@ -730,13 +730,16 @@ static void sapi_cgi_log_message(char *message TSRMLS_DC)
request = (fcgi_request*) SG(server_context); request = (fcgi_request*) SG(server_context);
if (request) { if (request) {
int len = strlen(message); int ret, len = strlen(message);
char *buf = malloc(len+2); char *buf = malloc(len+2);
memcpy(buf, message, len); memcpy(buf, message, len);
memcpy(buf + len, "\n", sizeof("\n")); memcpy(buf + len, "\n", sizeof("\n"));
fcgi_write(request, FCGI_STDERR, buf, len+1); ret = fcgi_write(request, FCGI_STDERR, buf, len + 1);
free(buf); free(buf);
if (ret < 0) {
php_handle_aborted_connection();
}
} else { } else {
fprintf(stderr, "%s\n", message); fprintf(stderr, "%s\n", message);
} }

View File

@ -1321,6 +1321,7 @@ int fcgi_flush(fcgi_request *req, int close)
if (safe_write(req, req->out_buf, len) != len) { if (safe_write(req, req->out_buf, len) != len) {
req->keep = 0; req->keep = 0;
req->out_pos = req->out_buf;
return 0; return 0;
} }

View File

@ -975,7 +975,7 @@ int fcgi_flush(fcgi_request *req, int close)
if (safe_write(req, req->out_buf, len) != len) { if (safe_write(req, req->out_buf, len) != len) {
req->keep = 0; req->keep = 0;
req->out_pos = req->out_buf; req->out_pos = req->out_buf;
return 0; return 0;
} }

View File

@ -669,15 +669,15 @@ void sapi_cgi_log_fastcgi(int level, char *message, size_t len)
* - the message is not empty * - the message is not empty
*/ */
if (CGIG(fcgi_logging) && request && message && len > 0) { if (CGIG(fcgi_logging) && request && message && len > 0) {
int ret;
char *buf = malloc(len + 2); char *buf = malloc(len + 2);
ssize_t ret = 0;
memcpy(buf, message, len); memcpy(buf, message, len);
memcpy(buf + len, "\n", sizeof("\n")); memcpy(buf + len, "\n", sizeof("\n"));
ret = fcgi_write(request, FCGI_STDERR, buf, len+1); ret = fcgi_write(request, FCGI_STDERR, buf, len + 1);
free(buf); free(buf);
if (ret <= 0) { if (ret < 0) {
php_handle_aborted_connection(); php_handle_aborted_connection();
} }
} }
} }
/* }}} */ /* }}} */

View File

@ -43,7 +43,6 @@ Content-Type: application/octet-stream
phpinfo(); phpinfo();
?> ?>
-----------------------------240723202011929-- -----------------------------240723202011929--
--FILE-- --FILE--
<?php <?php
error_reporting(0); error_reporting(0);