New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug #52098 for PHP7 #1539
Bug #52098 for PHP7 #1539
Commits on Sep 22, 2015
-
-
Cleanup: removed comments (zend_object.handle and zend_resource.handl…
…e are not going to be removed in PHP-7.0)
-
-
-
-
-
-
-
-
Cleanup: removed deprecated commented code. Incorrect zval_dtor() usa…
…ge replaced by zval_dtor_ptr().
Commits on Sep 23, 2015
-
Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW)
and also keep the indices of func_get_args(). since they are similar issue of #70574, thus reuse its test script.
-
Fixed bug #70548 (Redundant information printed in case of uncaught e…
…ngine exception)
-
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: add missing header silence mkdir to fix fails after unclean test run
-
-
-
-
-
-
-
-
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: add test expose openssl config path so it can be tested Fix for Bug #70384 mysqli_real_query(): Unknown type 245 sent by the server
-
-
-
-
-
Commits on Sep 24, 2015
-
-
Fix a memory leak in sqlite3_do_callback.
This was very, very obvious when using a debug build of PHP to build the manual! Fixes bug #70571 (Memory leak in sqlite3_do_callback).
-
-
-
-
move accel_shared_globals assignment into locked block
this might fix crashes under high concurrency
-
-
-
-
Fixed incorrect usage of HASH_OF() macro. Replaced HASH_OF() with mor…
…e appropriate Z_ARRVAL_P() or Z_OBJPROP_P().
-
Commits on Sep 25, 2015
-
-
Make necessary separation (it might be possible to fix this in a bett…
…er way, but this will requre some refactoring)
-
Extended zend_extension API to allow storing additional data associat…
…ed with op_arrays in opcache SHM. (op_array->reserved[])
-
-
-
Allow an experimental VM with tail call dispatch technique (disabled …
…by default). This VM may work only if all tail calls are optimized, otherwaise it will crach because of stack overflow. Unfortunately, we can't guarantee tail call optimization in C.
-
Commits on Sep 26, 2015
-
Added fallback for get_method so we run the standard get_method and t…
…rigger overloaded methods
Daniel Persson committedSep 26, 2015
Commits on Sep 27, 2015
-
The help functionality needs a correct stdout fd, so pre setup it for the only case.
-
Commits on Sep 28, 2015
-
Add support for parameters to tick functions, on C level. This is only
for extensions that want to use register tick functions. Userland tick functions are unaffected.
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Fix bug #70480 (php_url_parse_ex() buffer overflow read)
Commits on Sep 29, 2015
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Fix bug #69720: Null pointer dereference in phar_get_fp_offset() Conflicts: ext/phar/util.c
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: fix memory leak FIx bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/" Conflicts: ext/phar/dirstream.c
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Better fix for bug #70433 Conflicts: ext/phar/dirstream.c ext/phar/util.c
-
cutting out the '/' is not critical, but allows to avoid forking
-
Add support for getrandom(2), add type check on file descriptor
Fix to_read, throw exception if syscall fails Fixes thanks to feedback from sarnold at ##crypto on freenode Correction on error conditions Remove dead code (thanks @defuse) It turns out getrandom can take >256, getentropy refuses. Better semantics Thanks @defuse for catching my silly mistake here Cast to size_t to be explicit Let's simplify the logic a bit Let's be consistent; define everything before we do any logic Continuously check that the file descriptor is still a valid one Add device type check on fd initialization
-
-
-
-
Merge branch 'PHP-7.0' into PHP-7.0.0
* PHP-7.0: (129 commits) Removed or simplified incorrect SEPARATE_*() macros usage. Add upgrading info about the tick functions internal API change Remove makedev() check. Different error message if makedev check fails Add support for getrandom(2), add type check on file descriptor fix test Better fix for bug #70433 fix memory leak FIx bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/" Fix bug #69720: Null pointer dereference in phar_get_fp_offset() Fix bug #70480 (php_url_parse_ex() buffer overflow read) Add support for parameters to tick functions, on C level. This is only for extensions that want to use register tick functions. Userland tick functions are unaffected. Add NEWS entry for #70533 (credits to Anatol) fix phpdbg's -h switch Fixed bug #70572 segfault in mysqlnd_connect Spread the news about 70384 Allow an experimental VM with tail call dispatch technique (disabled by default). This VM may work only if all tail calls are optimized, otherwaise it will crach because of stack overflow. Unfortunately, we can't guarantee tail call optimization in C. check for test requirement fix data type and warning Extended zend_extension API to allow storing additional data associated with op_arrays in opcache SHM. (op_array->reserved[]) ...
-
-
-
-
-
Added zend_internal_function.reserved[] fields, to allow extensions k…
…eep additional associated information. We didn't have zend_internal_function.reserved[] in PHP5, but we always allocated space for zend_function union, and extensions were able to reuse zend_function.op_array.reserved[] even for internal function. Now this is not possible. And extensions have to use zend_function.op_array.reserved[] for user functions and zend_function.internal_function.reserved[] for internal.
-
-
-
Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:php-src: fix test Ensure timeout tests wait for the entire specified duration
-
Merge branch 'PHP-7.0' into PHP-7.0.0
* PHP-7.0: Added information about Zend Extension API chabges fix test Ensure timeout tests wait for the entire specified duration Added zend_internal_function.reserved[] fields, to allow extensions keep additional associated information. We didn't have zend_internal_function.reserved[] in PHP5, but we always allocated space for zend_function union, and extensions were able to reuse zend_function.op_array.reserved[] even for internal function. Now this is not possible. And extensions have to use zend_function.op_array.reserved[] for user functions and zend_function.internal_function.reserved[] for internal. update NEWS for next Update openssl_x509_checkpurpose.phpt add test to openssl ext
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: add NEWS entries add NEWS entries
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: update NEWS, these missed 5.6.14RC1 as I was not asked to include them so delaying for the next release
Commits on Sep 30, 2015
-
-
-
-
-
-
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Fixed test 5.5.31 now
Julien Pauli committedSep 30, 2015 -
Reordered field to improve data lacality and reduce L1D CPU cache mis…
…ses in ZEND_INIT_FCALL opcode family
-
ReflectionGenerator and ReflectionType are new classes
I've added them to the new classes paragraph for the sake of completeness, even though they are mentioned before as new features.
Commits on Oct 1, 2015
-
-
Remove checks for read_property retval being NULL
read_property uses &EG(uninitialized_zval) instead.
-
Update scripts/dev/check_parameters.php for PHP 7
Also fix deprecation errors and move from preg_replace -> preg_replace_callback.
-
More check_parameters improvements
* Allow / on everything but lLdb (on which it will work, but makes no sense). * For ! on lLdb add additional zend_bool* parameter. * For optional s and p only require one of the variables to be initialized. The length is usually not initialized.
Commits on Oct 2, 2015
-
More check_parameters improvements
* Switch default REPORT_LEVEL to 1 to cut down on the noise * Make initialization of 'C' variable always required * Don't require init of lLdb variable if ! is used * Don't throw error about missing init of not detected parameters (This was a regression in the last changeset) * Support method_parameters and throw variations
-
The ext/interbase changes are done blindly, fingers crossed. Some of these are bug fixes, some make zpp usage more idiomatic.
-
-
-
-
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Update NEWS file with LDAP fixes
Commits on Oct 3, 2015
-
-
Other platforms than listed in the checks are not supported since PHP 5.5. We also won't need these checks for a while, so can simplify.
-
Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction-…
…>getClosure()) This additionally removes support for binding to an unknown (not in parent hierarchy) scope. Removing support for cross-scope is necessary for certain compile-time assumptions (like class constants) to prevent unexpected results
Commits on Oct 4, 2015
-
-
-
-
-
Improve 517b553 (scope rebinding on method Closures)
Now it is completely impossible to rebind a scoped method Closure (only the kind you get from ReflectionMethod::getClosure()) to a foreign scope Adding a lot of tests to ensure this... Also, properly return NULL in case the Closure could not be created instead of some crippled unbound Closure
Commits on Oct 5, 2015
-
Allow random $this on non-internal Closures again
As it turns out, there is actually no reason to prevent this, it even was a bigger BC break than expected... Also fixes a memory leak (the Closure leaks) when calling internal functions via Closure by moving it out of leave helper onto caller side for TOP_CODE: $z = new SplStack; $z->push(20); $x = (new ReflectionMethod("SplStack", "pop"))->getClosure($z); var_dump($x());
-
-
Merge remote-tracking branch 'upstream/PHP-7.0.0' into bug_52098_php7
* upstream/PHP-7.0.0: (59 commits) fix NEWS fix test Added information about Zend Extension API chabges fix test Ensure timeout tests wait for the entire specified duration Added zend_internal_function.reserved[] fields, to allow extensions keep additional associated information. We didn't have zend_internal_function.reserved[] in PHP5, but we always allocated space for zend_function union, and extensions were able to reuse zend_function.op_array.reserved[] even for internal function. Now this is not possible. And extensions have to use zend_function.op_array.reserved[] for user functions and zend_function.internal_function.reserved[] for internal. update NEWS for next bump versions Update openssl_x509_checkpurpose.phpt add test to openssl ext Removed or simplified incorrect SEPARATE_*() macros usage. Add upgrading info about the tick functions internal API change Remove makedev() check. Different error message if makedev check fails Add support for getrandom(2), add type check on file descriptor fix test Better fix for bug #70433 fix memory leak FIx bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/" Fix bug #69720: Null pointer dereference in phar_get_fp_offset() ...
-
-
Merge remote-tracking branch 'upstream/PHP-7.0' into bug_52098_php7
* upstream/PHP-7.0: (49 commits) Allow random $this on non-internal Closures again As it turns out, there is actually no reason to prevent this, it even was a bigger BC break than expected... Merge branch 'array_keys_strict_refs' of https://github.com/tony2001/php-src Improve 517b553 (scope rebinding on method Closures) Now it is completely impossible to rebind a scoped method Closure (only the kind you get from ReflectionMethod::getClosure()) to a foreign scope Adding a lot of tests to ensure this... Also, properly return NULL in case the Closure could not be created instead of some crippled unbound Closure improve error message fix incrementing on 32-bit fix coverage report for datelib Fixed bug #70632 (Third one of segfault in gc_remove_from_buffer) Fixed the third one of (segfault in gc_remove_from_buffer()) Fixed bug #70631 (Another Segfault in gc_remove_from_buffer()) Do not edit the zval cause it might be in shared memory Fixed bug #70601 (Segfault in gc_remove_from_buffer()) Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure()) This additionally removes support for binding to an unknown (not in parent hierarchy) scope. Removing support for cross-scope is necessary for certain compile-time assumptions (like class constants) to prevent unexpected results remove useless checks fix win10 support Fixed bug #70625 Updated to version 2015.7 (2015g) Updated to version 2015.7 (2015g) PHP7 is not affected Fixed bug #70619 (DateTimeImmutable segfault) Fix parse errors in -rr mode ...
-
-
-
-
Commits on Oct 6, 2015
-
-
-
Revert "Speed up self::$property access by 20%"
This reverts commit 0fbd3e5.
-
Revert "Speed up self::method() calls (no ZEND_FETCH_CLASS)"
This reverts commit 8c33bdb.
-
Revert "Allow random $this on non-internal Closures again"
This reverts commit 35d0405.
-
Revert "Merge branch 'array_keys_strict_refs' of https://github.com/t…
…ony2001/php-src" This reverts commit a6be0f3.
-
Revert "Improve 517b553 (scope rebinding on method Closures)"
This reverts commit 881c502.
-
-
Revert "Fixed bug #70630 (Closure::call/bind() crash with ReflectionF…
…unction->getClosure())" This reverts commit 517b553.
-
This check doesn't make sense anymore, we have no object_value anymore.
-
Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:php-src: Drop HAVE_PACKED_OBJECT_VALUE More zpp cleanup in ext/intl
Commits on Oct 7, 2015
-
Fixed test (it failed on 32-bit Linux and worked on 64-bit Linux just…
… because of luck).
-
-
Restored the original (php-5) behavior of convert_to_cstring(). It wa…
…s broken in php7 by mistake and caused problems in ext/pgsql/tests/bug46408.phpt.
-
-
-
-
Merge branch 'PHP-7.0' of https://git.php.net/repository/php-src into…
… PHP-7.0 * 'PHP-7.0' of https://git.php.net/repository/php-src: Fixed test running on MarinaDB.
-
MySQL and MariaDB of different versions have different assumptions about TIMESTAMP attributes. Probably we need to add yet another condition to also check MariaDB version.
-
pear 1.10 was released and the go-pear and install pear phars are now…
… php7 compatible
-
Commits on Oct 8, 2015
-
This replaces add_new with update for the RW case. This should not be problematic for performance, as this branch throws a notice. Alternatively add_new could also be replaced with add. I went with update, because it makes $a[0] += 1 behavior the same as $a[0] = $a[0] + 1.
-
-
Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when …
…used for internal functions)
-
-
Fixed reference cuntmting for closures (previously we didn't incremen…
…t reference counter for "internal" closures)
Commits on Oct 9, 2015
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: update NEWS fix coverage report for datelib
-
-
-
-
Implemented file_cache_fallback mechanism
which is essential as an attempt to fix the "failed to reattach" error on Windows. If file_cache is enabled, Opcache will automaticaly switch to file_cache_only mode in the case a process failed to map the shared segment at the required address. The important small part of the SHM will still be mapped, which allows information exchange between normal processes using SHM and those using the fallback mechanism. This is based on Dmitry's, Matt's and mine ideas. So many thanks for support!
Commits on Oct 10, 2015
-
Move all rebinding checks into one function to make sure they stay in sync. Normalize return value to be NULL for all rebinding failures, instead of returning an improperly bound closure in some cases.
-
Generally run all tests in sapi folder by default
Turned out that sapi/phpdbg actually wasn't explicitly included as sapi folders were individually selected
-
Commits on Oct 12, 2015
Commits on Oct 13, 2015
-
-
-
-
-
-
-
Prevent memcmp() result truncation
This fixes reported issues with sapi/phpdbg/tests/watch_001.phpt
Commits on Oct 14, 2015
-
-
Do not create a fake Closure for real Closures
That is solved by just returning the Closure as is, which is safe due to Closures being immutable objects
Commits on Oct 15, 2015
-
-
Scan through a range of ports in case 31338 is busy
ext/standard/tests/network/ud4loop.phpt hardcodes port 31338. If that fails to bind, try a few more (up to 31499) before giving up.
-
-
Separating this whitespace change from the next diff.
-
Commits on Oct 16, 2015
-
Fixed bug #70678 (PHP7 returns true when false is expected)
Cherry-pick from master.
Commits on Oct 17, 2015
-
Fixed bug #70730 (Incorrect ArrayObject serialization if unset is cal…
…led in serialize()) It's possible to fixed this in SPL side, but it will be ugly, and we should make serialize more robust, so I prefer fix it in serialize side.
-
Commits on Oct 18, 2015
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: C89 compat use spprintf instead (no need to estrdup afterwards). dblib's dbcolname can return null in some cases testcase fot bug #69757 Segmentation fault on pdo_dblib::nextRowset (bug #69757) Conflicts: ext/pdo_dblib/dblib_stmt.c
-
-
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Remove wrong argument $session from SNMP::setSecurity() Fix SNMP::setSecurity() arginfo (Fixes bug #70476)
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Skip serialize test if ext/session is not loaded Conflicts: ext/standard/tests/serialize/bug70219_1.phpt
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Skip some tests for platforms different than x86
Commits on Oct 19, 2015
-
Check if the SQLSTATE error code is equal to PDO_ERR_NONE before we ask the driver. And if no error is reported skip the extra call to the driver.
-
Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6: Fix bug #64172 Bug #70561: Fix DirectoryIterator to throw OutOfBoundsException Conflicts: ext/pdo/pdo_dbh.c
-
-
-
-
-
Add assertion in liveliness computation
Assert that a live-range does not start, while one for the same variable is already active. To satisfy this constraint, explicitly exclude writes from JMP_SET and COALESCE. They were previously also handled correctly, because their result variable was only killed after the second write to it after the false branch. This just makes it more explicit.
-
-
Revert "Fixed invalid live-range detection"
This reverts commit 724e984.
-
Revert "Add assertion in liveliness computation"
This reverts commit 62062dc.
-
Revert "ZEND_SEPARATE reuses temporaries"
This reverts commit dfe6fda.
-
Revert "Remove loop_var_stack"
This reverts commit b3a4c05.
-
Revert "Tuned off dubugging of live ranges"
This reverts commit 404dc93.
-
Revert "Fixed bug #62210 (Exceptions can leak temporary variables. As…
… a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence)" This reverts commit 5ee8413.
-
-
-
-
-
-
-
-
-
-
Added fallback for get_method so we run the standard get_method and t…
…rigger overloaded methods
-
-
-
Merge branch 'bug_52098_php7' of https://github.com/kalaspuffar/php-src…
… into bug_52098_php7 * 'bug_52098_php7' of https://github.com/kalaspuffar/php-src: (40 commits) Changes to pass all tests fix NEWS fix test bump versions Added fallback for get_method so we run the standard get_method and trigger overloaded methods fix regressio introduce in 22e23e7 bump release version sync NEWS bump version update NEWS Fixed bug #70293 (Crash with specific assertions and zend.assertions=-1) Fixed memleak in Zend/tests/bug39297 add NEWS entry Fixed bug #70288 (Apache crash related to ZEND_SEND_REF) sync NEWS bump versions sync NEWS sync NEWS set versions fix merge mistake ...