Skip to content

Commit 6ef7c63

Browse files
committed
Merge branch 'master' into PHP-7.0.0
* master: (201 commits) sync NEWS Add missing variable from birdstep_commit() which got removed in e8fcd52 Align NEWS entries format Add CVE for #70140 (PHP 7.0.0 Beta 3) Seems master is not affected We should keep one refcount to resource Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex) Fixed test Partially fix bug #67167 - Wrong return value... move the phpdbg NEWS entry to the correct version add missing news entries Skip if ext/filter isn't loaded Merge branch 'PHP-5.6' 5.5.30 next Use ZSTR_VAL fix dir separators in test use correct api fix leak cleanup an atavism add overflow check ...
2 parents b7e910e + fcece2a commit 6ef7c63

File tree

215 files changed

+3453
-1500
lines changed

Some content is hidden

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

215 files changed

+3453
-1500
lines changed

.gdbinit

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ define ____printzv_contents
152152
set $type = $zvalue->u1.v.type
153153

154154
# 15 == IS_INDIRECT
155-
if $type >= 5 && $type != 15
155+
if $type > 5 && $type != 15
156156
printf "(refcount=%d) ", $zvalue->value.counted->gc.refcount
157157
end
158158

@@ -181,7 +181,7 @@ define ____printzv_contents
181181
printf "array: "
182182
if ! $arg1
183183
set $ind = $ind + 1
184-
____print_ht $zvalue->value.arr
184+
____print_ht $zvalue->value.arr 1
185185
set $ind = $ind - 1
186186
set $i = $ind
187187
while $i > 0

.travis.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
language: c
22

3-
branches:
4-
except:
5-
- phpng
6-
73
notifications:
84
email:
95
on_failure: change

TSRM/tsrm_win32.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ TSRMLS_CACHE_UPDATE();
4949
globals->shm = NULL;
5050
globals->process_size = 0;
5151
globals->shm_size = 0;
52-
globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
52+
globals->comspec = _strdup("cmd.exe");
5353

5454
/* Set it to INVALID_HANDLE_VALUE
5555
* It will be initialized correctly in tsrm_win32_access or set to

UPGRADING

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -431,9 +431,8 @@ Standard library changes
431431
. call_user_method() and call_user_method_array() no longer exists.
432432
. ob_start() no longer issues an E_ERROR, but instead an E_RECOVERABLE_ERROR in case an
433433
output buffer is created in an output buffer handler.
434-
. Improved zend_qsort(using hybrid sorting algo) for better performance,
435-
and also renamed zend_qsort to zend_sort.
436-
. Added stable sorting algo zend_insert_sort.
434+
. The internal sorting algorithm has been improved, what may result in
435+
different sort order of elements that compare as equal.
437436
. Removed dl() function on fpm-fcgi.
438437
. setcookie() with an empty cookie name now issues a WARNING and doesn't send an empty set-cookie header line anymore.
439438

@@ -771,6 +770,9 @@ out, that the corresponding SDK isn't available anymore.
771770
it depends alone on the openssl library. If it's present at the compile time,
772771
ftp_ssl_connect() is enabled automatically.
773772

773+
- imap
774+
. Static building of ext/imap is disabled
775+
774776
- odbc
775777
. The odbc extension is always shipped shared
776778

UPGRADING.INTERNALS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ PHP 7.0 INTERNALS UPGRADE NOTES
1919
s. Resource API changes
2020
t. Optimized strings concatenation.
2121
u. Streams changes
22+
v. Sort algorithm changes
2223

2324
2. Build system changes
2425
a. Unix build system changes
@@ -240,6 +241,11 @@ changes. See: https://wiki.php.net/phpng-upgrading
240241
using context stream option PHP_STREAM_OPTION_PIPE_BLOCKING or
241242
adding STREAM_USE_BLOCKING_PIPE when opening the stream.
242243

244+
v. Sort algorithm changes
245+
- Improved zend_qsort(using hybrid sorting algo) for better performance,
246+
and also renamed zend_qsort to zend_sort.
247+
- Added stable sorting algo zend_insert_sort.
248+
243249
========================
244250
2. Build system changes
245251
========================

Zend/tests/anon/012.phpt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--TEST--
2+
Ensure correct unmangling of private property names for anonymous class instances
3+
--FILE--
4+
<?php
5+
var_dump(new class { private $foo; });
6+
?>
7+
--EXPECT--
8+
object(class@anonymous)#1 (1) {
9+
["foo":"class@anonymous":private]=>
10+
NULL
11+
}

Zend/tests/bug62441.phpt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--TEST--
2+
Bug #62441: Incorrect strong typing in namespaced child classes
3+
--FILE--
4+
<?php
5+
namespace {
6+
interface Iface {
7+
function method(stdClass $o);
8+
}
9+
}
10+
namespace ns {
11+
class Foo implements \Iface {
12+
function method(stdClass $o) { }
13+
}
14+
15+
(new Foo)->method(new \stdClass);
16+
}
17+
?>
18+
--EXPECTF--
19+
Fatal error: Declaration of ns\Foo::method(ns\stdClass $o) must be compatible with Iface::method(stdClass $o) in %s on line %d
20+

Zend/tests/bug69761.phpt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@ var_dump(serialize($instance));
1111
--EXPECTF--
1212
Fatal error: Uncaught Exception: Serialization of 'class@%s' is not allowed in %sbug69761.php:%d
1313
Stack trace:
14-
#0 %sbug69761.php(%d): serialize(Object(class@%s
14+
#0 %sbug69761.php(%d): serialize(Object(class@anonymous))
15+
#1 {main}
1516
thrown in %sbug69761.php on line %d

Zend/tests/bug70187.phpt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--TEST--
2+
Bug #70187 (Notice: unserialize(): Unexpected end of serialized data)
3+
--FILE--
4+
<?php
5+
class A {
6+
public $b;
7+
}
8+
9+
$a = new A;
10+
var_dump($a); // force properties HT
11+
unset($a->b);
12+
var_dump(serialize($a));
13+
?>
14+
--EXPECT--
15+
object(A)#1 (1) {
16+
["b"]=>
17+
NULL
18+
}
19+
string(12) "O:1:"A":0:{}"

Zend/tests/bug70187_2.phpt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--TEST--
2+
Bug #70187 (Notice: unserialize(): Unexpected end of serialized data)
3+
--FILE--
4+
<?php
5+
$a = 1;
6+
unset($a);
7+
unserialize(serialize($GLOBALS));
8+
echo "ok\n";
9+
?>
10+
--EXPECT--
11+
ok

0 commit comments

Comments
 (0)