mirror of
https://github.com/bdnugget/php-src.git
synced 2026-11-10 02:30:50 +00:00
Compare commits
13
Commits
php-7.1.19
...
php-5.6.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
effcb5a973 | ||
|
|
0197082b8e | ||
|
|
10198311a8 | ||
|
|
ec779124cb | ||
|
|
5fd617f2f5 | ||
|
|
7f183044fd | ||
|
|
313ff116fa | ||
|
|
7a3fca3405 | ||
|
|
95b5fb115c | ||
|
|
4245c9327b | ||
|
|
4bf74b5af7 | ||
|
|
6f6b14fec4 | ||
|
|
d24c57e835 |
No files matched your search
@@ -1,7 +1,5 @@
|
||||
PHP NEWS
|
||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||
?? Apr 2015, PHP 5.6.8
|
||||
|
||||
19 Mar 2015, PHP 5.6.7
|
||||
|
||||
- Core:
|
||||
@@ -18,6 +16,16 @@
|
||||
. Fixed bug #68166 (Exception with invalid character causes segv). (Rasmus)
|
||||
. Fixed bug #69141 (Missing arguments in reflection info for some builtin
|
||||
functions). (kostyantyn dot lysyy at oracle dot com)
|
||||
. Fixed bug #68976 (Use After Free Vulnerability in unserialize()). (Stas)
|
||||
. Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM
|
||||
configuration options). (Anatol Belski)
|
||||
. Fixed bug #69207 (move_uploaded_file allows nulls in path). (Stas)
|
||||
|
||||
- CGI:
|
||||
. Fixed bug #69015 (php-cgi's getopt does not see $argv). (Laruence)
|
||||
|
||||
- CLI:
|
||||
. Fixed bug #67741 (auto_prepend_file messes up __LINE__). (Reeze Xia)
|
||||
|
||||
- cURL:
|
||||
. Fixed bug #69088 (PHP_MINIT_FUNCTION does not fully initialize cURL on
|
||||
@@ -25,6 +33,13 @@
|
||||
. Add CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5_HOSTNAME constants if supported
|
||||
by libcurl. (Linus Unneback)
|
||||
|
||||
- Ereg:
|
||||
. Fixed bug #69248 (heap overflow vulnerability in regcomp.c) (CVE-2015-2305).
|
||||
(Stas)
|
||||
|
||||
- FPM:
|
||||
. Fixed bug #68822 (request time is reset too early). (honghu069 at 163 dot com)
|
||||
|
||||
- ODBC:
|
||||
. Fixed bug #68964 (Allowed memory size exhausted with odbc_exec). (Anatol)
|
||||
|
||||
@@ -44,6 +59,8 @@
|
||||
(Daniel Lowrey)
|
||||
. Fixed bug #68265 (SAN match fails with trailing DNS dot) (Daniel Lowrey)
|
||||
. Fixed bug #67403 (Add signatureType to openssl_x509_parse) (Daniel Lowrey)
|
||||
. Fixed bug (#69195 Inconsistent stream crypto values across versions)
|
||||
(Daniel Lowrey)
|
||||
|
||||
- pgsql:
|
||||
. Fixed bug #68638 (pg_update() fails to store infinite values).
|
||||
@@ -63,14 +80,9 @@
|
||||
. Fixed bug #68557 (RecursiveDirectoryIterator::seek(0) broken after
|
||||
calling getChildren()). (Julien)
|
||||
|
||||
- CGI:
|
||||
. Fixed bug #69015 (php-cgi's getopt does not see $argv). (Laruence)
|
||||
|
||||
- CLI:
|
||||
. Fixed bug #67741 (auto_prepend_file messes up __LINE__). (Reeze Xia)
|
||||
|
||||
- FPM:
|
||||
. Fixed bug #68822 (request time is reset too early). (honghu069 at 163 dot com)
|
||||
- ZIP:
|
||||
. Fixed bug #69253 (ZIP Integer Overflow leads to writing past heap
|
||||
boundary) (CVE-2015-2331). (Stas)
|
||||
|
||||
19 Feb 2015, PHP 5.6.6
|
||||
|
||||
@@ -91,8 +103,8 @@
|
||||
. Fixed bug #68711 (useless comparisons). (bugreports at internot dot info)
|
||||
|
||||
- Enchant:
|
||||
. Fixed bug #68552 (heap buffer overflow in enchant_broker_request_dict()).
|
||||
(Antony)
|
||||
. Fixed bug #68552 (heap buffer overflow in enchant_broker_request_dict())
|
||||
(CVE-2014-9705). (Antony)
|
||||
|
||||
- Fileinfo:
|
||||
. Fixed bug #68827 (Double free with disabled ZMM). (Joshua Rogers)
|
||||
@@ -129,7 +141,8 @@
|
||||
named pipes). (steffenb198 at aol dot com)
|
||||
|
||||
- Phar:
|
||||
. Fixed bug #68901 (use after free). (bugreports at internot dot info)
|
||||
. Fixed bug #68901 (use after free) (CVE-2015-2301).
|
||||
(bugreports at internot dot info)
|
||||
|
||||
- Pgsql:
|
||||
. Fixed Bug #65199 (pg_copy_from() modifies input array variable) (Yasuo)
|
||||
|
||||
+2
-2
@@ -119,8 +119,8 @@ int zend_sprintf(char *buffer, const char *format, ...);
|
||||
|
||||
PHP_MAJOR_VERSION=5
|
||||
PHP_MINOR_VERSION=6
|
||||
PHP_RELEASE_VERSION=8
|
||||
PHP_EXTRA_VERSION="-dev"
|
||||
PHP_RELEASE_VERSION=7
|
||||
PHP_EXTRA_VERSION=""
|
||||
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
|
||||
PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
|
||||
|
||||
|
||||
@@ -117,7 +117,15 @@ int cflags;
|
||||
(NC-1)*sizeof(cat_t));
|
||||
if (g == NULL)
|
||||
return(REG_ESPACE);
|
||||
p->ssize = len/(size_t)2*(size_t)3 + (size_t)1; /* ugh */
|
||||
{
|
||||
/* Patched for CERT Vulnerability Note VU#695940, Feb 2015. */
|
||||
size_t new_ssize = len/(size_t)2*(size_t)3 + (size_t)1; /* ugh */
|
||||
if (new_ssize < len || new_ssize > LONG_MAX / sizeof(sop)) {
|
||||
free((char *) g);
|
||||
return REG_INVARG;
|
||||
}
|
||||
p->ssize = new_ssize;
|
||||
}
|
||||
p->strip = (sop *)malloc(p->ssize * sizeof(sop));
|
||||
p->slen = 0;
|
||||
if (p->strip == NULL) {
|
||||
|
||||
+5
-4
@@ -99,6 +99,11 @@ AC_DEFUN([PHP_ODBC_FIND_EMPRESS_BCS_LIBS],[
|
||||
dnl
|
||||
dnl configure options
|
||||
dnl
|
||||
|
||||
PHP_ARG_WITH(odbcver,,
|
||||
[ --with-odbcver[=HEX] Force support for the passed ODBC version. A hex number is expected, default 0x0300.
|
||||
Use the special value of 0 to prevent an explicit ODBCVER to be defined. ], 0x0300)
|
||||
|
||||
if test -z "$ODBC_TYPE"; then
|
||||
PHP_ARG_WITH(adabas,,
|
||||
[ --with-adabas[=DIR] Include Adabas D support [/usr/local]])
|
||||
@@ -490,10 +495,6 @@ PHP_ARG_WITH(dbmaker,,
|
||||
fi
|
||||
fi
|
||||
|
||||
PHP_ARG_WITH(odbcver,,
|
||||
[ --with-odbcver[=HEX] Force support for the passed ODBC version. A hex number is expected, default 0x0300.
|
||||
Use the special value of 0 to prevent an explicit ODBCVER to be defined. ], 0x0300)
|
||||
|
||||
if test "no" != "$PHP_ODBCVER"; then
|
||||
if test "$PHP_ODBCVER" != "0"; then
|
||||
AC_DEFINE_UNQUOTED(ODBCVER, $PHP_ODBCVER, [ The highest supported ODBC version ])
|
||||
|
||||
@@ -307,7 +307,7 @@ static zend_bool php_x509_fingerprint_match(X509 *peer, zval *val TSRMLS_DC)
|
||||
ulong key_index;
|
||||
|
||||
if (!zend_hash_num_elements(Z_ARRVAL_P(val))) {
|
||||
php_error_docref(NULL, E_WARNING, "Invalid peer_fingerprint array; [algo => fingerprint] form required" TSRMLS_CC);
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid peer_fingerprint array; [algo => fingerprint] form required");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ static zend_bool php_x509_fingerprint_match(X509 *peer, zval *val TSRMLS_DC)
|
||||
int key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(val), &key, &key_len, &key_index, 0, &pos);
|
||||
|
||||
if (!(key_type == HASH_KEY_IS_STRING && Z_TYPE_PP(current) == IS_STRING)) {
|
||||
php_error_docref(NULL, E_WARNING, "Invalid peer_fingerprint array; [algo => fingerprint] form required" TSRMLS_CC);
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid peer_fingerprint array; [algo => fingerprint] form required");
|
||||
return 0;
|
||||
}
|
||||
if (php_x509_fingerprint_cmp(peer, key, Z_STRVAL_PP(current) TSRMLS_CC) != 0) {
|
||||
@@ -329,8 +329,8 @@ static zend_bool php_x509_fingerprint_match(X509 *peer, zval *val TSRMLS_DC)
|
||||
return 1;
|
||||
|
||||
} else {
|
||||
php_error_docref(NULL, E_WARNING,
|
||||
"Invalid peer_fingerprint value; fingerprint string or array of the form [algo => fingerprint] required" TSRMLS_CC);
|
||||
php_error_docref(NULL TSRMLS_CC, E_WARNING,
|
||||
"Invalid peer_fingerprint value; fingerprint string or array of the form [algo => fingerprint] required");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -5805,7 +5805,7 @@ PHP_FUNCTION(move_uploaded_file)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &path, &path_len, &new_path, &new_path_len) == FAILURE) {
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sp", &path, &path_len, &new_path, &new_path_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -323,7 +323,7 @@ finish:
|
||||
|
||||
/* enable SSL transport layer */
|
||||
if (stream) {
|
||||
if (php_stream_xport_crypto_setup(stream, STREAM_CRYPTO_METHOD_ANY_CLIENT, NULL TSRMLS_CC) < 0 ||
|
||||
if (php_stream_xport_crypto_setup(stream, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 ||
|
||||
php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0) {
|
||||
php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "Cannot connect to HTTPS server through proxy");
|
||||
php_stream_close(stream);
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
--TEST--
|
||||
Bug #68976 Use After Free Vulnerability in unserialize()
|
||||
--FILE--
|
||||
<?php
|
||||
class evilClass {
|
||||
public $name;
|
||||
function __wakeup() {
|
||||
unset($this->name);
|
||||
}
|
||||
}
|
||||
|
||||
$fakezval = pack(
|
||||
'IIII',
|
||||
0x00100000,
|
||||
0x00000400,
|
||||
0x00000000,
|
||||
0x00000006
|
||||
);
|
||||
|
||||
$data = unserialize('a:2:{i:0;O:9:"evilClass":1:{s:4:"name";a:2:{i:0;i:1;i:1;i:2;}}i:1;R:4;}');
|
||||
|
||||
for($i = 0; $i < 5; $i++) {
|
||||
$v[$i] = $fakezval.$i;
|
||||
}
|
||||
|
||||
var_dump($data);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
array(2) {
|
||||
[0]=>
|
||||
object(evilClass)#1 (0) {
|
||||
}
|
||||
[1]=>
|
||||
int(1)
|
||||
}
|
||||
===DONE===
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Generated by re2c 0.13.5 */
|
||||
/* Generated by re2c 0.13.7.5 */
|
||||
#line 1 "ext/standard/var_unserializer.re"
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
@@ -347,6 +347,7 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, long
|
||||
zend_hash_update(ht, Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &data,
|
||||
sizeof data, NULL);
|
||||
}
|
||||
var_push_dtor(var_hash, &data);
|
||||
|
||||
zval_dtor(key);
|
||||
FREE_ZVAL(key);
|
||||
@@ -477,7 +478,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
|
||||
|
||||
|
||||
|
||||
#line 481 "ext/standard/var_unserializer.c"
|
||||
#line 482 "ext/standard/var_unserializer.c"
|
||||
{
|
||||
YYCTYPE yych;
|
||||
static const unsigned char yybm[] = {
|
||||
@@ -537,9 +538,9 @@ yy2:
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
if (yych == ':') goto yy95;
|
||||
yy3:
|
||||
#line 832 "ext/standard/var_unserializer.re"
|
||||
#line 833 "ext/standard/var_unserializer.re"
|
||||
{ return 0; }
|
||||
#line 543 "ext/standard/var_unserializer.c"
|
||||
#line 544 "ext/standard/var_unserializer.c"
|
||||
yy4:
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
if (yych == ':') goto yy89;
|
||||
@@ -582,13 +583,13 @@ yy13:
|
||||
goto yy3;
|
||||
yy14:
|
||||
++YYCURSOR;
|
||||
#line 826 "ext/standard/var_unserializer.re"
|
||||
#line 827 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
/* this is the case where we have less data than planned */
|
||||
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data");
|
||||
return 0; /* not sure if it should be 0 or 1 here? */
|
||||
}
|
||||
#line 592 "ext/standard/var_unserializer.c"
|
||||
#line 593 "ext/standard/var_unserializer.c"
|
||||
yy16:
|
||||
yych = *++YYCURSOR;
|
||||
goto yy3;
|
||||
@@ -614,11 +615,12 @@ yy20:
|
||||
if (yybm[0+yych] & 128) {
|
||||
goto yy20;
|
||||
}
|
||||
if (yych != ':') goto yy18;
|
||||
if (yych <= '/') goto yy18;
|
||||
if (yych >= ';') goto yy18;
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != '"') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 680 "ext/standard/var_unserializer.re"
|
||||
#line 681 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
size_t len, len2, len3, maxlen;
|
||||
long elements;
|
||||
@@ -764,7 +766,7 @@ yy20:
|
||||
|
||||
return object_common2(UNSERIALIZE_PASSTHRU, elements);
|
||||
}
|
||||
#line 768 "ext/standard/var_unserializer.c"
|
||||
#line 770 "ext/standard/var_unserializer.c"
|
||||
yy25:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych <= ',') {
|
||||
@@ -789,7 +791,7 @@ yy27:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != '"') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 672 "ext/standard/var_unserializer.re"
|
||||
#line 673 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
|
||||
INIT_PZVAL(*rval);
|
||||
@@ -797,7 +799,7 @@ yy27:
|
||||
return object_common2(UNSERIALIZE_PASSTHRU,
|
||||
object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR));
|
||||
}
|
||||
#line 801 "ext/standard/var_unserializer.c"
|
||||
#line 803 "ext/standard/var_unserializer.c"
|
||||
yy32:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych == '+') goto yy33;
|
||||
@@ -818,7 +820,7 @@ yy34:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != '{') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 652 "ext/standard/var_unserializer.re"
|
||||
#line 653 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
long elements = parse_iv(start + 2);
|
||||
/* use iv() not uiv() in order to check data range */
|
||||
@@ -838,7 +840,7 @@ yy34:
|
||||
|
||||
return finish_nested_data(UNSERIALIZE_PASSTHRU);
|
||||
}
|
||||
#line 842 "ext/standard/var_unserializer.c"
|
||||
#line 844 "ext/standard/var_unserializer.c"
|
||||
yy39:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych == '+') goto yy40;
|
||||
@@ -859,7 +861,7 @@ yy41:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != '"') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 623 "ext/standard/var_unserializer.re"
|
||||
#line 624 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
size_t len, maxlen;
|
||||
char *str;
|
||||
@@ -888,7 +890,7 @@ yy41:
|
||||
ZVAL_STRINGL(*rval, str, len, 0);
|
||||
return 1;
|
||||
}
|
||||
#line 892 "ext/standard/var_unserializer.c"
|
||||
#line 894 "ext/standard/var_unserializer.c"
|
||||
yy46:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych == '+') goto yy47;
|
||||
@@ -909,7 +911,7 @@ yy48:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != '"') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 595 "ext/standard/var_unserializer.re"
|
||||
#line 596 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
size_t len, maxlen;
|
||||
char *str;
|
||||
@@ -937,7 +939,7 @@ yy48:
|
||||
ZVAL_STRINGL(*rval, str, len, 1);
|
||||
return 1;
|
||||
}
|
||||
#line 941 "ext/standard/var_unserializer.c"
|
||||
#line 943 "ext/standard/var_unserializer.c"
|
||||
yy53:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych <= '/') {
|
||||
@@ -1025,7 +1027,7 @@ yy61:
|
||||
}
|
||||
yy63:
|
||||
++YYCURSOR;
|
||||
#line 585 "ext/standard/var_unserializer.re"
|
||||
#line 586 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
#if SIZEOF_LONG == 4
|
||||
use_double:
|
||||
@@ -1035,7 +1037,7 @@ use_double:
|
||||
ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL));
|
||||
return 1;
|
||||
}
|
||||
#line 1039 "ext/standard/var_unserializer.c"
|
||||
#line 1041 "ext/standard/var_unserializer.c"
|
||||
yy65:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych <= ',') {
|
||||
@@ -1094,7 +1096,7 @@ yy73:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != ';') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 570 "ext/standard/var_unserializer.re"
|
||||
#line 571 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
*p = YYCURSOR;
|
||||
INIT_PZVAL(*rval);
|
||||
@@ -1109,7 +1111,7 @@ yy73:
|
||||
|
||||
return 1;
|
||||
}
|
||||
#line 1113 "ext/standard/var_unserializer.c"
|
||||
#line 1115 "ext/standard/var_unserializer.c"
|
||||
yy76:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych == 'N') goto yy73;
|
||||
@@ -1136,7 +1138,7 @@ yy79:
|
||||
if (yych <= '9') goto yy79;
|
||||
if (yych != ';') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 543 "ext/standard/var_unserializer.re"
|
||||
#line 544 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
#if SIZEOF_LONG == 4
|
||||
int digits = YYCURSOR - start - 3;
|
||||
@@ -1163,7 +1165,7 @@ yy79:
|
||||
ZVAL_LONG(*rval, parse_iv(start + 2));
|
||||
return 1;
|
||||
}
|
||||
#line 1167 "ext/standard/var_unserializer.c"
|
||||
#line 1169 "ext/standard/var_unserializer.c"
|
||||
yy83:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych <= '/') goto yy18;
|
||||
@@ -1171,24 +1173,24 @@ yy83:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych != ';') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 536 "ext/standard/var_unserializer.re"
|
||||
#line 537 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
*p = YYCURSOR;
|
||||
INIT_PZVAL(*rval);
|
||||
ZVAL_BOOL(*rval, parse_iv(start + 2));
|
||||
return 1;
|
||||
}
|
||||
#line 1182 "ext/standard/var_unserializer.c"
|
||||
#line 1184 "ext/standard/var_unserializer.c"
|
||||
yy87:
|
||||
++YYCURSOR;
|
||||
#line 529 "ext/standard/var_unserializer.re"
|
||||
#line 530 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
*p = YYCURSOR;
|
||||
INIT_PZVAL(*rval);
|
||||
ZVAL_NULL(*rval);
|
||||
return 1;
|
||||
}
|
||||
#line 1192 "ext/standard/var_unserializer.c"
|
||||
#line 1194 "ext/standard/var_unserializer.c"
|
||||
yy89:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych <= ',') {
|
||||
@@ -1211,7 +1213,7 @@ yy91:
|
||||
if (yych <= '9') goto yy91;
|
||||
if (yych != ';') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 506 "ext/standard/var_unserializer.re"
|
||||
#line 507 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
long id;
|
||||
|
||||
@@ -1234,7 +1236,7 @@ yy91:
|
||||
|
||||
return 1;
|
||||
}
|
||||
#line 1238 "ext/standard/var_unserializer.c"
|
||||
#line 1240 "ext/standard/var_unserializer.c"
|
||||
yy95:
|
||||
yych = *++YYCURSOR;
|
||||
if (yych <= ',') {
|
||||
@@ -1257,7 +1259,7 @@ yy97:
|
||||
if (yych <= '9') goto yy97;
|
||||
if (yych != ';') goto yy18;
|
||||
++YYCURSOR;
|
||||
#line 485 "ext/standard/var_unserializer.re"
|
||||
#line 486 "ext/standard/var_unserializer.re"
|
||||
{
|
||||
long id;
|
||||
|
||||
@@ -1278,9 +1280,9 @@ yy97:
|
||||
|
||||
return 1;
|
||||
}
|
||||
#line 1282 "ext/standard/var_unserializer.c"
|
||||
#line 1284 "ext/standard/var_unserializer.c"
|
||||
}
|
||||
#line 834 "ext/standard/var_unserializer.re"
|
||||
#line 835 "ext/standard/var_unserializer.re"
|
||||
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -351,6 +351,7 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, long
|
||||
zend_hash_update(ht, Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &data,
|
||||
sizeof data, NULL);
|
||||
}
|
||||
var_push_dtor(var_hash, &data);
|
||||
|
||||
zval_dtor(key);
|
||||
FREE_ZVAL(key);
|
||||
|
||||
@@ -110,7 +110,7 @@ _zip_cdir_new(zip_uint64_t nentry, struct zip_error *error)
|
||||
|
||||
if (nentry == 0)
|
||||
cd->entry = NULL;
|
||||
else if ((cd->entry=(struct zip_entry *)malloc(sizeof(*(cd->entry))*(size_t)nentry)) == NULL) {
|
||||
else if (nentry > ((size_t)-1)/sizeof(*(cd->entry)) || (cd->entry=(struct zip_entry *)malloc(sizeof(*(cd->entry))*(size_t)nentry)) == NULL) {
|
||||
_zip_error_set(error, ZIP_ER_MEMORY, 0);
|
||||
free(cd);
|
||||
return NULL;
|
||||
|
||||
+4
-4
@@ -2,7 +2,7 @@
|
||||
/* edit configure.in to change version number */
|
||||
#define PHP_MAJOR_VERSION 5
|
||||
#define PHP_MINOR_VERSION 6
|
||||
#define PHP_RELEASE_VERSION 8
|
||||
#define PHP_EXTRA_VERSION "-dev"
|
||||
#define PHP_VERSION "5.6.8-dev"
|
||||
#define PHP_VERSION_ID 50608
|
||||
#define PHP_RELEASE_VERSION 7
|
||||
#define PHP_EXTRA_VERSION ""
|
||||
#define PHP_VERSION "5.6.7"
|
||||
#define PHP_VERSION_ID 50607
|
||||
@@ -169,19 +169,25 @@ typedef struct _php_stream_xport_param {
|
||||
typedef enum {
|
||||
STREAM_CRYPTO_METHOD_SSLv2_CLIENT = (1 << 1 | 1),
|
||||
STREAM_CRYPTO_METHOD_SSLv3_CLIENT = (1 << 2 | 1),
|
||||
STREAM_CRYPTO_METHOD_SSLv23_CLIENT = ((1 << 1) | (1 << 2) | 1),
|
||||
/* v23 no longer negotiates SSL2 or SSL3 */
|
||||
STREAM_CRYPTO_METHOD_SSLv23_CLIENT = ((1 << 3) | (1 << 4) | (1 << 5) | 1),
|
||||
STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT = (1 << 3 | 1),
|
||||
STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT = (1 << 4 | 1),
|
||||
STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT = (1 << 5 | 1),
|
||||
STREAM_CRYPTO_METHOD_TLS_CLIENT = ((1 << 3) | (1 << 4) | (1 << 5) | 1),
|
||||
/* tls now equates only to the specific TLSv1 method for BC with pre-5.6 */
|
||||
STREAM_CRYPTO_METHOD_TLS_CLIENT = (1 << 3 | 1),
|
||||
STREAM_CRYPTO_METHOD_TLS_ANY_CLIENT = ((1 << 3) | (1 << 4) | (1 << 5) | 1),
|
||||
STREAM_CRYPTO_METHOD_ANY_CLIENT = ((1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5) | 1),
|
||||
STREAM_CRYPTO_METHOD_SSLv2_SERVER = (1 << 1),
|
||||
STREAM_CRYPTO_METHOD_SSLv3_SERVER = (1 << 2),
|
||||
STREAM_CRYPTO_METHOD_SSLv23_SERVER = ((1 << 1) | (1 << 2)),
|
||||
/* v23 no longer negotiates SSL2 or SSL3 */
|
||||
STREAM_CRYPTO_METHOD_SSLv23_SERVER = ((1 << 3) | (1 << 4) | (1 << 5)),
|
||||
STREAM_CRYPTO_METHOD_TLSv1_0_SERVER = (1 << 3),
|
||||
STREAM_CRYPTO_METHOD_TLSv1_1_SERVER = (1 << 4),
|
||||
STREAM_CRYPTO_METHOD_TLSv1_2_SERVER = (1 << 5),
|
||||
STREAM_CRYPTO_METHOD_TLS_SERVER = ((1 << 3) | (1 << 4) | (1 << 5)),
|
||||
/* tls equates only to the specific TLSv1 method for BC with pre-5.6 */
|
||||
STREAM_CRYPTO_METHOD_TLS_SERVER = (1 << 3),
|
||||
STREAM_CRYPTO_METHOD_TLS_ANY_SERVER = ((1 << 3) | (1 << 4) | (1 << 5)),
|
||||
STREAM_CRYPTO_METHOD_ANY_SERVER = ((1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) | (1 << 5))
|
||||
} php_stream_xport_crypt_method_t;
|
||||
|
||||
|
||||
+1
-1
@@ -261,7 +261,7 @@ void UpdateIniFromRegistry(char *path TSRMLS_DC)
|
||||
zend_hash_get_current_data_ex(ht, (void**)&data, &pos) == SUCCESS &&
|
||||
zend_hash_get_current_key_ex(ht, &index, &index_len, &num, 0, &pos) == HASH_KEY_IS_STRING;
|
||||
zend_hash_move_forward_ex(ht, &pos)) {
|
||||
zend_alter_ini_entry(index, index_len, Z_STRVAL_PP(data), Z_STRLEN_PP(data), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
|
||||
zend_alter_ini_entry(index, index_len, Z_STRVAL_PP(data), Z_STRLEN_PP(data), PHP_INI_USER, PHP_INI_STAGE_ACTIVATE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user