Skip to content

Commit 3e798c4

Browse files
committed
Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src: (146 commits) Flush stderr on win32 in cli_log_message Fixed bug #73154 FIx bug #70213 Fix dom class can't be inherited by the internal class Another try at making concat_003 more reliable Fix flaky openssl_pkey_new test Make Opcache tests using the cli server more reliable Revert "Fix #73530: Unsetting result set may reset other result set" define php_ap_map_http_request_error function for older httpd only add old versions of httpd support Disable AppVeyor fast_finish Makes the sapi web server and curl tests more reliable Fixes the curl tests to be more reliable in Travis CI Interpretation of curl_setopt values for boolean parameters Fixes #65689. PDO_Firebrid / exec() does not free allocated statement. Fix alpn_ctx leaking in openssl Fixed bug #73373 (deflate_add does not verify that output was not truncated) Fix IS_UNDEF comparisons in opcache Fixed bug #73704 (phpdbg shows the wrong line in files with shebang) Increase timing quota for small string concat test ...
2 parents e077735 + 935b5cb commit 3e798c4

File tree

168 files changed

+6092
-4609
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

168 files changed

+6092
-4609
lines changed

.appveyor.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
version: "{branch}.build.{build}"
3+
4+
image: Visual Studio 2015
5+
6+
clone_depth: 64
7+
8+
cache:
9+
- c:\build-cache
10+
- c:\build-cache\sdk -> .appveyor.yml
11+
12+
environment:
13+
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
14+
PHP_BUILD_OBJ_DIR: c:\obj
15+
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
16+
PHP_BUILD_SDK_BRANCH: php-sdk-2.0.0alpha6
17+
# ext and env setup for tests
18+
#MYSQL_TEST_PASSWD: Password12!
19+
#MYSQL_TEST_USER: root
20+
#PDO_MYSQL_TEST_DSN: "pgsql:host=127.0.0.1 port=5432 dbname=test user=root password=Password12!"
21+
#PDO_MYSQL_TEST_USER: root
22+
#PDO_MYSQL_TEST_PASS: Password12!
23+
#PGSQL_TEST_CONNSTR: "host=127.0.0.1 dbname=test port=5432 user=postgres password=Password12!"
24+
#PDO_PGSQL_TEST_DSN: "pgsql:host=127.0.0.1 port=5432 dbname=test user=postgres password=Password12!"
25+
#build permutations
26+
matrix:
27+
- THREAD_SAFE: 0
28+
OPCACHE: 0
29+
- THREAD_SAFE: 1
30+
OPCACHE: 1
31+
32+
services:
33+
# the setup scripts have to be touched, once some other db version is used
34+
- mysql
35+
- postgresql95
36+
37+
platform:
38+
- x64
39+
# - x86
40+
41+
build_script:
42+
- appveyor\build.bat
43+
44+
test_script:
45+
- appveyor\test.bat
46+

NEWS

Lines changed: 82 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,68 @@
11
PHP NEWS
22
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3-
?? ??? 2016 PHP 7.0.14
3+
?? ??? 2016 PHP 7.0.15
44

5-
- Calendar:
6-
. Fix integer overflows (Joshua Rogers)
5+
- Core:
6+
. Fixed bug #73792 (invalid foreach loop hangs script). (Dmitry)
7+
. Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created
8+
with list()). (Laruence)
9+
. Fixed bug #73585 (Logging of "Internal Zend error - Missing class
10+
information" missing class name). (Laruence)
11+
. Fixed bug #73753 (unserialized array pointer not advancing). (David Walker)
12+
13+
- COM:
14+
. Fixed bug #73679 (DOTNET read access violation using invalid codepage).
15+
(Anatol)
16+
17+
- Mysqlnd:
18+
. Fixed issue with decoding BIT columns when having more than one rows in the
19+
result set. 7.0+ problem. (Andrey)
20+
21+
- PCRE:
22+
. Fixed bug #73612 (preg_*() may leak memory). (cmb)
23+
24+
- PDO_Firebird:
25+
. Fixed bug #72931 (PDO_FIREBIRD with Firebird 3.0 not work on returning
26+
statement). (Dorin Marcoci)
27+
28+
- Streams:
29+
. Fixed bug #73586 (php_user_filter::$stream is not set to the stream the
30+
filter is working on). (Dmitry)
31+
32+
- Phpdbg:
33+
. Fixed bug #73615 (phpdbg without option never load .phpdbginit at startup).
34+
(Bob)
35+
. Fixed issue getting executable lines from custom wrappers. (Bob)
36+
. Fixed bug #73704 (phpdbg shows the wrong line in files with shebang). (Bob)
37+
38+
- Reflection:
39+
. Fixed bug #46103 (ReflectionObject memory leak). (Nikita)
40+
41+
- SQLite3:
42+
. Reverted fix for bug #73530 (Unsetting result set may reset other result
43+
set). (cmb)
44+
45+
- Standard:
46+
. Fixed bug #73594 (dns_get_record does not populate $additional out
47+
parameter). (Bruce Weirdan)
48+
. Fixed bug #70213 (Unserialize context shared on double class lookup).
49+
(Taoguang Chen)
50+
. Fixed bug #73154 (serialize object with __sleep function crash). (Nikita)
51+
52+
- Zlib:
53+
. Fixed bug #73373 (deflate_add does not verify that output was not truncated).
54+
(Matt Bonneau)
55+
56+
08 Dec 2016 PHP 7.0.14
757

858
- Core:
59+
. Fixed memory leak(null coalescing operator with Spl hash). (Tyson Andre)
960
. Fixded bug #72736 (Slow performance when fetching large dataset with mysqli
1061
/ PDO). (Dmitry)
1162

63+
- Calendar:
64+
. Fix integer overflows (Joshua Rogers)
65+
1266
- Date:
1367
. Fixed bug #69587 (DateInterval properties and isset). (jhdxr)
1468

@@ -17,9 +71,12 @@ PHP NEWS
1771
This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
1872
(Dmitry)
1973

20-
- Mysqlnd:
21-
. Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*). (cmb)
22-
74+
- JSON:
75+
. Fixed bug #73526 (php_json_encode depth issue). (Jakub Zelenka)
76+
77+
- Mysqlnd:
78+
. Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*). (cmb)
79+
2380
- ODBC:
2481
. Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes).
2582
(Anatol)
@@ -29,22 +86,39 @@ PHP NEWS
2986
. Fixed bug #73546 (Logging for opcache has an empty file name). (mhagstrand)
3087

3188
- PCRE:
89+
. Fixed bug #73483 (Segmentation fault on pcre_replace_callback). (Laruence)
3290
. Fixed bug #73392 (A use-after-free in zend allocator management).
3391
(Laruence)
3492

3593
- PDO_Firebird:
3694
. Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam).
3795
(Dorin Marcoci)
3896

97+
- Postgres:
98+
. Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()). (Craig Duncan)
99+
100+
- Phar:
101+
. Fixed bug #73580 (Phar::isValidPharFilename illegal memory access). (Stas)
102+
103+
- Soap:
104+
. Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP
105+
headers). (duncan3dc)
106+
. Fixed bug #73452 (Segfault (Regression for #69152)). (Dmitry)
107+
39108
- SPL:
40109
. Fixed bug #73423 (Reproducible crash with GDB backtrace). (Laruence)
41110

42111
- SQLite3:
43112
. Fixed bug #73530 (Unsetting result set may reset other result set). (cmb)
44113

45114
- Standard:
46-
. Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
47-
(rowan dot collins at gmail dot com)
115+
. Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
116+
(rowan dot collins at gmail dot com)
117+
. Fixed bug #73645 (version_compare illegal write access). (Stas)
118+
119+
- Wddx:
120+
. Fixed bug #73631 (Invalid read when wddx decodes empty boolean element).
121+
(Stas)
48122

49123
- XML:
50124
. Fixed bug #72135 (malformed XML causes fault) (edgarsandi)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This is the github mirror of the official PHP repository located at
55
http://git.php.net.
66

77
[![Build Status](https://secure.travis-ci.org/php/php-src.svg?branch=master)](http://travis-ci.org/php/php-src)
8+
[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy?svg=true)](https://ci.appveyor.com/project/php/php-src)
89

910
Pull Requests
1011
=============

UPGRADING

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,7 @@ Other
484484
is defined in the interface.
485485
. session.lazy_write(default=On) INI setting enables only write session data when
486486
session data is updated.
487+
. session_regenerate_id() saves current $_SESSION before creating new session ID.
487488

488489
- Opcache
489490
. Removed opcache.load_comments configuration directive. Now doc comments

Zend/tests/assign_to_obj_002.phpt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
--TEST--
2+
Assign to $this leaks when $this not defined
3+
--FILE--
4+
<?php
5+
6+
try {
7+
$this->a = new stdClass;
8+
} catch (Error $e) { echo $e->getMessage(), "\n"; }
9+
10+
?>
11+
--EXPECT--
12+
Using $this when not in object context

Zend/tests/bug73663.phpt

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
--TEST--
2+
Bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list())
3+
--FILE--
4+
<?php
5+
function change(&$ref) {
6+
$ref = range(1, 10);
7+
return;
8+
}
9+
10+
$func = function (&$ref) {
11+
return change($ref);
12+
};
13+
14+
$array = [1];
15+
var_dump(list($val) = $array); // NG: Invalid opcode
16+
17+
change(list($val) = $array);
18+
var_dump($array);
19+
20+
$array = [1];
21+
22+
$func(list($val) = $array);
23+
var_dump($array);
24+
?>
25+
--EXPECT--
26+
array(1) {
27+
[0]=>
28+
int(1)
29+
}
30+
array(10) {
31+
[0]=>
32+
int(1)
33+
[1]=>
34+
int(2)
35+
[2]=>
36+
int(3)
37+
[3]=>
38+
int(4)
39+
[4]=>
40+
int(5)
41+
[5]=>
42+
int(6)
43+
[6]=>
44+
int(7)
45+
[7]=>
46+
int(8)
47+
[8]=>
48+
int(9)
49+
[9]=>
50+
int(10)
51+
}
52+
array(10) {
53+
[0]=>
54+
int(1)
55+
[1]=>
56+
int(2)
57+
[2]=>
58+
int(3)
59+
[3]=>
60+
int(4)
61+
[4]=>
62+
int(5)
63+
[5]=>
64+
int(6)
65+
[6]=>
66+
int(7)
67+
[7]=>
68+
int(8)
69+
[8]=>
70+
int(9)
71+
[9]=>
72+
int(10)
73+
}

Zend/tests/bug73753.phpt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--TEST--
2+
Bug #73753 Non packed arrays and duplication
3+
--FILE--
4+
<?php
5+
function iterate($current, $a, $result = null) {
6+
if (!$current) {
7+
return $result;
8+
}
9+
10+
return iterate(getNext($a), $a, $current);
11+
}
12+
13+
function getNext(&$a) {
14+
return next($a);
15+
}
16+
17+
function getCurrent($a) {
18+
return current($a);
19+
}
20+
21+
function traverse($a) {
22+
return iterate(getCurrent($a), $a);
23+
}
24+
25+
$arr = array(1 => 'foo', 'b' => 'bar', 'baz');
26+
var_dump(traverse($arr));
27+
?>
28+
--EXPECTF--
29+
string(3) "baz"

Zend/tests/bug73792.phpt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--TEST--
2+
Bug #73792 (invalid foreach loop hangs script)
3+
--FILE--
4+
<?php
5+
$a = 'aaa';
6+
7+
foreach ($a['bbb'] as &$value) {
8+
echo 'loop';
9+
}
10+
11+
unset($value);
12+
echo 'done';
13+
?>
14+
--EXPECTF--
15+
Warning: Illegal string offset 'bbb' in %sbug73792.php on line 4
16+
17+
Fatal error: Uncaught Error: Cannot iterate on string offsets by reference in %sbug73792.php:4
18+
Stack trace:
19+
#0 {main}
20+
thrown in %sbug73792.php on line 4

0 commit comments

Comments
 (0)