Compare commits

...
Author SHA1 Message Date
Dmitry Stogov ae79c52c12 Fix frequent reallocations with many small strings 2015-10-27 09:52:43 +01:00
Dmitry Stogov 579f10c0a1 Fixed inconsistent exception handling (uopz/tests/006.phpt was failed when PHP build with --disable-gcc-global-regs). 2015-10-27 02:23:49 +01:00
Anatol Belski c031d6de68 sync NEWS 2015-10-27 02:23:17 +01:00
Xinchen Hui f5431a6483 Fixed bug #70785 (Infinite loop due to exception during identical comparison) 2015-10-27 02:22:30 +01:00
Dmitry Stogov 5bfade4d40 Fixed incorrect "peak" memory consumption calculation. 2015-10-27 02:20:54 +01:00
Anatol Belski a3af1b664b sync NEWS 2015-10-24 13:33:32 +02:00
Nikita Popov 2e7290f046 Fix bug #70782 2015-10-24 13:32:17 +02:00
Anatol Belski 073e155f4e bump version 2015-10-23 11:52:54 +02:00
Anatol Belski 6234e16611 rather use the supplied inttypes.h with vc14 2015-10-23 11:39:48 +02:00
Xinchen Hui 64c52c805f Revert "Ensure proper exception handling and EX(opline) state in USER_OPCODE handler"
read: http://news.php.net/php.internals/88887

This reverts commit 808f62bb4d.
2015-10-23 11:38:13 +02:00
Xinchen Hui bbabab1cdc Regenerate zend_ini_scanner.c 2015-10-23 11:37:53 +02:00
Anatol Belski 06db864426 sync news 2015-10-23 11:37:32 +02:00
Xinchen Hui 09b5aef876 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_ini_scanner.c
2015-10-23 11:36:11 +02:00
Anatol Belski 1e6195c6bc sync NEWS 2015-10-23 11:10:35 +02:00
Xinchen Hui 8836fdd4ed Fixed bug #70730 (Incorrect ArrayObject serialization if unset is called 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.
2015-10-23 11:09:42 +02:00
Anatol Belski b01a607d73 sync NEWS 2015-10-23 10:42:08 +02:00
Xinchen Hui 1f677c5eff Fixed bug #70715 (Segmentation fault inside soap client) 2015-10-23 10:41:33 +02:00
Bob Weinand 959d93086a Prevent memcmp() result truncation
This fixes reported issues with sapi/phpdbg/tests/watch_001.phpt
2015-10-23 10:37:15 +02:00
Anatol Belski 8d5904f10f sync NEWS 2015-10-18 13:46:18 +02:00
Anatol Belski 980a2c283d 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
2015-10-18 13:43:53 +02:00
Anatol Belski 209015012f sync NEWS 2015-10-18 12:45:01 +02:00
Xinchen Hui 74004a160d Fixed bug #70724 (Undefined Symbols from opcache.so on Mac OS X 10.10) 2015-10-18 12:43:08 +02:00
Anatol Belski 294c3cdbdc sync NEWS 2015-10-18 12:42:32 +02:00
Nikita Popov 5576aee84f Fixed bug #70430 2015-10-18 12:41:26 +02:00
Nikita Popov d449c527bc Reindent zend_yytnamerr
Separating this whitespace change from the next diff.
2015-10-18 12:41:26 +02:00
Anatol Belski 63730a6981 sync NEWS 2015-10-18 12:39:08 +02:00
Xinchen Hui c5d5aacc79 Fixed bug #70689 (Exception handler does not work as expected) 2015-10-18 12:38:22 +02:00
Anatol Belski f6e2a1f9b9 update NEWS 2015-10-18 12:38:15 +02:00
Xinchen Hui b3cf4a2dc0 Fixed Conditional jump or move depends on uninitialised value 2015-10-18 12:36:16 +02:00
Xinchen Hui 332cf3cf56 Fixed bug #70709 (SOAP Client generates Segfault) 2015-10-18 12:32:05 +02:00
Bob Weinand 1b5b21539f 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
2015-10-14 16:15:27 +02:00
Anatol Belski 666db28ef2 update UPGRADING 2015-10-13 11:50:28 +02:00
Anatol Belski 2fbfd6f5a7 sync NEWS 2015-10-13 10:40:16 +02:00
Anatol Belski 47595abd40 bump RC version 2015-10-13 10:38:59 +02:00
Anatol Belski 0b27669c5a update libs_versions.txt 2015-10-13 10:37:57 +02:00
Anatol Belski 40142c084a Merge branch 'PHP-7.0' into PHP-7.0.0
* PHP-7.0: (103 commits)
  Add more tests for closure binding
  Forbid "fake" closure rebinding
  increase API versions
  fork test for ICU 56.1
  fork test for ICU-56.1
  fix test for ICU-56.1
  fix test
  Double declaration
  fix stack overflow
  Generally run all tests in sapi folder by default
  Fixed bug #70685
  Normalize rebinding failures
  Implemented file_cache_fallback mechanism
  Improve previous fix
  Fixed bug #70681
  update NEWS
  update NEWS
  Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())
  Fixed reference cuntmting for closures (previously we didn't increment reference counter for "internal" closures)
  Fixed infinity recurion if we create closure on top of other closure.
  ...
2015-10-13 10:29:26 +02:00
Nikita Popov 7597a06562 Add more tests for closure binding 2015-10-12 20:37:14 +02:00
Dmitry Stogov 23b372d358 Forbid "fake" closure rebinding 2015-10-12 20:34:08 +02:00
Anatol Belski dcbbf7c38d increase API versions 2015-10-12 20:17:22 +02:00
Anatol Belski 5492fe9f25 fork test for ICU 56.1 2015-10-12 11:20:51 +02:00
Anatol Belski aea420c7cf fork test for ICU-56.1 2015-10-12 11:16:27 +02:00
Anatol Belski 3fb6f0014a fix test for ICU-56.1 2015-10-12 11:10:04 +02:00
Matteo Beccati 474a2e01eb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix test
2015-10-12 09:47:02 +02:00
Anatol Belski d160e98feb fix test 2015-10-12 09:46:52 +02:00
Xinchen Hui 8732ead953 Double declaration 2015-10-12 10:42:04 +08:00
Anatol Belski 4224907864 fix stack overflow 2015-10-10 18:37:16 +02:00
Bob Weinand fe67696867 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
2015-10-10 17:24:14 +02:00
Nikita Popov c85ad5d0be Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_closures.c
2015-10-10 15:00:41 +02:00
Nikita Popov d7d01fc9a3 Fixed bug #70685
Doing a less intrusive variant of the PHP 7.0 fix for 5.6.
2015-10-10 14:59:21 +02:00
Nikita Popov 4b821f0fc6 Normalize rebinding failures
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.
2015-10-10 13:56:36 +02:00
Anatol Belski ffb5d0aca3 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!
2015-10-09 23:47:59 +02:00
Nikita Popov d677b25b1c Merge branch 'PHP-5.6' into PHP-7.0 2015-10-09 23:28:58 +02:00
Nikita Popov e19423f3cb Improve previous fix
Don't forbid null binding on plain functions.
2015-10-09 23:28:24 +02:00
Nikita Popov f6ae19f158 Merge branch 'PHP-5.6' into PHP-7.0 2015-10-09 23:06:32 +02:00
Nikita Popov bbae7ddf29 Fixed bug #70681 2015-10-09 23:01:23 +02:00
Anatol Belski be09d1c262 update NEWS 2015-10-09 12:36:40 +02:00
Anatol Belski d468390353 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  fix coverage report for datelib
2015-10-09 12:35:48 +02:00
Anatol Belski 505c9c3742 update NEWS 2015-10-09 12:35:06 +02:00
Dmitry Stogov 0847681b1a Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure()) 2015-10-09 11:48:13 +03:00
Dmitry Stogov c6af0aa33f Fixed reference cuntmting for closures (previously we didn't increment reference counter for "internal" closures) 2015-10-09 02:39:07 +03:00
Dmitry Stogov 93748bf9dd Fixed infinity recurion if we create closure on top of other closure. 2015-10-09 02:37:51 +03:00
Dmitry Stogov 05bd331c6a Fixed use after free 2015-10-09 01:09:22 +03:00
Dmitry Stogov 91fb3a7b27 Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when used for internal functions) 2015-10-09 00:45:02 +03:00
Andrea Faulds fa23bebe94 Correct intdiv() argument names and description 2015-10-08 15:45:22 +01:00
Dmitry Stogov 3815e97136 Fixed bug #70668 (array_keys() doesn't respect references when $strict is true) 2015-10-08 14:59:02 +03:00
Dmitry Stogov 9af07e7119 Fixed bug #70667 (strtr() causes invalid writes and a crashes) 2015-10-08 14:30:43 +03:00
Nikita Popov cc3c425af8 Fix bug #70662
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.
2015-10-08 11:03:39 +02:00
Márcio Almada ddb6d7801e Fix bug #70650 2015-10-07 16:25:59 +02:00
Ferenc Kovacs f9e3461c02 pear 1.10 was released and the go-pear and install pear phars are now php7 compatible 2015-10-07 13:56:47 +02:00
Dmitry Stogov 5d2813edce Fixed test.
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.
2015-10-07 14:09:37 +03:00
Christopher Jones 19e461b07d 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.
2015-10-07 20:27:38 +11:00
Christopher Jones 4a57f1821b Fix mem leak and improve test portability (Senthil) 2015-10-07 20:24:49 +11:00
Dmitry Stogov ccb677ece8 Fixed test running on MarinaDB. 2015-10-07 12:21:43 +03:00
Anatol Belski c0ca731d7a add comment to test 2015-10-07 09:43:28 +02:00
Dmitry Stogov b8b335c492 Restored the original (php-5) behavior of convert_to_cstring(). It was broken in php7 by mistake and caused problems in ext/pgsql/tests/bug46408.phpt. 2015-10-07 04:26:26 +03:00
Dmitry Stogov 91588a98be Fixed test (system error messages may be different). 2015-10-07 03:25:12 +03:00
Dmitry Stogov abf3c2f796 Fixed test (it failed on 32-bit Linux and worked on 64-bit Linux just because of luck). 2015-10-07 03:08:11 +03:00
Dmitry Stogov 424a26d5d4 Split test into different versions for 32-bit and 64-bit systems 2015-10-07 01:51:37 +03:00
Dmitry Stogov 2c92f33b1d 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
2015-10-07 01:48:11 +03:00
Nikita Popov cd2b0a7bb8 Drop HAVE_PACKED_OBJECT_VALUE
This check doesn't make sense anymore, we have no object_value
anymore.
2015-10-06 23:12:34 +02:00
Dmitry Stogov e0b3b3c752 Revert "Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())"
This reverts commit 517b553625.
2015-10-06 23:59:36 +03:00
Nikita Popov 0a3c1fb4c2 More zpp cleanup in ext/intl 2015-10-06 22:58:02 +02:00
Dmitry Stogov e193d35c1e Revert "Improve 517b55362 (scope rebinding on method Closures)"
This reverts commit 881c502520.
2015-10-06 23:48:15 +03:00
Dmitry Stogov 24e88348f3 Revert "Merge branch 'array_keys_strict_refs' of https://github.com/tony2001/php-src"
This reverts commit a6be0f3fd6.
2015-10-06 23:48:12 +03:00
Dmitry Stogov 524d00e005 Revert "Allow random $this on non-internal Closures again"
This reverts commit 35d0405c47.
2015-10-06 23:48:10 +03:00
Dmitry Stogov 3c0348056a Revert "Speed up self::method() calls (no ZEND_FETCH_CLASS)"
This reverts commit 8c33bdb976.
2015-10-06 23:48:08 +03:00
Dmitry Stogov 5a49ac77aa Revert "Speed up self::$property access by 20%"
This reverts commit 0fbd3e5fe7.
2015-10-06 23:48:04 +03:00
Dmitry Stogov 1198c5d8bb Revert "Update NEWS"
This reverts commit 60bb51c0d3.
2015-10-06 23:47:49 +03:00
Sara Golemon a2082b7c97 Add some tests for unserialize() class filtering 2015-10-06 12:04:11 -07:00
Rasmus Lerdorf fb2c890c2c zend.assertions is not a boolean 2015-10-06 17:13:38 +09:00
Bob Weinand 60bb51c0d3 Update NEWS 2015-10-06 01:03:04 +02:00
Scott 63617a678f Fixed bug #70641 (Random_* - Better compatibility on Linux distros)
See:
* https://bugs.php.net/bug.php?id=70641
* https://github.com/php/php-src/pull/1513#issuecomment-145571829
2015-10-06 01:03:04 +02:00
Anatol Belski d5bd999a8f don't leak handles 2015-10-05 21:59:26 +02:00
Anatol Belski 3331d870aa use correct function to close handles 2015-10-05 21:59:22 +02:00
Bob Weinand 0fbd3e5fe7 Speed up self::$property access by 20% 2015-10-05 21:52:09 +02:00
Bob Weinand 8c33bdb976 Speed up self::method() calls (no ZEND_FETCH_CLASS) 2015-10-05 21:16:52 +02:00
Bob Weinand 35d0405c47 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());
2015-10-05 17:49:32 +02:00
Bob Weinand a6be0f3fd6 Merge branch 'array_keys_strict_refs' of https://github.com/tony2001/php-src 2015-10-05 14:50:04 +02:00
Bob Weinand 881c502520 Improve 517b55362 (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
2015-10-05 00:56:55 +02:00
Anatol Belski a549a3ac17 improve error message 2015-10-04 16:36:53 +02:00
Anatol Belski c97198e181 fix incrementing on 32-bit 2015-10-04 12:19:16 +02:00
Nuno Lopes 052dd3005b fix coverage report for datelib 2015-10-04 05:45:05 -04:00
Nuno Lopes ba4a85b012 fix coverage report for datelib 2015-10-04 05:39:01 -04:00
Xinchen Hui 2a54b02257 Merge branch 'PHP-5.6' into PHP-7.0 2015-10-03 23:16:38 -07:00
Xinchen Hui 2fb8bb1157 Fixed bug #70632 (Third one of segfault in gc_remove_from_buffer) 2015-10-03 20:33:24 -07:00
Xinchen Hui 6876112c89 Fixed the third one of (segfault in gc_remove_from_buffer())
This one maybe only used in debug mode, so no bug report and no test
script provided
2015-10-03 20:15:35 -07:00
Xinchen Hui 4744eec753 Fixed bug #70631 (Another Segfault in gc_remove_from_buffer()) 2015-10-03 20:08:21 -07:00
Xinchen Hui 925412ee1c Do not edit the zval cause it might be in shared memory 2015-10-03 19:50:38 -07:00
Xinchen Hui c147d90dbf Fixed bug #70601 (Segfault in gc_remove_from_buffer()) 2015-10-03 19:38:56 -07:00
Bob Weinand 517b553625 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
2015-10-04 01:38:59 +02:00
Anatol Belski 4cb6342426 remove useless checks
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.
2015-10-03 10:57:32 +02:00
Anatol Belski 96fe3be7f2 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix win10 support
2015-10-03 10:46:10 +02:00
Anatol Belski 83bef0ef83 fix win10 support
dwMajorVersion == 10 there, and generally this check is obsolete
as we don't support dwMajorVersion < 6 since 5.5
2015-10-03 10:44:43 +02:00
Nikita Popov e892e2e253 Merge branch 'PHP-5.6' into PHP-7.0 2015-10-03 10:13:44 +02:00
Nikita Popov fe1933aae2 Fixed bug #70625 2015-10-03 10:12:11 +02:00
Ferenc Kovacs b2988714aa Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS file with LDAP fixes
2015-10-02 21:51:13 +02:00
Ferenc Kovacs 6f895a29c9 Merge branch 'pr-1544' into PHP-5.6
* pr-1544:
  Update NEWS file with LDAP fixes
2015-10-02 21:48:33 +02:00
Derick Rethans a2f5619303 Updated to version 2015.7 (2015g) 2015-10-02 18:12:18 +01:00
Derick Rethans 60b5487897 Empty merge 2015-10-02 18:12:18 +01:00
Derick Rethans c08824fd72 Updated to version 2015.7 (2015g) 2015-10-02 18:12:16 +01:00
Xinchen Hui d6c9dc719e PHP7 is not affected 2015-10-02 07:26:04 -07:00
Xinchen Hui 83fea9461e Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/date/php_date.c
2015-10-02 07:21:07 -07:00
Xinchen Hui c98ea8465b Fixed bug #70619 (DateTimeImmutable segfault) 2015-10-02 07:19:21 -07:00
Bob Weinand 8285731362 Fix parse errors in -rr mode 2015-10-02 12:51:32 +02:00
Bob Weinand 4f90e2ec9d Ensure proper set_exception_handler() handling with exit() inside it 2015-10-02 12:37:40 +02:00
Bob Weinand 0c03ba0ad0 Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions) 2015-10-02 12:37:40 +02:00
Bob Weinand 32337d35cc Do not display memory leaks on fatal 2015-10-02 12:37:40 +02:00
Bob Weinand 6c61286da4 Do not include zend_verify_return_type in executable ops (phpdbg) 2015-10-02 12:37:39 +02:00
Nikita Popov 1287c48082 Fix/improve zpp usage
The ext/interbase changes are done blindly, fingers crossed.

Some of these are bug fixes, some make zpp usage more idiomatic.
2015-10-02 09:35:00 +02:00
Nikita Popov 1a39b6e3c0 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
2015-10-02 09:05:39 +02:00
Nikita Popov 5c1b627458 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.
2015-10-01 20:42:57 +02:00
Sean DuBois 06dde16a6a Update scripts/dev/check_parameters.php for PHP 7
Also fix deprecation errors and move from preg_replace
-> preg_replace_callback.
2015-10-01 20:08:05 +02:00
Nikita Popov 8557e8323a Remove checks for read_property retval being NULL
read_property uses &EG(uninitialized_zval) instead.
2015-10-01 16:33:30 +02:00
Nikita Popov c25e81ab7b Remove dead assignment in get_property_guard 2015-10-01 16:28:28 +02:00
Matteo Beccati 8039063d95 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.
2015-09-30 15:50:01 +02:00
Antony Dovgal 99d5634079 fix dl() function
..which was using old macro
2015-09-30 14:40:29 +01:00
Dmitry Stogov 64a79817ce Reordered field to improve data lacality and reduce L1D CPU cache misses in ZEND_INIT_FCALL opcode family 2015-09-30 16:22:56 +03:00
Julien Pauli a60105d7a4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test
  5.5.31 now
2015-09-30 13:19:37 +02:00
Julien Pauli 0fd71d1184 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed test
  5.5.31 now

Conflicts:
	configure.in
	main/php_version.h
2015-09-30 13:19:18 +02:00
Julien Pauli d7fb43e30d Fixed test 2015-09-30 13:18:16 +02:00
Julien Pauli 3f08fc0466 5.5.31 now 2015-09-30 13:01:11 +02:00
Bob Weinand ba6d193b4c Add NTS/ZTS information to php -v 2015-09-30 12:39:09 +02:00
Anatol Belski 3e74df74f9 fix test 2015-09-30 12:18:32 +02:00
Anatol Belski 59541795e2 fork test 2015-09-30 11:13:29 +02:00
Anatol Belski e80306cbe8 fix tests on Windows 2015-09-30 11:13:28 +02:00
Anatol Belski 353d996c9f tweak cgi binary search 2015-09-30 11:13:27 +02:00
Andrey Hristov 07a8e5ce37 Add JSON as exported type, if available. mysqlnd has it, libmysql doesn't export it (for now). 2015-09-30 09:03:35 +02:00
Xinchen Hui df1a99d9a4 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-09-30 12:59:45 +08:00
Andrey Hristov 7b787ebbb6 Merge branch 'PHP-5.6' into PHP-7.0 2015-09-30 09:04:00 +02:00
Richard Quadling 64990642cf Spelling
bugger => buffer
2015-09-30 12:59:16 +08:00
Xinchen Hui 11baa1b672 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-09-30 10:41:54 +08:00
Xinchen Hui 45cb42f49f Simply use 0/1 instead as dmitry suggested 2015-09-30 10:41:27 +08:00
Ferenc Kovacs 70e6bf03bf 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
2015-09-30 01:35:35 +02:00
Ferenc Kovacs 0c10e10ee8 update NEWS, these missed 5.6.14RC1 as I was not asked to include them so delaying for the next release 2015-09-30 01:28:39 +02:00
Ferenc Kovacs 6d9f12d0b3 add NEWS entries 2015-09-30 01:17:40 +02:00
Ferenc Kovacs f8ec1d922e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add NEWS entries
  add NEWS entries
2015-09-30 01:17:10 +02:00
Ferenc Kovacs 264f33a23f add NEWS entries 2015-09-30 01:16:43 +02:00
Ferenc Kovacs 62ff2d0bfe Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add NEWS entries
2015-09-30 01:15:54 +02:00
Ferenc Kovacs 932f707177 add NEWS entries 2015-09-30 01:15:24 +02:00
Xinchen Hui df2ff75116 Make ZEND_ECHO and removed ZEND_PRINT distinguishable 2015-09-29 21:50:15 +08:00
Anatol Belski 417e58f332 fix NEWS 2015-09-29 15:01:27 +02:00
Anatol Belski 459e20eec0 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
2015-09-29 13:54:21 +02:00
Anatol Belski c30937d2bd fix test 2015-09-29 13:16:29 +02:00
Dmitry Stogov 27d4d32e6b 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
2015-09-29 14:11:39 +03:00
Dmitry Stogov 27a5f66da4 Added information about Zend Extension API chabges 2015-09-29 14:08:03 +03:00
Anatol Belski bfd2637068 fix test 2015-09-29 13:04:06 +02:00
Steven Hilder 24bb5698af Ensure timeout tests wait for the entire specified duration 2015-09-29 13:04:05 +02:00
Dmitry Stogov ca36b7bc13 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.
2015-09-29 13:31:47 +03:00
Anatol Belski 5531d4492e update NEWS for next 2015-09-29 10:51:23 +02:00
Anatol Belski c6b9ee82a4 bump versions 2015-09-29 10:49:27 +02:00
marcosptf dae3ab8e7a Update openssl_x509_checkpurpose.phpt 2015-09-29 10:41:24 +02:00
root fc3580c9d5 add test to openssl ext 2015-09-29 10:41:22 +02:00
Anatol Belski dd1b80e48f 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[])
  ...
2015-09-29 10:32:22 +02:00
Dmitry Stogov 560e4fa393 Removed or simplified incorrect SEPARATE_*() macros usage. 2015-09-29 11:17:43 +03:00
Andrey Hristov 617bef558b Add upgrading info about the tick functions internal API change 2015-09-29 09:48:49 +02:00
Scott 694b9af5b6 Remove makedev() check. 2015-09-29 09:14:30 +02:00
Scott 46aa628605 Different error message if makedev check fails 2015-09-29 09:14:29 +02:00
Scott 6554f721f7 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
2015-09-29 09:14:28 +02:00
Anatol Belski 208ed0a010 fix test
cutting out the '/' is not critical, but allows to avoid forking
2015-09-29 09:11:52 +02:00
Stanislav Malyshev d6e8426ebf 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
2015-09-28 21:43:16 -07:00
Stanislav Malyshev 2e267bd3c7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Better fix for bug #70433

Conflicts:
	ext/phar/dirstream.c
2015-09-28 21:42:08 -07:00
Stanislav Malyshev 1ddf72180a Better fix for bug #70433 2015-09-28 21:41:02 -07:00
Stanislav Malyshev 4c6f4863fa 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
2015-09-28 20:45:02 -07:00
Stanislav Malyshev 51b23cd0f0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix memory leak
  FIx bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/"

Conflicts:
	ext/phar/dirstream.c
2015-09-28 20:44:28 -07:00
Stanislav Malyshev f98ab19dc0 fix memory leak 2015-09-28 20:43:18 -07:00
Stanislav Malyshev e78ac461db FIx bug #70433 - Uninitialized pointer in phar_make_dirstream when zip entry filename is "/" 2015-09-28 17:12:35 -07:00
Stanislav Malyshev e7574a5329 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
2015-09-28 17:00:32 -07:00
Stanislav Malyshev f39a4ee0c9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69720: Null pointer dereference in phar_get_fp_offset()
2015-09-28 16:59:46 -07:00
Stanislav Malyshev d698f0ae51 Fix bug #69720: Null pointer dereference in phar_get_fp_offset() 2015-09-28 15:56:51 -07:00
Stanislav Malyshev 899753f240 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #70480 (php_url_parse_ex() buffer overflow read)
2015-09-28 13:08:44 -07:00
Misha Nasledov 84452dba8e Update NEWS file with LDAP fixes 2015-09-28 12:59:16 -07:00
Stanislav Malyshev 629e4da7cc Fix bug #70480 (php_url_parse_ex() buffer overflow read) 2015-09-28 11:31:14 -07:00
Andrey Hristov be6546fac9 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.
2015-09-28 11:21:17 +02:00
Bob Weinand fef88b34e7 Add NEWS entry for #70533 (credits to Anatol) 2015-09-28 01:07:38 +02:00
Anatol Belski c82e21619e fix phpdbg's -h switch
The help functionality needs a correct stdout fd, so pre setup it
for the only case.
2015-09-27 15:46:07 +02:00
Andrey Hristov 7e3cd7cadf Merge branch 'PHP-5.6' into PHP-7.0 2015-09-25 14:29:06 +02:00
Andrey Hristov 59de2c037c Fixed bug #70572 segfault in mysqlnd_connect 2015-09-25 14:06:28 +02:00
Andrey Hristov 85be6fe96b Spread the news about 70384 2015-09-25 13:54:10 +02:00
Dmitry Stogov 7e797f1302 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.
2015-09-25 12:54:51 +03:00
Anatol Belski 37c85ebb94 check for test requirement 2015-09-25 11:50:15 +02:00
Anatol Belski c75346624a fix data type and warning 2015-09-25 11:50:13 +02:00
Dmitry Stogov a05fc48055 Extended zend_extension API to allow storing additional data associated with op_arrays in opcache SHM. (op_array->reserved[]) 2015-09-25 11:50:38 +03:00
Dmitry Stogov f509706318 Make necessary separation (it might be possible to fix this in a better way, but this will requre some refactoring) 2015-09-25 10:59:27 +03:00
Anatol Belski b98d09a6a9 add note about minimum openssl version 2015-09-25 09:11:33 +02:00
Anatol Belski 67aff16d94 fix ident 2015-09-25 08:30:44 +02:00
Dmitry Stogov c21d18ef95 Cleanup: avoid useless array duplication 2015-09-25 02:20:05 +03:00
Dmitry Stogov 01d5beddf4 Cleanup 2015-09-25 01:36:10 +03:00
Dmitry Stogov ad4fa8f758 Fixed incorrect usage of HASH_OF() macro. Replaced HASH_OF() with more appropriate Z_ARRVAL_P() or Z_OBJPROP_P(). 2015-09-24 22:39:59 +03:00
Bob Weinand abf6a0b376 Fix missing LOAD_OPLINE() for ZEND_USER_OPCODE_LEAVE 2015-09-24 21:06:07 +02:00
Bob Weinand 808f62bb4d Ensure proper exception handling and EX(opline) state in USER_OPCODE handler 2015-09-24 20:33:57 +02:00
Anatol Belski 0fd7acd11d don't keep locked mutex after errors 2015-09-24 16:34:44 +02:00
Anatol Belski df832c966c avoid dangling pointers 2015-09-24 16:33:58 +02:00
Anatol Belski 3ef3d80f25 move accel_shared_globals assignment into locked block
this might fix crashes under high concurrency
2015-09-24 16:33:57 +02:00
Anatol Belski a7552ca310 add ovfl check, fix warnings 2015-09-24 16:33:56 +02:00
Anatol Belski 807c29ed14 fix warning 2015-09-24 16:33:54 +02:00
Anatol Belski 29bf529d88 fix warning 2015-09-24 16:33:53 +02:00
Dmitry Stogov 415000ed93 Fixed bug #70573 (Cloning SplPriorityQueue leads to memory leaks) 2015-09-24 16:42:59 +03:00
Adam Harvey 6413ecb439 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).
2015-09-24 14:16:45 +02:00
Dmitry Stogov 2d55e8c186 Fix (revert) loop exit condition 2015-09-24 11:19:26 +03:00
Dmitry Stogov 262160e0e9 Attmpt to fix "Unable to reattach to base address" problem. (Matt Ficken) 2015-09-24 10:48:34 +03:00
Dmitry Stogov 92708e3e04 Cleanup: avoid reallocations 2015-09-24 02:23:09 +03:00
Dmitry Stogov 57575c0898 Cleanup: avoid reallocations 2015-09-24 01:35:16 +03:00
Dmitry Stogov 5cccd6c5b6 Fixed memory leak and avoid reallocations 2015-09-24 01:19:15 +03:00
Dmitry Stogov 51cd49b2cf Cleanup: replace removed condition with ZEND_ASSERT() 2015-09-24 00:25:51 +03:00
Dmitry Stogov 62c96059a2 Fixed memory leak. 2015-09-23 23:16:30 +03:00
Anatol Belski 75984aef44 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2015-09-23 20:01:18 +02:00
Anatol Belski f451b023d1 update NEWS 2015-09-23 20:00:38 +02:00
Anatol Belski a829108d5f 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
2015-09-23 19:57:42 +02:00
Anatol Belski 257693614e add test 2015-09-23 19:48:38 +02:00
Anatol Belski ca89d9a797 expose openssl config path so it can be tested 2015-09-23 19:48:20 +02:00
Andrey Hristov 3aa882ad7a Spread the news about 70384 2015-09-23 18:38:29 +02:00
Andrey Hristov 003b764a49 Fix for Bug #70384 mysqli_real_query(): Unknown type 245 sent by the server 2015-09-23 18:38:29 +02:00
Bob Weinand bccac3774b Fixed bug #70531 (-rr should not fallback to interactive mode in phpdbg) 2015-09-23 18:30:13 +02:00
Andrey Hristov f79cd18789 Fix for Bug #70384 mysqli_real_query(): Unknown type 245 sent by the server 2015-09-23 18:25:12 +02:00
Bob Weinand 4a174ca7e6 Fixed bug #70532 (respect set_exception_handler in phpdbg) 2015-09-23 17:53:29 +02:00
Anatol Belski aba42e3dda use bundled openssl.cnf 2015-09-23 17:14:59 +02:00
Xinchen Hui c256649d63 Fixed memleaks in apache2handler 2015-09-23 07:08:51 -07:00
Xinchen Hui 3cfff60dfe Fixed NEWS 2015-09-23 07:05:47 -07:00
Xinchen Hui c87ef023aa Fixed Bug #70558 ("Couldn't fetch" error in DOMDocument::registerNodeClass()) 2015-09-23 07:01:50 -07:00
Joe Watkins 1a5d6acff6 ZEND_COMPILE_GUARDS compiler option 2015-09-23 15:33:57 +02:00
Anatol Belski 77b73c8071 update NEWS 2015-09-23 15:21:27 +02:00
Dmitry Stogov 01ed736827 Don't keep dangling pointers 2015-09-23 16:16:04 +03:00
Anatol Belski 77b9acd326 add test 2015-09-23 14:17:04 +02:00
Anatol Belski 15d43095d7 expose openssl config path so it can be tested 2015-09-23 14:17:03 +02:00
Anatol Belski 2a1c06600b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add missing header
  silence mkdir to fix fails after unclean test run
2015-09-23 14:03:16 +02:00
Anatol Belski 8317e0fa46 add missing header
For PRIu32 and maybe more, that fixes build
2015-09-23 14:01:59 +02:00
Anatol Belski c505d55158 silence mkdir to fix fails after unclean test run 2015-09-23 13:55:28 +02:00
Dmitry Stogov a6509a6fdd Fixed test 2015-09-23 13:18:30 +03:00
Xinchen Hui 1e3333e4bd Fixed Bug #70557 (Memleak on return type verifying failed) 2015-09-23 14:10:23 +08:00
Xinchen Hui 504cd492e1 Fixed bug #70548 (Redundant information printed in case of uncaught engine exception) 2015-09-23 13:04:33 +08:00
Xinchen Hui a9636ff5a2 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.
2015-09-23 10:00:20 +08:00
Dmitry Stogov d82ea930ed Cleanup: removed deprecated commented code. Incorrect zval_dtor() usage replaced by zval_dtor_ptr(). 2015-09-23 01:32:30 +03:00
Dmitry Stogov 95ac055fd3 Cleanup: zend_object_std_dtor() is called through free_obj handler 2015-09-23 00:12:31 +03:00
Dmitry Stogov f9ec5be888 Properly cleanup on wrong ZEND_OVERLOADED_FUNCTION call 2015-09-22 23:51:30 +03:00
Dmitry Stogov e2e99f16e1 Cleanup: removed deprecated commented code 2015-09-22 22:55:00 +03:00
Anatol Belski afe04911a7 unmap correct handle 2015-09-22 21:20:50 +02:00
Anatol Belski a490485893 add test 2015-09-22 20:45:52 +02:00
Anatol Belski faa50318a3 nullify the memory chunk to avoid crashes when freeing resource 2015-09-22 20:33:46 +02:00
Anatol Belski 0e843a4582 check for NULL return 2015-09-22 20:05:12 +02:00
Dmitry Stogov e45f67245a Cleanup: don't keep useless dangling pointer 2015-09-22 17:48:25 +03:00
Dmitry Stogov e050412cdd Cleanup: removed old commented code 2015-09-22 17:06:10 +03:00
Dmitry Stogov c72559ddf6 Cleanup: removed deprecated commented code 2015-09-22 17:02:25 +03:00
Dmitry Stogov c49d3189b1 Cleanup: removed comments (zend_object.handle and zend_resource.handle are not going to be removed in PHP-7.0) 2015-09-22 15:56:52 +03:00
Dmitry Stogov 04bcce3c15 Cleanup (we keep and reuse size from zend_mm_huge_list) 2015-09-22 15:51:02 +03:00
Dmitry Stogov c61604b9a9 Fixed reporting about repeatable "huge" memory leaks. 2015-09-22 15:46:41 +03:00
Dmitry Stogov a9bbe5c384 Make use of timelib 2015.02's support for external memory managers. 2015-09-22 09:17:50 +01:00
Derick Rethans 922f325c68 Merge branch 'PHP-5.6' into PHP-7.0 2015-09-22 09:08:47 +01:00
Derick Rethans 96d1d13d87 Update timelib to 2015.02 2015-09-22 08:59:45 +01:00
Derick Rethans 1d4f99e2b1 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0 2015-09-22 08:47:15 +01:00
Derick Rethans dfc38fd0e4 Merge branch 'PHP-5.6' into PHP-7.0 2015-09-22 08:45:33 +01:00
Derick Rethans e4f3fb976b Fixed test cases due to changes in rules 2015-09-22 08:42:12 +01:00
Derick Rethans fab5cbab1a Bumb timelib version to 2015.01 2015-09-22 08:41:56 +01:00
Xinchen Hui 1d6228b46a Fixed bug #70279 (HTTP Authorization Header is sometimes passed to newer reqeusts) 2015-09-22 15:28:53 +08:00
Xinchen Hui 0f3ab1c2d0 Fixed #70547 similar bug in func_get_args 2015-09-22 13:58:42 +08:00
Xinchen Hui b8ea991821 Fixed bug #70546 (ext/sysvshm: two broken tests on Solaris) by rainer.jung 2015-09-22 12:06:09 +08:00
Xinchen Hui e1dcfd2cf9 Fixed bug #70547 (unsetting function variables corrupts backtrace) 2015-09-22 11:59:35 +08:00
Xinchen Hui ed5a5bdff8 Fixed bug #70544 (ext/zip/tests/oo_addglob.phpt broken on Solaris) 2015-09-21 22:04:27 +08:00
Xinchen Hui 85eece9c4f Fixed bug #70538 ("php-fpm -i" crashes) 2015-09-21 11:18:37 +08:00
Xinchen Hui a247c3a27d Fixed bug #70538 ("php-fpm -i" crashes) 2015-09-21 10:55:38 +08:00
Xinchen Hui 4febfc25a6 Use die 2015-09-20 09:34:28 -07:00
Xinchen Hui 3fc5f5cdb5 Fixed bug #70535 (XSLT: free(): invalid pointer) 2015-09-20 09:30:50 -07:00
Jakub Zelenka 6a81363405 Require at least OpenSSL version 0.9.8 2015-09-20 13:01:15 +01:00
Jakub Zelenka 76783a26d2 Merge branch 'PHP-5.6' into PHP-7.0 2015-09-20 12:38:58 +01:00
Jakub Zelenka dcd569aad6 Use tabs for arg info indent in openssl.c 2015-09-20 12:34:35 +01:00
Xinchen Hui b0e5f9eb6c Unused var 2015-09-19 19:51:53 -07:00
Xinchen Hui bb07905a4a Fixed bug #70528 (assert() with instanceof adds apostrophes around class name) 2015-09-19 19:49:36 -07:00
Bob Weinand 509712c7d9 Add FAST_ZPP to various important stream funcs 2015-09-20 04:27:51 +02:00
Bob Weinand c9988a1e69 Remove superfluous branches 2015-09-20 02:59:30 +02:00
Bob Weinand 95dbe1d03e Short-circuit zend_parse_parameters_none() so that expensive zpp() call never happens in non-exceptional case 2015-09-20 02:43:22 +02:00
Bob Weinand 14af0f6dcb Set expectations in generator handling 2015-09-20 02:19:31 +02:00
Bob Weinand e878dff5d8 Revert accidentally committed closures.c and execute.c 2015-09-19 23:22:07 +02:00
Bob Weinand 08e253cdbc Optimize zend_mm_small_size_to_bin()
It removes a cmov operation and has a much faster branch for small allocations (especially when handling strings) (<= 64 bytes)
2015-09-19 23:07:43 +02:00
Bob Weinand b8f56013b5 Force compiler to prefer ZEND_CALL_NESTED_FUNCTION
It is by far the most used branch; compilers tended here to split the branches via an &2, &1 check, now it only does an &3 check and prefers ZEND_CALL_NESTED_FUNCTION branch
2015-09-19 19:49:44 +02:00
Bob Weinand 8f85dc141a Always properly show exit status in phpdbg
Especially when it is only set after main run (e.g. register_shutdown_function)
2015-09-19 18:30:07 +02:00
Bob Weinand 16cde23eb2 Fix oplog... 2015-09-19 17:10:16 +02:00
Xinchen Hui ff414555db Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-09-19 06:20:00 -07:00
Bob Weinand 491c62e2aa Apply same fixes for until 2015-09-19 15:19:26 +02:00
Xinchen Hui de6ee4c24f Fixed bug #70526 (xmlrpc_set_type returns false on success) 2015-09-19 06:10:48 -07:00
Bob Weinand 8eadde40cd Fix leave and finish 2015-09-19 14:57:36 +02:00
Yasuo Ohgaki 2f7cc862d7 Fixed bug #70529 Session read causes "String is not zero-terminated" error 2015-09-19 11:26:14 +09:00
Xinchen Hui 7680194a93 Fixed bug #70481 (Memory leak in auto_global_copy_ctor() in ZTS build) 2015-09-18 17:27:39 +08:00
Xinchen Hui d42d0460f8 RETURN_FALSE 2015-09-18 16:33:33 +08:00
Dmitry Stogov 6a3580fd56 Use Zend MM to keep statistic of non-persistent connections (calloc/free->pecalloc/pefree) 2015-09-18 10:36:09 +03:00
Matteo Beccati cc875d1a25 Skip session_regenerate_id_cookie.phpt when there's no cgi 2015-09-18 07:51:46 +02:00
Bob Weinand 5b8981f12e Add eventual escaping for phpdbg arguments 2015-09-18 00:50:08 +02:00
Bob Weinand adcabcc125 Add # delimiter to phpdbg commands 2015-09-17 22:53:10 +02:00
Dmitry Stogov 8fe171a3e0 Don't allocate memory for empty HashTables. 2015-09-17 19:17:10 +03:00
Dmitry Stogov 24fc74d412 Update information about new opcache features 2015-09-17 12:58:08 +03:00
Dmitry Stogov 41a184be10 Added information about new opcache configuration directives 2015-09-17 12:51:43 +03:00
Ferenc Kovacs dcd3bb327f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  prepare for PHP-5.6.14RC1
2015-09-17 01:49:39 +02:00
Ferenc Kovacs 11cddaf6f4 prepare for PHP-5.6.14RC1 2015-09-17 01:48:02 +02:00
Yasuo Ohgaki e341eb94cb Add test for #70516 session_regenerate_id() does not send session ID cookie 2015-09-17 05:36:47 +09:00
Anatol Belski 0c7872f88a add range check 2015-09-16 15:39:21 +02:00
Remi Collet 5ce2cc5d36 fix regressio introduce in 22e23e7cb8 2015-09-16 14:37:41 +02:00
Remi Collet 286b157a5f fix regressio introduce in 22e23e7cb8 2015-09-16 14:32:05 +02:00
Sebastian Bergmann 486848168c Fugbix typo 2015-09-15 08:58:50 -07:00
Xinchen Hui 066c05e51f Suppressed warning about this function is not used 2015-09-15 08:54:14 -07:00
Xinchen Hui a261938d50 Add Note about huge_code_pages 2015-09-15 08:28:32 -07:00
Xinchen Hui 517c59bfcb Suppressed warning -Wvolatile-register-var 2015-09-15 08:23:21 -07:00
Xinchen Hui e841016df7 Upgrade unicode_data.h to UnicodeData.txt 8.0.0 (part of bug #70475 ext/mbstring/unicode_data.h needs update) 2015-09-15 07:56:10 -07:00
Anatol Belski e74af70780 bump release version 2015-09-15 12:54:40 +02:00
Anatol Belski 9c259329f7 Merge branch 'PHP-7.0' into PHP-7.0.0
* PHP-7.0: (102 commits)
  add missing NEWS entry
  Improve row fetch changes for PHP7. Update test SKIPIFs. Add test for 11g client (Senthil)
  Enabled placing PHP code segment into huge pages
  Enable file based cache compilation by default
  Use shorter php.ini directive name "opcache.huge_code_pages" and disable it by default.
  Removed useless include
  Avoid reallocations
  Use memcpy() instead of mmap() to keep modifyed code (e.g. gdb breakpoints)
  Fix bug #70487
  Added an experemental ability to move PHP code pages (PHP TEXT segment) into HUGE pages. PHP should be configured and built with --enable-huge-code-pages, OS should be configured to provide huge pages. It's possible to enable/disable this future in php.ini through opcache.enable_huge_code_pages=0/1. The feature was tested on Linux and provided 2% improvement on real-life apps, because of 2-3 times reduction in number of iTLB misses.
  Fix mem leak in PHP7
  Add support for **= in opcache optimizer
  add overflow check
  fix data types
  add range checks
  Final diff fixes for PHP7 on base platform (some mem leaks still to be fixed).  Update driver name. Improve test portability (Senthil)
  Fixed bug #70478 (**= does no longer work)
  Manual CSE to avoid double read
  Change this as sixd suggested
  Add test XFAIL for bug #70470
  ...
2015-09-15 12:53:44 +02:00
Anatol Belski fff3c1d368 prepare NEWS for RC4 2015-09-15 12:42:39 +02:00
Anatol Belski 5e5a0295c7 add missing NEWS entry 2015-09-15 08:17:25 +02:00
Christopher Jones e0193a0bef Improve row fetch changes for PHP7. Update test SKIPIFs. Add test for 11g client (Senthil) 2015-09-15 12:03:24 +10:00
Dmitry Stogov 233c42ad59 Enabled placing PHP code segment into huge pages 2015-09-15 02:04:09 +03:00
Dmitry Stogov 818e5ea5f7 Enable file based cache compilation by default 2015-09-15 01:58:32 +03:00
Dmitry Stogov c104d329e1 Use shorter php.ini directive name "opcache.huge_code_pages" and disable it by default. 2015-09-15 01:54:04 +03:00
Dmitry Stogov f2480582fb Removed useless include 2015-09-15 01:46:53 +03:00
Dmitry Stogov 927d68db24 Avoid reallocations 2015-09-14 23:04:27 +03:00
Dmitry Stogov 5c28c21159 Use memcpy() instead of mmap() to keep modifyed code (e.g. gdb breakpoints) 2015-09-14 18:42:45 +03:00
Nikita Popov ab74d80247 Fix bug #70487
Switch to * instead of + in zpp.
2015-09-14 15:04:43 +02:00
Dmitry Stogov 669f0b39b1 Added an experemental ability to move PHP code pages (PHP TEXT segment) into HUGE pages.
PHP should be configured and built with --enable-huge-code-pages, OS should be configured to provide huge pages.
It's possible to enable/disable this future in php.ini through opcache.enable_huge_code_pages=0/1.
The feature was tested on Linux and provided 2% improvement on real-life apps, because of 2-3 times reduction in number of iTLB misses.
2015-09-14 13:34:17 +03:00
Christopher Jones 145708b658 Fix mem leak in PHP7 2015-09-14 13:29:09 +10:00
Christopher Jones 3c2d6f7f40 Merge branch 'master' of https://git.php.net/repository/php-src 2015-09-14 12:52:40 +10:00
Bob Weinand fe08b933e4 Add support for **= in opcache optimizer 2015-09-13 12:35:35 +02:00
Anatol Belski 969dcf7b61 add overflow check 2015-09-12 18:57:23 +02:00
Anatol Belski 5d035b57ee fix data types 2015-09-12 18:53:30 +02:00
Anatol Belski c6ff5be09d add range checks 2015-09-12 10:29:00 +02:00
Christopher Jones a96f99e30a Final diff fixes for PHP7 on base platform (some mem leaks still to be fixed). Update driver name. Improve test portability (Senthil) 2015-09-12 09:10:32 +10:00
Christopher Jones 4ee6a9a9a9 Merge branch 'master' of https://git.php.net/repository/php-src 2015-09-12 09:05:41 +10:00
Bob Weinand b0174a14c0 Fixed bug #70478 (**= does no longer work)
Reordered ZEND_(ASSIGN_)POW opcodes in zend_vm_def.h so that it won't be missed in future
2015-09-12 00:54:48 +02:00
Christopher Jones 8c63d69aa9 Merge branch 'master' of https://git.php.net/repository/php-src 2015-09-12 08:51:24 +10:00
Dmitry Stogov 51aa1b5a1d Manual CSE to avoid double read 2015-09-11 14:13:41 +03:00
Xinchen Hui 465d0326d1 Change this as sixd suggested 2015-09-11 15:05:56 +08:00
Xinchen Hui 874dc06156 Merge branch 'PHP-5.6' 2015-09-11 13:52:00 +08:00
Xinchen Hui 37d814b84c Add test XFAIL for bug #70470 2015-09-11 13:45:18 +08:00
Xinchen Hui 4ddeeb49a5 Remove free_string_zval 2015-09-11 10:58:24 +08:00
Dmitry Stogov 719664dec2 fixed compilation error 2015-09-10 20:24:11 +03:00
Dmitry Stogov 1b8bf059c4 Don't keep dangling pointer. 2015-09-10 20:03:42 +03:00
Xinchen Hui 97b85364a5 Fixed Sixd :< 2015-09-10 20:14:22 +08:00
Xinchen Hui bb4c0c0703 Merge branch 'PHP-5.6' 2015-09-10 19:56:18 +08:00
Xinchen Hui a8368ddc38 Fixed bug #70431 (Memory leak in php_ini.c) 2015-09-10 19:56:13 +08:00
Xinchen Hui 66643f6192 Use efree_size 2015-09-10 16:22:07 +08:00
Xinchen Hui 213b49620d Simplfy zend_is_true 2015-09-10 16:13:22 +08:00
Xinchen Hui f3e8675d38 Added folder marks 2015-09-10 15:01:28 +08:00
Xinchen Hui 7a0e68b97c Unexpected 2015-09-10 14:57:22 +08:00
Xinchen Hui 6852f9cd43 cleanup tmp_member handling 2015-09-10 14:39:25 +08:00
Dmitry Stogov 27f6b8864e Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Aligned IntlChar protos to their ARG_INFO (related to #70453)
  Skip IntlChar related test if ext/intl is not available
2015-09-10 02:53:57 +03:00
Dmitry Stogov c174e4cd73 Change array sorting implementation to avoid two level callbacks system.
Simplify zval comparion API.
2015-09-10 02:51:23 +03:00
Christoph M. Becker 46c20ecf0a Aligned IntlChar protos to their ARG_INFO (related to #70453) 2015-09-10 01:38:15 +02:00
Christoph M. Becker 31962306f4 Skip IntlChar related test if ext/intl is not available 2015-09-10 01:31:55 +02:00
Côme Bernigaud 059dd18c37 Added support of LDAP_OPT_TIMEOUT, fixes #69574 2015-09-09 18:02:10 +02:00
Dmitry Stogov 2ea18cd431 Better array_compare improvement 2015-09-09 15:11:03 +03:00
Lior Kaplan e0f390cb72 Add entry for #70284 in 7.0.0RC2 2015-09-09 14:22:46 +03:00
Lior Kaplan 43f6099ce4 Add entry for #70284 in 5.6.13 2015-09-09 14:20:04 +03:00
Dmitry Stogov ac83eaef10 Don't inline "slow" and rarely used functions. 2015-09-09 13:42:35 +03:00
Xinchen Hui 6d885e395c Merge branch 'master' of git.php.net:/php-src 2015-09-09 18:02:27 +08:00
Xinchen Hui 59e8eae4b0 Useless ZVAL_UNDEF 2015-09-09 18:00:04 +08:00
Xinchen Hui 67d1a47887 Improved array_compare 2015-09-09 17:56:44 +08:00
Côme Bernigaud fb9d934d51 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug in LDAP extensions' saving TIMELIMIT and DEREF
2015-09-09 11:05:29 +02:00
Dmitry Stogov b1be126788 Avoid useless EG(exception) checks 2015-09-09 11:54:44 +03:00
Côme Bernigaud a483a79c85 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug in LDAP extensions' saving TIMELIMIT and DEREF
2015-09-09 10:34:46 +02:00
Côme Bernigaud cc7140e8d9 Merge branch 'pull-request/1512' into PHP-5.5
* pull-request/1512:
  Fix bug in LDAP extensions' saving TIMELIMIT and DEREF
2015-09-09 10:30:17 +02:00
Xinchen Hui b00a315806 Unused var 2015-09-09 15:15:43 +08:00
Xinchen Hui 98bf9156d5 unused var 2015-09-09 15:11:42 +08:00
Christoph M. Becker 502b70c50c Merge branch 'PHP-5.6'
* PHP-5.6:
  Skip test for old glibc iconv
2015-09-09 04:33:28 +02:00
Christoph M. Becker 71da4f1f7f Skip test for old glibc iconv
bug32001.phpt has a high failure rate for the submitted reports. According to
several samples it seems the iconv implementation of glibc 2.12 (released
2010-05) is the culprit. It seems appropriate to skip the test for such old
versions.
2015-09-09 04:27:28 +02:00
Nikita Popov 7c8798834a Small cleanup in pack() implementation 2015-09-09 03:58:37 +02:00
Tyson Andre c3fc65eb7c Fix bug in LDAP extensions' saving TIMELIMIT and DEREF
LDAP_OPT_TIMELIMIT and LDAP_OPT_DEREF's original values weren't
saved properly because of a bug introduced when copy and pasting.

This lead to the original timeout being changed
when specifying a temporary override (e.g. for ldap_search(..., $timeout))
2015-09-08 18:42:02 -07:00
Christoph M. Becker 6886bb688b updated NEWS 2015-09-09 03:21:17 +02:00
Christoph M. Becker 71f90dfbad Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70456: mysqlnd doesn't activate TCP keep-alive when connecting to a server

Resolved conflicts:
	ext/mysqlnd/mysqlnd_net.c
2015-09-09 03:19:55 +02:00
Christoph M. Becker b89f128480 updated NEWS 2015-09-09 03:12:59 +02:00
Dmitry Stogov c7dffb5673 Don't inline "Undefined variable" warning reporting. 2015-09-09 03:18:52 +03:00
Sergei Turchanov 7b3616db77 Fix #70456: mysqlnd doesn't activate TCP keep-alive when connecting to a server
libmysqlclient activates TCP keep-alive when connecting to a server. PHP
mysqlnd extension must do the same to maintain compatibility.
2015-09-09 01:43:29 +02:00
Bob Weinand c12917aa45 Merged RFC Random Functions Throwing Exceptions in PHP 7
Squashes commits from PR #1397

commit cd5dcc8c9eb43603d908abcea69c9e18df0f2ed5
Author: SammyK <sammyk@sammykmedia.com>
Date:   Tue Sep 8 13:53:42 2015 -0500

    Add min max samezies

commit b719499218a4e84efecd4dc1d4235d16142c9793
Author: SammyK <sammyk@sammykmedia.com>
Date:   Wed Sep 2 07:00:25 2015 -0500

    Make random_bytes() throw Error when $length <= 0 and random_int() throw Error when $min > $max

commit 0cca557291c278716ec4b00b32fc2bdc1c1c8848
Author: SammyK <sammyk@sammykmedia.com>
Date:   Wed Sep 2 06:55:59 2015 -0500

    Make random_*() functions throw Error exception when random bytes cannot be obtained

commit 998c7f1e209123605b41139e8d9093075ce16bd6
Author: SammyK <sammyk@sammykmedia.com>
Date:   Wed Sep 2 06:41:20 2015 -0500

    Make random_*() functions throw TypeError when zend_parse_parameters fails

commit 99d305c18820ff55d82d952777cbcdf1cf0158be
Author: SammyK <sammyk@sammykmedia.com>
Date:   Mon Jul 6 19:50:47 2015 -0500

    Make exceptions less specific

commit b042dfab290713366741a663a420cf12bf802f39
Author: SammyK <sammyk@sammykmedia.com>
Date:   Mon Jul 6 17:20:13 2015 -0500

    Upgrade warnings to RuntimeExceptions
2015-09-09 01:00:29 +02:00
Dmitry Stogov aa3fd8c849 Fixed typo that might cause serious bugs in MM. May be it was the reason of bug #70392 (SIGSEGV during PHP shutdown). 2015-09-08 17:22:26 +03:00
Dmitry Stogov bfab74d574 Check EG(exception) only if it's really necessary 2015-09-08 17:20:52 +03:00
Yasuo Ohgaki 3bf9bd5e92 Fix typo in comment. 2015-09-08 18:52:31 +09:00
Yasuo Ohgaki f4c9deb452 Add URL rewrite issue note. 2015-09-08 18:50:40 +09:00
Yasuo Ohgaki ab0e347f26 Add more test cases 2015-09-08 18:44:23 +09:00
Christoph M. Becker 07c7b33028 updated NEWS 2015-09-07 23:48:14 +02:00
Christoph M. Becker 1c902e2e63 Fix #70454: IntlChar::forDigit second parameter should be optional
ZPP expects "ll" instead of "l|l" what would match the "proto" and the
ARG_INFO.
2015-09-07 23:46:12 +02:00
Christoph M. Becker 34c1755842 updated NEWS 2015-09-07 23:06:13 +02:00
Christoph M. Becker 1372909429 Fix #70453: IntlChar::foldCase() incorrect arguments and missing constants
We add missing ARG_INFO for the seconds parameter $options, and add the
respective constants IntlChar::FOLD_CASE_DEFAULT and
::FOLD_CASE_EXCLUDE_SPECIAL_I.
2015-09-07 23:02:56 +02:00
Anatol Belski f402056194 update NEWS 2015-09-07 17:35:57 +02:00
Anatol Belski b9155b851e add test for bug #70423 2015-09-07 17:31:49 +02:00
Bob Weinand 51272f4217 Fixed bug #70449 (PHP won't compile on 10.4 and 10.5 because of missing constants) 2015-09-07 17:28:29 +02:00
Anatol Belski 585d8642b5 update NEWS 2015-09-07 17:09:19 +02:00
Anatol Belski 46792a9914 remove unnecessary check
as it's unrelated to the size pre calculation
2015-09-07 15:14:26 +02:00
Anatol Belski eaf96698c7 Fix bug #70423 Warning Internal error: wrong size calculation 2015-09-07 15:02:33 +02:00
Remi Collet db99b877f0 ext/zip version is now 1.13.0 2015-09-07 14:04:20 +02:00
Remi Collet a5d6cf788e Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix build
2015-09-07 13:55:19 +02:00
Remi Collet debfc866d2 Fix build
php_zip.c:1647:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
php_zip.c:1648:3: error: format not a string literal and no format arguments [-Werror=format-security]
2015-09-07 13:52:28 +02:00
Yasuo Ohgaki aa352a34fd Make sure closing save handler. 2015-09-07 04:55:08 +09:00
Yasuo Ohgaki f34b858ed0 Fix #70013: Reference to $_SESSION is lost after a call to session_regenerate_id() 2015-09-07 03:57:03 +09:00
Jakub Zelenka 22e23e7cb8 Update NEWS for OpenSSL 2015-09-06 19:13:41 +01:00
Jakub Zelenka e235cb65fb Fix request #70438: Add IV parameter for openssl_seal and openssl_open 2015-09-06 19:09:56 +01:00
Jakub Zelenka a49d394beb Fix OpenSSL record in NEWS file 2015-09-06 16:51:06 +01:00
Jakub Zelenka 473ccf47a5 Merge branch 'PHP-5.6' 2015-09-06 16:42:37 +01:00
Jakub Zelenka d47029167d Fix bug #60632: openssl_seal fails with AES 2015-09-06 16:39:59 +01:00
Christoph M. Becker 9773864661 updated NEWS 2015-09-06 15:37:35 +02:00
Christoph M. Becker 1b344f55f4 Revert "Fix #70029: nodeValue of DOMElement list content of children nodes"
This reverts commit 25a52d98d7.
2015-09-06 15:36:43 +02:00
Christoph M. Becker 892a745ef1 updated NEWS 2015-09-05 14:51:25 +02:00
Christoph M. Becker cc9da62bdb Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #68291: 404 on urls with '+'

Resolved conflicts:
	sapi/cli/php_cli_server.c
2015-09-05 14:43:19 +02:00
Christoph M. Becker aed225b7e4 updated NEWS 2015-09-05 14:39:24 +02:00
Christoph M. Becker fd94c92171 Fix #68291: 404 on urls with '+'
URI paths have to be treated according to RFC 3986 by the CLI web server, not
as application/x-www-form-urlencoded.
2015-09-05 14:34:08 +02:00
Christoph M. Becker 403974f4dc updated NEWS 2015-09-05 03:22:45 +02:00
Christoph M. Becker 28e82cc714 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70395: Missing ARG_INFO for openssl_seal()
2015-09-05 03:19:43 +02:00
Christoph M. Becker f9ece83994 updated NEWS 2015-09-05 03:14:56 +02:00
Christoph M. Becker 43b26c7b21 Fix #70395: Missing ARG_INFO for openssl_seal()
This patch adds the missing ARG_INFO for the optional 5th parameter $method.
2015-09-05 03:08:02 +02:00
Christoph M. Becker 8355dfc41a updated NEWS and UPGRADING 2015-09-05 02:03:23 +02:00
Christoph M. Becker 25a52d98d7 Fix #70029: nodeValue of DOMElement list content of children nodes
According to the W3C DOM Core Level 3 specification DOMElement::nodeValue is
supposed to yield null, but currently the DOM extension yield the result of
calling xmlNodeGetContent(), what is the concatenation of the values of the
children of the element. This patch fixes the non standard behavior.
2015-09-05 01:52:41 +02:00
Christoph M. Becker 3be54e12d5 updated NEWS 2015-09-05 01:35:16 +02:00
Christoph M. Becker c9a8733ce2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70001: Assigning to DOMNode::textContent does additional entity encoding

Resolved conflicts:
	ext/dom/node.c
2015-09-05 01:32:08 +02:00
Christoph M. Becker dc1a8dd7f0 updated NEWS 2015-09-05 01:27:59 +02:00
Christoph M. Becker b2954c64ab Fix #70001: Assigning to DOMNode::textContent does additional entity encoding
Assigning to DOMNode::textContent encodes entities, what does not match the
behavior of DOMText::__construct() and DOMDocument::createTextNode. This patch
changes the behavior of DOMNode::textContent in this regard.
2015-09-05 01:17:50 +02:00
Christoph M. Becker 320e891f5b updated NEWS 2015-09-05 00:47:09 +02:00
Christoph M. Becker 0836d6484c Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70322: ZipArchive::close() doesn't indicate errors
2015-09-05 00:43:41 +02:00
Christoph M. Becker b59ea797f5 updated NEWS 2015-09-05 00:37:08 +02:00
Christoph M. Becker c77f783777 Fix #70322: ZipArchive::close() doesn't indicate errors
If an archive can't be written, ZipArchive::close() nonetheless returns TRUE.
We fix the return value to properly return success, and additionally raise a
warning on failure.
2015-09-05 00:34:10 +02:00
Jakub Zelenka 539db00538 Simplify JSON constants registration 2015-09-04 20:00:29 +01:00
Jakub Zelenka 6e5574807f Add my name to authors for previous refactoring
Related to jsond changes
2015-09-04 19:56:59 +01:00
Jakub Zelenka 7fe2646be3 Move json_decode options macros bellow encode options 2015-09-04 19:37:12 +01:00
Ryan McCullagh 45fdff1c85 json: fix formating of PHP_JSON* option bitshifts 2015-09-04 19:29:54 +01:00
Kalle Sommer Nielsen fbfceaaa5d Merge branch 'pull-request/1497' 2015-09-04 17:59:06 +02:00
Kalle Sommer Nielsen 4481be5d26 Fix build on Windows 2015-09-04 17:49:48 +02:00
Bob Weinand 3d05785054 Merge remote-tracking branch 'origin/PHP-5.6' 2015-09-04 16:35:15 +02:00
Niklas Keller 4b1dff6f43 Fix #70361: HTTP stream wrapper doesn't close keep-alive connections 2015-09-04 16:29:35 +02:00
Márcio Almada c08b3922dd adds missing tokens to list of semi-reserved words and regenerates test suite 2015-09-04 15:02:50 +02:00
Joe Watkins 26e619b192 these need to be exported for extensions that use json 2015-09-03 19:28:34 +01:00
Anatol Belski 0f74baed9c prepare NEWS for next 2015-09-03 19:04:39 +02:00
Lior Kaplan 3bb88aee53 Align NEWS entries format 2015-09-03 19:49:07 +03:00
Lior Kaplan dbbc0e4ced Align NEWS entries format 2015-09-03 19:46:41 +03:00
Anatol Belski fcece2a7bb sync NEWS 2015-09-03 18:25:14 +02:00
Lior Kaplan 9131cf4924 Add missing variable from birdstep_commit() which got removed in e8fcd52ef 2015-09-03 18:46:07 +03:00
Lior Kaplan 23b88d38e8 Align NEWS entries format 2015-09-03 17:53:53 +03:00
Lior Kaplan abf0ede0ac Add CVE for #70140 (PHP 7.0.0 Beta 3) 2015-09-03 17:51:07 +03:00
Xinchen Hui 49ee37d870 Seems master is not affected 2015-09-02 23:15:57 -07:00
Xinchen Hui d5b78cec64 We should keep one refcount to resource 2015-09-02 22:14:48 -07:00
Xinchen Hui 6815c08e29 Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex) 2015-09-02 22:07:29 -07:00
Xinchen Hui 6290344d96 Fixed test 2015-09-02 21:59:36 -07:00
Levi Morrison 432dc527ad Partially fix bug #67167 - Wrong return value...
...from FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE

The remainer of the fix would require the filter functions to only
convert to string when it makes sense for that particular filter.
2015-09-02 18:23:26 -06:00
Ferenc Kovacs 4388eba510 Merge branch 'PHP-5.6'
* PHP-5.6:
  move the phpdbg NEWS entry to the correct version
2015-09-03 01:58:29 +02:00
Ferenc Kovacs 52b2a3ff25 move the phpdbg NEWS entry to the correct version 2015-09-03 01:58:13 +02:00
Ferenc Kovacs ece397ef0f Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing news entries
2015-09-03 01:47:17 +02:00
Ferenc Kovacs 3759de241f add missing news entries 2015-09-03 01:46:38 +02:00
Anatol Belski d03e8e0e87 sync NEWS 2015-09-02 22:12:15 +02:00
Anatol Belski 4401f56eef bump version 2015-09-02 22:10:25 +02:00
Anatol Belski 6ef7c6358f Merge branch 'master' into PHP-7.0.0
* master: (201 commits)
  sync NEWS
  Add missing variable from birdstep_commit() which got removed in e8fcd52ef
  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
  ...
2015-09-02 22:08:24 +02:00
Levi Morrison 730496b899 Skip if ext/filter isn't loaded 2015-09-02 10:12:08 -06:00
Julien Pauli 1f0045d44a Merge branch 'PHP-5.6'
* PHP-5.6:
  Merge branch 'PHP-5.6'
  bump version
2015-09-02 17:56:49 +02:00
Julien Pauli c65350cd4d Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Merge branch 'PHP-5.6'
  bump version
2015-09-02 17:55:57 +02:00
Julien Pauli bb98ed600a Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Merge branch 'PHP-5.6'
  bump version

Conflicts:
	configure.in
	main/php_version.h
2015-09-02 17:55:20 +02:00
Matteo Beccati a12cef979d Merge branch 'PHP-5.6'
* PHP-5.6:
  Added missing skipif for phar+zlib test
2015-09-02 17:53:36 +02:00
Julien Pauli 60e2207c34 Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.30 next
  More fixes for bug #70219

Conflicts:
	ext/pcre/php_pcre.c
	ext/session/session.c
2015-09-02 17:51:02 +02:00
Julien Pauli c07150cd1a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.30 next

Conflicts:
	configure.in
	main/php_version.h
2015-09-02 17:42:00 +02:00
Julien Pauli ea807f9c07 5.5.30 next 2015-09-02 17:40:56 +02:00
Xinchen Hui 7cf8df5597 Merge branch 'master' of git.php.net:/php-src 2015-09-02 23:36:43 +08:00
Xinchen Hui 1cfd12d618 Use ZSTR_VAL 2015-09-02 23:36:13 +08:00
Xinchen Hui 362f787b75 Merge branch 'fix-dtrace-phpdbg' of https://github.com/reeze/php-src 2015-09-02 23:28:51 +08:00
Anatol Belski ebb6f5eae6 fix dir separators in test 2015-09-02 17:26:35 +02:00
Anatol Belski 2d72a17ab9 use correct api 2015-09-02 17:25:00 +02:00
Anatol Belski 45a72785b5 fix leak 2015-09-02 17:20:24 +02:00
Anatol Belski 59d3529f29 cleanup an atavism
no DOS support here )
2015-09-02 17:05:47 +02:00
Anatol Belski 9d82a7dc98 add overflow check 2015-09-02 17:05:45 +02:00
Anatol Belski 95ac779956 remove unnecessary macros 2015-09-02 17:05:43 +02:00
Dmitry Stogov 6848cb3f63 Use regular huge pages instead of anonymous if available. 2015-09-02 15:55:41 +03:00
Dmitry Stogov 111bd5d8c4 Introduced additional check. Its miss might be the reason of bug #70392 (SIGSEGV during PHP shutdown) 2015-09-02 13:05:12 +03:00
Dmitry Stogov a2f8a7675b Prevent HashTable compaction below HT_MIN_SIZE (this may lead to hash collisions). 2015-09-02 13:03:31 +03:00
Stanislav Malyshev 9c35f87e9a Temporary add XFAILs, will fix soon 2015-09-02 01:23:40 -07:00
Stanislav Malyshev 6640aded24 fix memory leak 2015-09-02 01:21:47 -07:00
Stanislav Malyshev c18f662e3c Merge remote-tracking branch 'origin/master'
* origin/master:
  Add test for ReflectionMethod::getPrototype_basic()
  Added two tests to check the main functionallity of recode extension
  Doubles are not refcounted
  Fix #32490: constructor of mysqli has wrong name
2015-09-02 01:00:16 -07:00
Stanislav Malyshev 9b1a224d4e Merge branch 'PHP-5.6'
* PHP-5.6: (21 commits)
  fix unit tests
  update NEWS
  add NEWS for fixes
  Improve fix for #70172
  Fix bug #70312 - HAVAL gives wrong hashes in specific cases
  fix test
  add test
  Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList
  Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage
  Fix bug #70172 - Use After Free Vulnerability in unserialize()
  Fix bug #70388 - SOAP serialize_function_call() type confusion
  Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories
  Improve fix for #70385
  Fix bug #70345 (Multiple vulnerabilities related to PCRE functions)
  Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes)
  Fix bug #70219 (Use after free vulnerability in session deserializer)
  Fix bug ##70284 (Use after free vulnerability in unserialize() with GMP)
  Fix for bug #69782
  Add CVE IDs asigned (post release) to PHP 5.4.43
  Add CVE IDs asigned to #69085 (PHP 5.4.39)
  ...

Conflicts:
	ext/exif/exif.c
	ext/gmp/gmp.c
	ext/pcre/php_pcre.c
	ext/session/session.c
	ext/session/tests/session_decode_variation3.phpt
	ext/soap/soap.c
	ext/spl/spl_observer.c
	ext/standard/var.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	ext/xsl/xsltprocessor.c
2015-09-02 00:37:20 -07:00
Davey Shafik 9ec6a44c5e Add CURLPIPE_* constants to properly expose HTTP/2 multiplexing 2015-09-02 17:16:43 +12:00
marcosptf 519016096f Add test for ReflectionMethod::getPrototype_basic() 2015-09-02 00:28:46 +02:00
Daniel Persson c98b88aafe Added two tests to check the main functionallity of recode extension 2015-09-02 00:11:45 +02:00
Hannes Magnusson 874dcd8f73 Doubles are not refcounted 2015-09-01 14:52:04 -07:00
Stanislav Malyshev 51fca4b77d bump version 2015-09-01 13:12:16 -07:00
Stanislav Malyshev a6c063d663 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  More fixes for bug #70219
2015-09-01 12:51:48 -07:00
Christoph M. Becker b15eff6386 Fix #32490: constructor of mysqli has wrong name
As of PHP 7 old style constructor names are deprecated, so we rename
mysqli::mysqli() to mysqli::__construct().
2015-09-01 21:44:16 +02:00
Stanislav Malyshev 3fe509443c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix unit tests
2015-09-01 12:24:14 -07:00
Stanislav Malyshev 43c2dfa7b3 Merge branch 'PHP-5.5' into PHP-5.5.29
* PHP-5.5:
  fix unit tests
2015-09-01 12:24:06 -07:00
Stanislav Malyshev 4aeff30337 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix unit tests
2015-09-01 12:23:55 -07:00
Stanislav Malyshev 1922c650ba fix unit tests 2015-09-01 12:23:22 -07:00
Stanislav Malyshev c19d59c550 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS
  add NEWS for fixes
  Improve fix for #70172
  Fix bug #70312 - HAVAL gives wrong hashes in specific cases
  fix test
  add test
  Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList
  Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage
  Fix bug #70172 - Use After Free Vulnerability in unserialize()
  Fix bug #70388 - SOAP serialize_function_call() type confusion
  Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories
  Improve fix for #70385
  Fix bug #70345 (Multiple vulnerabilities related to PCRE functions)
  Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes)
  Fix bug #70219 (Use after free vulnerability in session deserializer)
  Fix for bug #69782
  Add CVE IDs asigned (post release) to PHP 5.4.43
  Add CVE IDs asigned to #69085 (PHP 5.4.39)
  5.4.45 next

Conflicts:
	ext/pcre/php_pcre.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	ext/zip/php_zip.c
2015-09-01 12:06:41 -07:00
Stanislav Malyshev 45e7e79485 Merge branch '70284' into PHP-5.6
* 70284:
  Fix bug ##70284 (Use after free vulnerability in unserialize() with GMP)
2015-09-01 12:05:02 -07:00
Stanislav Malyshev 32fe02c27d Merge branch 'PHP-5.5' into PHP-5.5.29
* PHP-5.5:
  update NEWS
  add NEWS for fixes
2015-09-01 12:04:04 -07:00
Stanislav Malyshev 31b634bf7c update NEWS 2015-09-01 12:03:48 -07:00
Stanislav Malyshev 0fac73a3bf Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  add NEWS for fixes
2015-09-01 12:00:30 -07:00
Stanislav Malyshev 7ceb0e3a18 add NEWS for fixes 2015-09-01 11:53:59 -07:00
Stanislav Malyshev 53d274beb0 Merge branch 'PHP-5.5' into PHP-5.5.29
* PHP-5.5:
  Improve fix for #70172
  Add CVE IDs asigned (post release) to PHP 5.4.43
  Add CVE IDs asigned to #69085 (PHP 5.4.39)

Conflicts:
	ext/pcre/php_pcre.c
2015-09-01 11:43:27 -07:00
Stanislav Malyshev 33d3acaae7 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Improve fix for #70172
  Fix bug #70312 - HAVAL gives wrong hashes in specific cases
  fix test
  add test
  Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList
  Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage
  Fix bug #70172 - Use After Free Vulnerability in unserialize()
  Fix bug #70388 - SOAP serialize_function_call() type confusion
  Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories
  Improve fix for #70385
  Fix bug #70345 (Multiple vulnerabilities related to PCRE functions)
  Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes)
  Fix bug #70219 (Use after free vulnerability in session deserializer)
  Fix for bug #69782
  Add CVE IDs asigned (post release) to PHP 5.4.43
  Add CVE IDs asigned to #69085 (PHP 5.4.39)
  5.4.45 next

Conflicts:
	configure.in
	ext/pcre/php_pcre.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	main/php_version.h
2015-09-01 11:42:19 -07:00
Stanislav Malyshev 48cfd1160b Merge branch 'PHP-5.4.45' into PHP-5.4
* PHP-5.4.45:
  Improve fix for #70172
  Fix bug #70312 - HAVAL gives wrong hashes in specific cases
  fix test
  add test
  Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList
  Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage
  Fix bug #70172 - Use After Free Vulnerability in unserialize()
  Fix bug #70388 - SOAP serialize_function_call() type confusion
  Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories
  Improve fix for #70385
  Fix bug #70345 (Multiple vulnerabilities related to PCRE functions)
  Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes)
  Fix bug #70219 (Use after free vulnerability in session deserializer)
  Fix for bug #69782
2015-09-01 11:40:15 -07:00
Stanislav Malyshev 7c31203935 Improve fix for #70172 2015-09-01 11:38:39 -07:00
Bob Weinand 50d6fd6a03 Fixed bug #70397 (Segmentation fault when using Closure::call and yield) 2015-09-01 18:04:19 +02:00
Joe Watkins a8a3b02fd9 fix for --enable-zend-signals and ZTS
temporary fix to make queue size bigger in zend_signal while I work on it
2015-09-01 16:51:40 +01:00
Joe Watkins ccba374faf Merge branch 'master' of https://github.com/php/php-src 2015-09-01 11:00:45 +01:00
Dmitry Stogov d8eee72a84 Fixed possible caching with invalid key value 2015-09-01 12:56:33 +03:00
Joe Watkins 85a511d2c1 fix zend signal and tsrm compat 2015-09-01 09:34:54 +01:00
Stanislav Malyshev e2291e4b1a Merge branch 'PHP-5.4.45' into PHP-5.5.29
* PHP-5.4.45:
  Fix bug #70312 - HAVAL gives wrong hashes in specific cases
2015-09-01 01:17:12 -07:00
Stanislav Malyshev 1390a5812b Fix bug #70312 - HAVAL gives wrong hashes in specific cases 2015-09-01 01:16:30 -07:00
Stanislav Malyshev 3605d1baf5 Merge branch 'PHP-5.4.45' into PHP-5.5.29
* PHP-5.4.45:
  fix test
2015-09-01 00:59:55 -07:00
Stanislav Malyshev 906f19f136 fix test 2015-09-01 00:59:31 -07:00
Dmitry Stogov bb4b50636c Fixed one more problem related to bug #70187 (Notice: unserialize(): Unexpected end of serialized data) 2015-09-01 10:39:00 +03:00
Stanislav Malyshev 6935058a98 Merge branch 'PHP-5.4.45' into PHP-5.5.29
* PHP-5.4.45:
  add test
  Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList
  Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage
  Fix bug #70172 - Use After Free Vulnerability in unserialize()
  Fix bug #70388 - SOAP serialize_function_call() type confusion
  Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories
  Improve fix for #70385
  Fix bug #70345 (Multiple vulnerabilities related to PCRE functions)
  Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes)

Conflicts:
	ext/pcre/php_pcre.c
	ext/standard/var_unserializer.c
2015-09-01 00:28:39 -07:00
Stanislav Malyshev c8f07ad477 add test 2015-09-01 00:26:12 -07:00
Stanislav Malyshev 259057b2a4 Fix bug #70366 - use-after-free vulnerability in unserialize() with SplDoublyLinkedList 2015-09-01 00:20:45 -07:00
Stanislav Malyshev f06a069c46 Fix bug #70365 - use-after-free vulnerability in unserialize() with SplObjectStorage 2015-09-01 00:14:15 -07:00
Stanislav Malyshev e8429400d4 Fix bug #70172 - Use After Free Vulnerability in unserialize() 2015-08-31 23:26:14 -07:00
Stanislav Malyshev e201f01ac1 Fix bug #70388 - SOAP serialize_function_call() type confusion 2015-08-31 21:06:03 -07:00
Dmitry Stogov 66770f9c37 Added missing set of fcc->initialized flag. 2015-09-01 03:15:50 +03:00
Bob Weinand 84b608de10 Fix valgrind warning upon displaying lines from eval()ed code in phpdbg 2015-08-31 23:42:15 +02:00
Dmitry Stogov 89aa1b7392 Ensure proper data alignment 2015-08-31 13:56:42 +03:00
Dmitry Stogov 37f0c6b5cb Add myself into list of authors of the most refactored files. 2015-08-31 11:38:16 +03:00
Bob Weinand 54a831829a Respect exit status for -rr option with phpdbg 2015-08-30 20:25:10 +02:00
Xinchen Hui 5f006ade64 Merge branch 'patch-8' of https://github.com/ovr/php-src 2015-08-30 08:02:17 -07:00
Xinchen Hui a68e577b4e Merge branch 'master' of https://github.com/softwarespot/php-src 2015-08-30 08:00:15 -07:00
Xinchen Hui 871545fdd0 Merge branch 'PHP-5.6' 2015-08-30 05:34:31 -07:00
Xinchen Hui 9da99d8c5f Merge branch 'PHP-5.6' of git.php.net:/php-src into PHP-5.6 2015-08-30 05:34:15 -07:00
Xinchen Hui 014abbc840 Merge branch 'PHP-5.6'
Conflicts:
	ext/pdo/pdo_dbh.c
	ext/pdo/php_pdo_driver.h
2015-08-30 05:32:37 -07:00
Xinchen Hui ef1bd8f0e6 Fixed bug #70389 (PDO constructor changes unrelated variables) 2015-08-30 05:02:38 -07:00
Stanislav Malyshev f9c2bf73ad Fixed bug #70350: ZipArchive::extractTo allows for directory traversal when creating directories 2015-08-30 00:38:08 -07:00
Stanislav Malyshev ce2c67c8e8 Improve fix for #70385 2015-08-29 23:01:36 -07:00
Anatol Belski d7cd2d7bd6 fix possible overflow 2015-08-29 20:14:07 +02:00
Anatol Belski 0245d6c6a3 use non deprecated symbols 2015-08-29 20:12:31 +02:00
Matteo Beccati cb5582d3c1 Merge branch 'PHP-5.6'
* PHP-5.6:
  Added missing skipif for phar+zlib test
2015-08-29 10:48:53 +02:00
Matteo Beccati 9d816f1bcf Added missing skipif for phar+zlib test 2015-08-29 10:47:02 +02:00
Matteo Beccati 6b3e44369d Fixed bug #70386 Can't compile on NetBSD because of missing WCONTINUED
since 90114a3e93
2015-08-29 08:07:45 +02:00
Stanislav Malyshev 03964892c0 Fix bug #70345 (Multiple vulnerabilities related to PCRE functions) 2015-08-28 22:52:50 -07:00
Stanislav Malyshev 64043cb9e5 Fix bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes) 2015-08-28 22:25:41 -07:00
Stanislav Malyshev fc8eff897b More fixes for bug #70219 2015-08-28 21:50:21 -07:00
Nikita Popov ccec609b82 Fix bug #62441
These checks were introduced by 8646d9afce
back when name resolution was working differently.
2015-08-28 19:00:05 +02:00
Nikita Popov 7f2261d24a Fix HT_ASSERT ht->nInternalPointer checks
The & was on the wrong side...
2015-08-28 18:59:46 +02:00
Dmitry Stogov 127db5a37d HANDLE_BLOCK_INTERRUPTIONS() is not used by SAPIs anymore. It may be useful only when PHP configured with --enable-zend-signals. 2015-08-28 16:10:07 +03:00
Anatol Belski 7e3fb94461 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix dir separator in test
  fix path separator in test
  fix test
2015-08-28 14:49:14 +02:00
Dmitry Stogov 8da0aeaa13 Removed signal protection (set to NULL before free() to avoid dangling pointers) 2015-08-28 15:32:50 +03:00
Dmitry Stogov 87f0f77105 Simplified integer overflow checks 2015-08-28 12:47:21 +03:00
Anatol Belski 00eebd7a47 fix dir separator in test 2015-08-28 11:39:26 +02:00
Dmitry Stogov 5d15d2b26d Removed useless signal protection 2015-08-28 12:39:18 +03:00
Anatol Belski 5d2294e8b8 fix path separator in test 2015-08-28 11:38:16 +02:00
Anatol Belski ebdd9cf6e8 fix test 2015-08-28 11:29:38 +02:00
Adam Harvey de63ebf5f4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix NEWS indentation.
  Don't detect FreeBSD 10 as FreeBSD 1 in libtool.m4.
2015-08-27 16:01:33 -07:00
Adam Harvey 4ddc4af87c Fix NEWS indentation. 2015-08-27 16:00:36 -07:00
Adam Harvey e872f4d9c1 Don't detect FreeBSD 10 as FreeBSD 1 in libtool.m4.
Fixes bug #70370 (Bundled libtool.m4 doesn't handle FreeBSD 10 when building
extensions).
2015-08-27 15:59:59 -07:00
Jakub Zelenka 0a3f2caa6c Remove merged bug #55259 info from PHP 7 NEWS 2015-08-27 21:44:38 +01:00
Jakub Zelenka e4f9354615 Merge branch 'PHP-5.6' 2015-08-27 21:43:57 +01:00
Jakub Zelenka a5864d9917 Update NEWS with info about bug #55259 2015-08-27 21:37:59 +01:00
Dmitry Stogov 745753eacb Prevent double load on fast path (manual common subexpression elimination) 2015-08-27 23:02:15 +03:00
Jakub Zelenka 6b9f31ab74 Merge branch 'PHP-5.6' 2015-08-27 20:17:33 +01:00
Xinchen Hui 859712a89c remove redundant ; 2015-08-27 13:05:41 +08:00
Xinchen Hui aa24209855 Enable format checking for strpprintf 2015-08-27 11:42:50 +08:00
Xinchen Hui c359ca8c3d Fixed printing 2015-08-27 11:38:11 +08:00
softwarespot 76a0cbc0c2 Removed trailing whitespace 2015-08-26 22:24:46 +03:00
Anatol Belski b795ce6de5 make overflow checks as unexpected
it's supposed to mark an error case
2015-08-26 21:12:41 +02:00
Jakub Zelenka ad028ebc11 Use new range checks in openssl ext 2015-08-26 19:55:29 +01:00
Dmitry Stogov e549ebdb23 Mark parse error functions as cold 2015-08-26 18:29:42 +03:00
Dmitry Stogov 942747cc3e Removed unused functions 2015-08-26 18:29:23 +03:00
Anatol Belski 95073c8429 fix year in the header 2015-08-26 17:10:23 +02:00
Anatol Belski 150dead2d9 add range check to ext/soap 2015-08-26 16:39:54 +02:00
Anatol Belski 1553ce2093 add some range checks to pcre 2015-08-26 16:39:53 +02:00
Anatol Belski ce3e3f7884 more range checks in ext/tidy 2015-08-26 16:39:52 +02:00
Anatol Belski 871acceace add range checks to ext/tidy 2015-08-26 16:39:51 +02:00
Anatol Belski 201afce875 add some range checks to ext/dom 2015-08-26 16:39:50 +02:00
Anatol Belski a3dceb485a fix test 2015-08-26 16:39:48 +02:00
Anatol Belski 2c523f21c9 add range checks to simplexml 2015-08-26 16:39:47 +02:00
Anatol Belski d40a149ade fix typo 2015-08-26 16:39:46 +02:00
Anatol Belski c867b510df include range checks with the portability header 2015-08-26 16:39:45 +02:00
Anatol Belski e2ce37be6a added basic stuff with the zend_range_check.h 2015-08-26 16:39:44 +02:00
Dmitry Stogov 1f0f768e3f Avoid duplication 2015-08-26 14:53:41 +03:00
Christopher Jones 22ad36428a Merge branch 'master' of https://git.php.net/repository/php-src 2015-08-26 21:24:05 +10:00
Christopher Jones a52902faf4 Squash some more PHP 7 diffs and improve test portability (Senthil) 2015-08-26 21:22:58 +10:00
Stanislav Malyshev 24dda816d0 Merge branch 'PHP-5.4.45' into PHP-5.5.29
* PHP-5.4.45:
  Fix bug #70219 (Use after free vulnerability in session deserializer)
  Fix for bug #69782
  5.4.45 next

Conflicts:
	configure.in
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	main/php_version.h
2015-08-25 23:08:49 -07:00
Niklas Keller 91712c35f8 Fix Typos: exteption -> exception 2015-08-26 07:30:56 +02:00
Christopher Jones 371eba811f Merge branch 'master' of https://git.php.net/repository/php-src 2015-08-26 14:35:41 +10:00
Dmitry Stogov 25f9e25526 Fixed bug #70187 (Notice: unserialize(): Unexpected end of serialized data) 2015-08-26 03:27:05 +03:00
Bob Weinand c1e9bd27fe Fix zend_vm_call_opcode_handler (e.g. Generators throwing exceptions) with IP/FP registers 2015-08-26 00:25:25 +01:00
Dmitry Stogov 9d31b29705 Avoid array duplication 2015-08-25 22:40:33 +03:00
Jakub Zelenka c39336d1d8 Fix bug #55259 (openssl extension does not get the DH parameters from DH key resource) 2015-08-25 20:26:11 +01:00
Christoph M. Becker 2455ab2a2b Remove superfluous forward declaration
mysqli_get_cache_stats() has been removed with commit f9ad56e; we're finally
getting rid of its remaining forward declaration.
2015-08-25 14:26:55 +02:00
Anatol Belski 7366e29662 fix build, use exported symbol 2015-08-25 10:39:43 +02:00
Dmitry Patsura 2391ec73c1 TravisCI - remove unneded code 2015-08-25 12:33:15 +08:00
Dmitry Stogov 2482325b3d Assign CPU registers for GOTO and SWITCH executor as well 2015-08-25 02:38:06 +03:00
Christoph M. Becker a8d38674b1 updated NEWS 2015-08-24 23:16:21 +02:00
Christoph M. Becker 405f8b5c91 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #67131: setcookie() conditional for empty values not met

Resolved conflicts:
	ext/standard/head.c
2015-08-24 23:11:03 +02:00
Christoph M. Becker e5adf2b427 updated NEWS 2015-08-24 23:05:18 +02:00
Christoph M. Becker fc203fa37e Fix #67131: setcookie() conditional for empty values not met
PHP applies a workaround for old MSIE where setting an empty cookie value would
not delete the cookie. This workaround is only triggered if an empty string (or
a value that converts to an empty string) is actually given as $value parameter
of setcookie. If the $value parameter is omitted, an empty cookie value is
sent. This commit fixes the inconsistent behavior.
2015-08-24 23:03:50 +02:00
Dmitry Stogov f9f568aa1e In 95% cases we initialize "empty" array (with 8 hash slots). 2015-08-24 22:07:28 +03:00
Dmitry Stogov 96ea4a0ac6 Mark error functions as "cold" 2015-08-24 18:07:59 +03:00
Xinchen Hui fd5e0dc3c6 Fixed bug #70342 (changing configuration with ignore_user_abort(true) isn't working) 2015-08-24 21:09:16 +08:00
Bob Weinand 6b3228fda4 Fix oplog with eval()ed code 2015-08-24 12:28:35 +01:00
Dmitry Stogov db5898c9e5 Optimize fast path 2015-08-24 12:47:06 +03:00
Stanislav Malyshev df4bf28f9f Fix bug #70219 (Use after free vulnerability in session deserializer) 2015-08-23 19:56:12 -07:00
Stanislav Malyshev d735957cb5 Fix bug ##70284 (Use after free vulnerability in unserialize() with GMP) 2015-08-23 16:08:07 -07:00
Anatol Belski b928ea2de7 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test
  fix test
  fix test
  fix test
2015-08-23 22:56:51 +02:00
marcosptf d536ecac5c added test for gzgetss() 2015-08-23 17:55:23 +02:00
Anatol Belski 78b2b1d6f7 fix test
backport from master
2015-08-23 17:27:55 +02:00
Anatol Belski b460b530d6 fix test
backport from master
2015-08-23 17:27:53 +02:00
Anatol Belski 24e78ec1d8 fix test 2015-08-23 17:27:51 +02:00
Anatol Belski 5786f86656 fix test
backported from master
2015-08-23 17:27:50 +02:00
Xinchen Hui c68fa93de5 Merge branch 'master' of git.php.net:php-src 2015-08-23 20:42:10 +08:00
Xinchen Hui f56534e4b9 Fixed Bug #70332 (Wrong behavior while returning reference on object)
This fix is actually made for array acessing bug fix (#70262) which is
discarded since we have another better fix, anyway now seems this is still useful
2015-08-23 20:17:51 +08:00
Bob Weinand 45ae47a149 Merge remote-tracking branch 'origin/PHP-5.6' 2015-08-23 12:19:31 +01:00
Bob Weinand 272cccd175 Fix phpdbg_break_next() 2015-08-23 12:07:14 +01:00
Bob Weinand e9f21a3388 Fix phpdbg_break_next() and add test 2015-08-23 11:58:45 +01:00
Xinchen Hui 4df6f26442 Fixed bug #70330 (Segmentation Fault with multiple "curl_copy_handle") 2015-08-23 13:01:47 +08:00
Xinchen Hui 55f88141c5 Re-Fixed bug #70321 (Magic getter breaks reference to array property) 2015-08-23 11:42:33 +08:00
Xinchen Hui e26a04f9ec Revert "Fixed bug #70321 (Magic getter breaks reference to array property)"
This reverts commit 66754585f8.
2015-08-23 10:40:28 +08:00
Bob Weinand 66754585f8 Fixed bug #70321 (Magic getter breaks reference to array property)
Note that the UNEXPECTED(zv) was turned into EXPECTED(zv), as zv is mostly set in the context where it is used and usually anyway is checked first with OP*_TYPE == IS_VAR; or maybe just completely remove that (UN)EXPECTED at this place...
2015-08-22 23:54:59 +01:00
Bob Weinand 76e3e99dd6 Fix issues with phpdbg SIGINT handler
Also fix valgrind warnings in allocator when not using mmap()ed memory
2015-08-21 23:36:31 +01:00
Anatol Belski f9ae74a4c0 make this test Windows only
as we're not in control of the libxml builds everywhere
2015-08-21 19:47:17 +02:00
Anatol Belski ac2f6ddd4f here string isn't supported by every shell 2015-08-21 19:11:53 +02:00
Ferenc Kovacs 5ed1b70841 $() isn't supported on every shell 2015-08-21 18:27:03 +02:00
Anatol Belski 83a055c3da Merge branch 'PHP-5.6'
* PHP-5.6:
  fix tests
  fix dir separator
  fix dir separator in test
  fix dir separator in test
2015-08-21 15:48:03 +02:00
Anatol Belski 2b9c7f881a fix tests 2015-08-21 15:13:39 +02:00
Anatol Belski aa23bc6d1d fix dir separator 2015-08-21 14:08:33 +02:00
Anatol Belski 9e69ef4ce2 fix dir separator in test 2015-08-21 14:05:58 +02:00
Anatol Belski e8f37fe3dc fix dir separator in test 2015-08-21 14:04:08 +02:00
Xinchen Hui 5a37056efa unnecessary 1 byte allocted 2015-08-21 18:28:02 +08:00
Anatol Belski 13044447eb add test for bug 70309 2015-08-21 11:47:00 +02:00
Anatol Belski 03f6ffd1d7 note to UPGRADING 2015-08-21 10:48:25 +02:00
Bob Weinand 823062d6c1 Fix invalid range error by gawk in order_by_dek.awk 2015-08-21 00:13:03 +02:00
Bob Weinand 82b73fd1e3 Remove assumption that extensions are in ext/ext-name
Fixes also a weird ln (symlink) hack for phpdbg
2015-08-21 00:13:02 +02:00
Sara Golemon a3eed5fbfe Move __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defs earlier
These defines should apply to windows as well,
so move them out of the non-windows specific section
and always define them for C++ compilations.
2015-08-20 14:40:08 -07:00
Bob Weinand 5ece3ec71c Fix bogus traces with ReflectionGenerator::getTrace() 2015-08-20 23:24:28 +02:00
Sara Golemon 29a8981c81 Enable definitions of stdint.h limits/constants used by Zend/zend_long.h
Define __STDC_LIMITS_MACROS and __STDC_CONSTANT_MACROS
prior to including stdint.h for the first time so that it
defines the INT64_MAX / INT64_C / etc... macros we use elsewhere
when building for C++ (C already gets these).
2015-08-20 11:34:44 -07:00
Jakub Zelenka 7ad1703413 Add overflow check for openssl_pkcs12_read 2015-08-20 19:29:54 +01:00
Anatol Belski ef063dcb05 one new line too much 2015-08-20 13:32:30 +02:00
Anatol Belski 4ad0714d76 fork test 2015-08-20 13:32:29 +02:00
Nikita Popov ef7d822c32 Remove path from test 2015-08-20 12:58:36 +02:00
Nikita Popov 186b0f3770 Don't allow leading \ in group use decl list
We recently added support for "use \Foo\{Bar}". This commit drops
support for the reverse "use Foo\{\Bar}". Those two got mixed up
in the initial implementation.
2015-08-20 11:47:43 +02:00
Ferenc Kovacs 4d7a8f119e Merge branch 'PHP-5.6'
* PHP-5.6:
  5.6.14 next
2015-08-20 09:57:49 +02:00
Ferenc Kovacs c7c9858ba1 5.6.14 next 2015-08-20 09:56:47 +02:00
Christopher Jones af76506830 Fixed bug #70308 (PDO::ATTR_PREFETCH is ignored) 2015-08-20 14:09:30 +10:00
Christopher Jones f8ee809e22 Merge branch 'master' of https://git.php.net/repository/php-src 2015-08-20 13:57:39 +10:00
Christoph M. Becker 7373da78fe Merge branch 'pull-request/1471'
* pull-request/1471:
  add test for php_enchant_broker_free()
2015-08-19 22:27:39 +02:00
marcosptf bf340ec417 add test for php_enchant_broker_free() 2015-08-19 22:25:29 +02:00
Christoph M. Becker 8e9e1b7da3 Merge branch 'pull-request/1472'
* pull-request/1472:
  This is a new test for enchant_broker_free_dict(). This function never was covered by .phpt
2015-08-19 22:16:42 +02:00
marcosptf d085100a52 This is a new test for enchant_broker_free_dict().
This function never was covered by .phpt
2015-08-19 22:15:40 +02:00
Christoph M. Becker 533c11386f Merge branch 'pull-request/1475'
* pull-request/1475:
  testing enchant_broker_(g|s)et_dict_path
2015-08-19 21:59:40 +02:00
marcosptf 9a4b0dbe40 testing enchant_broker_(g|s)et_dict_path 2015-08-19 21:57:42 +02:00
Jakub Zelenka c3f0c87564 Add overflow checks for openssl_pkey_* functions 2015-08-19 20:10:14 +01:00
Jakub Zelenka 478ecc674b Move overflow checks in openssl_pbkdf2 2015-08-19 20:06:58 +01:00
Anatol Belski 09970d8031 Revert "fix occasional fail in zip_close when target arc exists"
This reverts commit ed78d59a1d.
2015-08-19 19:00:53 +02:00
Anatol Belski e6aa1fb249 fix config.w32 to include suitable lib files 2015-08-19 19:00:51 +02:00
Dmitry Stogov 30dcb2d662 Fixed typo 2015-08-19 19:15:30 +03:00
Christoph M. Becker 569023cde6 updated NEWS 2015-08-19 16:35:17 +02:00
Christoph M. Becker 361fb5baaa Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70303: Incorrect constructor reflection for ArrayObject
2015-08-19 16:33:40 +02:00
Christoph M. Becker 6c99cb2929 updated NEWS 2015-08-19 16:25:59 +02:00
Christoph M. Becker 484b92919b Fix #70303: Incorrect constructor reflection for ArrayObject
The first parameter of ArrayObject::__construct() is optional. Reflection
should reflect this.
2015-08-19 16:23:16 +02:00
Anatol Belski 026b41ba66 improve error message 2015-08-19 15:23:23 +02:00
Anatol Belski ed78d59a1d fix occasional fail in zip_close when target arc exists 2015-08-19 15:23:21 +02:00
Dmitry Stogov c97427ea8e Fixed typo in proper place 2015-08-19 15:45:39 +03:00
Dmitry Stogov 3350faf7e4 Fixed typo 2015-08-19 15:15:17 +03:00
Dmitry Stogov 71af54e5f6 Mark error and exception functions as "cold" (Matt's idea) 2015-08-19 14:40:56 +03:00
Xinchen Hui 066f6f6ad8 Merge branch 'PHP-5.6' 2015-08-19 18:41:46 +08:00
Xinchen Hui b584b51398 Fixed bug #70290 (Null pointer deref (segfault) in spl_autoload via ob_start) 2015-08-19 18:41:28 +08:00
Dmitry Stogov 9b1570a378 Removed deprecated comments and added expectations (overloaded properties and array elements are less frequently used than regular ones) 2015-08-19 12:21:14 +03:00
Anatol Belski 1bb5479d06 update NEWS 2015-08-19 11:07:40 +02:00
Anatol Belski 0562ec85df Fix bug #70145 From field incorrectly parsed from headers 2015-08-19 11:05:35 +02:00
Anatol Belski 7f4ae19c80 added /guard:cf to release builds 2015-08-19 10:56:43 +02:00
Anatol Belski 3708d9c1b4 use the bare tarball filename for the stub, no path elements 2015-08-19 10:51:15 +02:00
Xinchen Hui a44abef8b2 Update NEWs 2015-08-19 16:34:26 +08:00
Xinchen Hui 574e8966a4 Merge branch 'master' of https://github.com/marcioAlmada/php-src 2015-08-19 16:30:28 +08:00
Xinchen Hui c89bd3f3c3 This bug is already fixed, but it's better to have a bug entry for the record 2015-08-19 10:47:08 +08:00
Christopher Jones 9047b567e3 Resolve build warnings. Bump ver. Better range check. Fix diffs 2015-08-19 10:42:53 +10:00
Bob Weinand 4df77a6c58 Fixed bug #70295 (Segmentation fault with setrawcookie) 2015-08-19 01:33:19 +02:00
Márcio Almada 7568d5cb89 fixes a syntactical inconsistency with group use and leading \
discussion: http://news.php.net/php.internals/87774
2015-08-18 19:23:58 -03:00
Anatol Belski 32462a8076 correct NEWS 2015-08-18 23:27:49 +02:00
Christoph M. Becker 3d8214a021 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #67604: The built windows documention refers to nonexistent dll
2015-08-18 21:26:09 +02:00
Christoph M. Becker c12aa3c7ce Fix #67604: The built windows documention refers to nonexistent dll
Since quite a while the Windows builds ship with php5apache2_4.dll, but not
with other server modules. We fix some out-dated info in install.txt.
2015-08-18 21:21:28 +02:00
Jakub Zelenka 6a201b3651 Use macros for openssl overflow checks
It reduces code duplications
2015-08-18 20:17:04 +01:00
Anatol Belski b7e910e969 update NEWS 2015-08-18 21:04:33 +02:00
Bob Weinand ab57205019 Fixed bug #70293 (Crash with specific assertions and zend.assertions=-1) 2015-08-18 21:02:53 +02:00
Jakub Zelenka 618c327a56 Fix possible overflow in openssl_pbkdf2
Especially key_length would lead to the crash if it overflowed
to the negative value.
2015-08-18 19:46:59 +01:00
Anatol Belski 000be61fb8 NEWS for next 2015-08-18 20:31:37 +02:00
Xinchen Hui a02b3fd4b0 Fixed memleak in Zend/tests/bug39297 2015-08-18 17:49:38 +02:00
Joe Watkins 784dd715e4 Fix mangled property names on anon classes 2015-08-18 16:37:38 +01:00
Côme Bernigaud 8acda9cad5 Merge branch 'PHP-5.6'
* PHP-5.6:
  Patch from Rainer Jung to provide Solaris LDAP support

Conflicts:
	ext/ldap/ldap.c
2015-08-18 17:26:46 +02:00
Anatol Belski ff724aadfb add NEWS entry 2015-08-18 17:20:51 +02:00
Xinchen Hui be58583ced Fixed bug #70288 (Apache crash related to ZEND_SEND_REF) 2015-08-18 17:19:37 +02:00
Côme Bernigaud 54bd91175d Merge branch 'pull-request/1477' into PHP-5.6
* pull-request/1477:
  Patch from Rainer Jung to provide Solaris LDAP support
2015-08-18 17:17:28 +02:00
Anatol Belski 1ef817d796 sync NEWS 2015-08-18 17:04:26 +02:00
Côme Bernigaud 40befb943c Patch from Rainer Jung to provide Solaris LDAP support 2015-08-18 16:52:44 +02:00
Xinchen Hui af8b6ac310 Merge branch 'patch-gdbinit' of https://github.com/adsr/php-src 2015-08-18 22:51:09 +08:00
Anatol Belski e39876bae2 bump versions 2015-08-18 16:06:04 +02:00
Anatol Belski 6fe551d086 Merge branch 'master' into PHP-7.0.0
* master: (211 commits)
  Fixed bug #70272 (Segfault in pdo_mysql)
  Improved fix for bug #70262
  It should not be skip
  Skip the test with valgrind
  Revert "Do not truncate exception traces upon anon class name"
  fix inheritance of internal interfaces with constants
  fix printzv (refcount)
  Do not truncate exception traces upon anon class name
  fix test
  TSRM_TLS should be usable in NTS build
  no need to skip this test if no dictionaries are installed
  new test for enchant pwl file
  Check and use correct signature_len type for EVP_VerifyFinal
  updated NEWS
  fixed changed error message in test
  updated NEWS
  Removed dead code
  Renamed struct member
  Fix #70277: new DateTimeZone($foo) is ignoring text after null byte
  Fixed bug #70262 (Accessing array crashes PHP 7.0beta3)
  ...
2015-08-18 16:00:17 +02:00
Xinchen Hui 3ea8c3cf1c Fixed memleak in Zend/tests/bug39297 2015-08-18 21:46:02 +08:00
Xinchen Hui e543769fa4 Fixed bug #70288 (Apache crash related to ZEND_SEND_REF) 2015-08-18 21:45:19 +08:00
Bob Weinand 34834c58fa Fixed bug #70293 (Crash with specific assertions and zend.assertions=-1) 2015-08-18 15:01:24 +02:00
Julien Pauli 9a138b47c9 Removed unused code 2015-08-18 14:33:04 +02:00
Bob Weinand a1c9c318ea Woops, accidentally made TS build fail... 2015-08-18 14:04:48 +02:00
Bob Weinand 501407aa49 Revert fix for nicer truncation on log_errors_max_len 2015-08-18 14:01:18 +02:00
Christoph M. Becker 1b5e87a579 Fix #70289: Different sort in php7 (and hhvm) compared to php5
We add a respective note to UPGRADING. Furthermore, as renaming of zend_qsort()
and the new zend_insert_sort() are irrelevant for user-land, we move this
info to UPGRADING.INTERNALS.
2015-08-18 13:44:14 +02:00
Xinchen Hui 22eaa995ee Lost this entry while merging 2015-08-18 19:12:52 +08:00
Xinchen Hui 75198c7371 Merge branch 'master' of git.php.net:php-src 2015-08-18 19:07:26 +08:00
Bob Weinand c83cbdf6ce Better fix for exception traces truncation with anon classes 2015-08-18 12:48:06 +02:00
Xinchen Hui dca6d1027a Fixed bug #70272 (Segfault in pdo_mysql) 2015-08-18 18:33:07 +08:00
Xinchen Hui 8df3461086 Improved fix for bug #70262 2015-08-18 18:07:31 +08:00
Xinchen Hui cf9cdf97db Merge branch 'master' of git.php.net:php-src 2015-08-18 18:07:25 +08:00
Xinchen Hui 14ea398d78 It should not be skip 2015-08-18 18:04:26 +08:00
Xinchen Hui 685fee75a5 Skip the test with valgrind 2015-08-18 18:03:34 +08:00
Dmitry Stogov d9a9b8572b Revert "Do not truncate exception traces upon anon class name"
This reverts commit b0c77fb80c.
2015-08-18 12:03:04 +03:00
Michael Wallner 17fc5cc65d fix inheritance of internal interfaces with constants 2015-08-18 08:20:12 +02:00
Michael Wallner e6e5defb31 fix printzv (refcount) 2015-08-18 08:20:12 +02:00
Bob Weinand b0c77fb80c Do not truncate exception traces upon anon class name 2015-08-18 03:27:56 +02:00
Anatol Belski c042c64c43 fix test
This fail has nothing together with any changes in run-tests.php
Using run-tests.php from the 5.5 branch brings the same result. So
merely it is about how PHP7 handles and buffers errors.
2015-08-17 23:12:50 +02:00
Anatol Belski 94e272f1b3 TSRM_TLS should be usable in NTS build 2015-08-17 23:12:49 +02:00
Christoph M. Becker d28abb2da2 no need to skip this test if no dictionaries are installed 2015-08-17 21:43:28 +02:00
Christoph M. Becker c3a303d431 Merge branch 'pull-request/1473'
* pull-request/1473:
  new test for enchant pwl file
2015-08-17 21:42:42 +02:00
marcosptf 3b004baaaa new test for enchant pwl file 2015-08-17 21:28:37 +02:00
Jakub Zelenka c4a98e876c Check and use correct signature_len type for EVP_VerifyFinal 2015-08-17 18:43:02 +01:00
Christoph M. Becker b28758f253 updated NEWS 2015-08-17 19:35:10 +02:00
Christoph M. Becker 07c1b641b5 fixed changed error message in test 2015-08-17 19:33:49 +02:00
Christoph M. Becker 61591ea636 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70277: new DateTimeZone($foo) is ignoring text after null byte

Resolved conflicts:
	ext/date/php_date.c
2015-08-17 19:28:46 +02:00
Christoph M. Becker 3ed58fb5d7 updated NEWS 2015-08-17 17:27:13 +02:00
Julien Pauli aae9004ebd Removed dead code 2015-08-17 17:18:25 +02:00
Julien Pauli 5f54027d04 Renamed struct member
<resolv.h> has a #define for _res which makes compilation
 fail if included before php_output.h
2015-08-17 16:25:03 +02:00
Christoph M. Becker bb057498f7 Fix #70277: new DateTimeZone($foo) is ignoring text after null byte
The DateTimeZone constructors are not binary safe. They're parsing the timezone
as string, but discard the length when calling timezone_initialize(). This
patch adds a tz_len parameter and a respective check to timezone_initialize().
2015-08-17 15:58:37 +02:00
Dmitry Stogov ce89fd9758 Fixed bug #70262 (Accessing array crashes PHP 7.0beta3) 2015-08-17 12:58:14 +03:00
Dmitry Stogov 2d475eb943 Fixed tests on 32-bit systems 2015-08-17 12:54:33 +03:00
Stanislav Malyshev 1744be2d17 Fix for bug #69782 2015-08-16 17:16:15 -07:00
Derick Rethans 9a895396c9 Merge branch 'PHP-5.6' 2015-08-16 21:27:50 +01:00
Derick Rethans b010a9d846 Fixed sorting order
It needs to match the strcasecmp in parse_tz.c.
2015-08-16 21:27:07 +01:00
Derick Rethans cdaf057adb Updated to version 2015.6 (2015f) 2015-08-16 21:26:12 +01:00
Derick Rethans 8811847b24 Empty merge 2015-08-16 21:26:12 +01:00
Derick Rethans 7cafffc31f Updated to version 2015.6 (2015f) 2015-08-16 21:26:11 +01:00
Jakub Zelenka f3abea9f91 Fix some int overflows in openssl
There might be more. I just did a quick check for enc/dec, rand
and one BN call.
2015-08-16 15:43:00 +01:00
Anatol Belski 1613359543 update NEWS 2015-08-15 17:29:58 +02:00
Anatol Belski 46101dbec5 fix incompatible types
namely between hash_data_type and st_data_t
2015-08-15 12:03:47 +02:00
Anatol Belski 3689b44453 add SIZEOF_SIZE_T to oniguruma 2015-08-15 11:39:06 +02:00
Anatol Belski 228eaf5bc4 fix pointer truncation cases 2015-08-15 11:27:07 +02:00
Tjerk Meesters 0bd7d7a369 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS for #70157
  Fixed #70157 parse_ini_string() segmentation fault with INI_SCANNER_TYPED
2015-08-15 16:49:30 +08:00
Tjerk Meesters b0c5439b5f Updated NEWS for #70157 2015-08-15 15:13:01 +08:00
Tjerk Meesters 71daca28d4 Merge branch 'bug70157' into PHP-5.6
* bug70157:
  Fixed #70157 parse_ini_string() segmentation fault with INI_SCANNER_TYPED
2015-08-15 15:11:31 +08:00
Tjerk Meesters 0d7159d26d Fixed #70157 parse_ini_string() segmentation fault with INI_SCANNER_TYPED 2015-08-15 15:10:34 +08:00
Christoph M. Becker c63b505573 Merge branch 'PHP-5.6'
* PHP-5.6:
  fixed wrong params in proto
2015-08-15 02:27:09 +02:00
Christoph M. Becker a4e0539188 fixed wrong params in proto 2015-08-15 02:23:56 +02:00
Adam Saponara d27a8a7dcb Prevent warning when printing arrays in gdb 2015-08-14 14:22:55 -04:00
Christoph M. Becker 243b9f6592 Merge branch 'master' of https://git.php.net/repository/php-src
# By Nikita Popov
# Via Nikita Popov
* 'master' of https://git.php.net/repository/php-src:
  Executed file can be NULL
2015-08-14 17:21:09 +02:00
Christoph M. Becker e13de24101 updated NEWS 2015-08-14 17:19:29 +02:00
Christoph M. Becker fc444896af Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70264: CLI server directory traversal
2015-08-14 17:18:35 +02:00
Nikita Popov 6366679906 Executed file can be NULL
So revert this part to what it was originally.
2015-08-14 17:16:45 +02:00
Christoph M. Becker 23d0b93893 updated NEWS 2015-08-14 17:11:33 +02:00
Christoph M. Becker 9c805a6cb3 Fix #70264: CLI server directory traversal
On Windows the built-in webserver doesn't prevent directory traversal when
backslashes are used as path component separators. Even though that is not a
security issue (the CLI webserver is meant for testing only), we fix that by
replacing backslashes in the path with slashes on Windows, because backslashes
may be valid characters for file names on other systems, but not on Windows.
2015-08-14 17:05:31 +02:00
Nikita Popov 2af19fb50a Fix leak in previous commit
Turns out zend_update_property_str already does the copy implicitly.
2015-08-14 17:04:33 +02:00
Nikita Popov 13567d5dee Don't copy zend_strings during exception creation
Minor optimization...
2015-08-14 16:16:27 +02:00
Anatol Belski 38c19d43c1 fix array size calculation for range, related to bug #70239 2015-08-14 14:34:48 +02:00
Anatol Belski 86984d7ade add range() tests 2015-08-14 14:34:48 +02:00
Anatol Belski 01ee09f3f7 Fixed bug #70239 Creating a huge array doesn't result in exhausted, but segfault 2015-08-14 14:34:47 +02:00
Christoph M. Becker ad27aded5c updated NEWS 2015-08-14 14:32:56 +02:00
Christoph M. Becker 5e93fe3c57 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70266 (DateInterval::__construct.interval_spec is not supposed to be optional)
2015-08-14 14:25:19 +02:00
Christoph M. Becker 0e51f9798c updated NEWS 2015-08-14 14:20:37 +02:00
Christoph M. Becker e66bf11638 Fix #70266 (DateInterval::__construct.interval_spec is not supposed to be optional)
The required_num_args argument of ZEND_BEGIN_ARG_INFO_EX() has to be 1.
2015-08-14 14:19:12 +02:00
Xinchen Hui a094f4faed Remove useless insert 2015-08-14 17:09:27 +08:00
Xinchen Hui 97433d8f6e Fixed dumpbt 2015-08-14 16:20:53 +08:00
Dmitry Stogov 57a8620761 Set expectations 2015-08-14 10:59:39 +03:00
Adam Harvey d6db83816c We don't need CVS/SVN keywords in UPGRADING. 2015-08-13 12:40:46 -07:00
Adam Harvey edafed6b68 We did eventually decide it was PHP 7.0, so make it so. 2015-08-13 12:39:41 -07:00
Christoph M. Becker f9744a36a2 Merge branch 'pull-request/1454'
* pull-request/1454:
  Docs for find_tested.php
2015-08-13 20:33:59 +02:00
Xinchen Hui 66866fb838 Simplify the macro (HT_DATA_SIZE/HT_HASH_SIZE is not used outside Zend) 2015-08-13 23:38:39 +08:00
Xinchen Hui cf12da4f33 Fixed similar issues(segfault on OOM) 2015-08-13 23:02:51 +08:00
Xinchen Hui ded3a44cfd Fixed segfault while OOM in pack_to_hash 2015-08-13 22:42:18 +08:00
Xinchen Hui 69dbfa8e9f Fixed tests(I am not sure, these tests seems strange, anyway it passes
locally now)
2015-08-13 22:31:59 +08:00
Christoph M. Becker 896cb51499 updated NEWS 2015-08-13 14:30:05 +02:00
Christoph M. Becker 1ec40e84d4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70232: Incorrect bump-along behavior with \K and empty string match

Resolved conflicts:
	ext/pcre/php_pcre.c
2015-08-13 14:28:16 +02:00
Christoph M. Becker cd18ba117c updated NEWS 2015-08-13 14:21:17 +02:00
Christoph M. Becker b9f23c2152 Fix #70232: Incorrect bump-along behavior with \K and empty string match
To do global matching (/g), for every empty match we have to do a second match
with PCRE_NOTEMPTY turned on. That may fail, however, when the \K escape
sequence is involved. For this purpose libpcre 8.0 introduced the
PCRE_NOTEMPTY_ATSTART flag, which we will use if available, and otherwise fall
back to the old (possibly buggy) behavior.
2015-08-13 14:20:04 +02:00
Dmitry Stogov 715d5d2855 Get rid of implicit type casting in GC_*() macros in Zend/zend_types.h.
This prevented compilation warnings and disclosed few incorrect usages in Zend/zend_vm_def.h and ext/dom/xpath.c.
Now explicit type casting may be required on call site.
This may break some C extension code, but it shoulfn't be a problem to add explicit casting.
2015-08-13 13:56:29 +03:00
Derick Rethans e5813fedf8 Merge branch 'PHP-5.6' 2015-08-13 11:07:39 +01:00
Derick Rethans f94bcb1026 Of course, we support v2 in PHP 5.6 as well. 2015-08-13 11:07:16 +01:00
Derick Rethans 159bc6ecdc Updated to version 2015.6 (2015f) 2015-08-13 10:54:06 +01:00
Derick Rethans a49ddcff67 Empty merge 2015-08-13 10:54:05 +01:00
Derick Rethans 890204fa45 Updated to version 2015.6 (2015f) 2015-08-13 10:54:03 +01:00
Derick Rethans 3ddd826684 Tell timelib we support v2 2015-08-13 10:50:28 +01:00
Xinchen Hui 18f2505830 Add entry for zend_memnstr change 2015-08-13 13:39:31 +08:00
Xinchen Hui 793d8dcffd Merge branch 'master' of git.php.net:php-src 2015-08-13 13:30:50 +08:00
Xinchen Hui dc5c6ab774 Fixed bug #70250 (extract() turns array elements to references) 2015-08-13 13:30:25 +08:00
Christopher Jones 4672aac0a7 Merge branch 'PHP-5.6' 2015-08-13 15:01:24 +10:00
Christopher Jones 5cfbfbc73c PDO_OCI is not experimental 2015-08-13 15:01:01 +10:00
Xinchen Hui adf0e49912 zend_hash_resize seems useless, use zend_hash_extend 2015-08-13 12:19:35 +08:00
Xinchen Hui a089ce0cc6 Fixed bug #70258 and #70253 2015-08-13 12:08:57 +08:00
Xinchen Hui e17b1266db Revert "Updated to version 2015.6 (2015f)"
This reverts commit 7b476a600b.
2015-08-13 11:55:30 +08:00
Derick Rethans 7b476a600b Updated to version 2015.6 (2015f) 2015-08-12 22:00:15 +01:00
Derick Rethans a869e800ec Empty merge 2015-08-12 22:00:15 +01:00
Derick Rethans a1c06f10dd Updated to version 2015.6 (2015f) 2015-08-12 22:00:13 +01:00
Christoph M. Becker f1dacee467 updated NEWS 2015-08-12 19:03:35 +02:00
Christoph M. Becker 3b874086e2 Fix #70245: strtotime does not emit warning when 2nd parameter is object or string
Caused by a refactoring strtotime() called
zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ...) instead of
zend_parse_parameters().
2015-08-12 19:01:04 +02:00
Anatol Belski 2366a070c8 improve condition
same as CSPRNG, break by EOF
2015-08-12 14:50:43 +02:00
Christopher Jones b7031ba743 Further PHP 7 compat for OCI8 2015-08-12 21:57:16 +10:00
Bob Weinand c17afbc4f1 Fix valgrind false positives with watchpoints 2015-08-12 10:42:49 +00:00
Xinchen Hui 0f68f12d95 Use the same error msg with resize 2015-08-12 16:46:57 +08:00
Xinchen Hui d75228e201 We should not silently go on if the required size can not be met 2015-08-12 16:44:51 +08:00
Xinchen Hui 60b75eb9ed Revert "We should not silently go on if the required size can not be met."
This reverts commit d2bcdec980.
2015-08-12 16:44:18 +08:00
Xinchen Hui d2bcdec980 We should not silently go on if the required size can not be met. 2015-08-12 16:40:59 +08:00
Anatol Belski cbcacbb2da improve condition
read() == 0 is EOL
2015-08-12 10:20:26 +02:00
Anatol Belski 1a2c5bc180 second part fixing vc14, type/specifier order also in definitions 2015-08-12 08:52:08 +02:00
Xinchen Hui 121409865b use efree_size here 2015-08-12 11:15:09 +08:00
Dmitry Stogov fef086d113 Revert "Simplify ZEND_EXIT and count boolean values to it as exit status"
This reverts commit 7c003948c6.
2015-08-12 02:58:21 +03:00
Dmitry Stogov 9e290a44f1 Attempt to fix Windows build (vc14) 2015-08-12 02:47:37 +03:00
Bob Weinand 7c003948c6 Simplify ZEND_EXIT and count boolean values to it as exit status 2015-08-11 22:36:47 +02:00
Bob Weinand dbd8edbbd0 Fixed bug #70241 (Skipped assertions affect Generator returns) 2015-08-11 22:12:06 +02:00
Anatol Belski c173fef363 update NEWS 2015-08-11 17:37:36 +02:00
Anatol Belski 797e30f4fc Fixed bug #70198 Checking liveness does not work as expected 2015-08-11 17:36:10 +02:00
Anatol Belski 87db2e4a91 fix news entry 2015-08-11 16:52:13 +02:00
Anatol Belski 8708fe7835 updated NEWS 2015-08-11 16:50:53 +02:00
Anatol Belski 80bc2133cd fix bug #69833 mcrypt fd caching not working 2015-08-11 16:49:28 +02:00
Xinchen Hui 79cd9a18b5 Fixed bug #70237 (Empty while and do-while segmentation fault with opcode on CLI enabled). 2015-08-11 21:01:56 +08:00
Christoph M. Becker 42ef2b500b updated NEWS wrt. bug #69487 2015-08-11 01:36:39 +02:00
Christoph M. Becker 48c71cd94b Fix #69487: SAPI may truncate POST data
If SG(request_info).request_body can't be completely written (e.g. due to a
full drive), only parts of the POST data will be available. This patch changes
this, so that SG(request_info).request_body will be reset in this case, and a
warning will be thrown.
2015-08-11 01:32:13 +02:00
Lior Kaplan 8bac087a79 Add CVE IDs asigned to #69085 (PHP 5.6.7) 2015-08-10 11:54:39 +03:00
Lior Kaplan eaf5beabf4 Align NEWS with 5.6.12 2015-08-10 11:52:23 +03:00
Lior Kaplan c1127c4de3 Add entries for phar bug fixes in 5.6.11 (also have CVE assigned) 2015-08-10 11:49:18 +03:00
Lior Kaplan 9ff3334397 Add CVE IDs asigned (post release) to PHP 5.4.43 2015-08-10 11:19:18 +03:00
Lior Kaplan dc72378ff0 Add CVE IDs asigned to #69085 (PHP 5.4.39) 2015-08-10 11:18:33 +03:00
Christoph M. Becker 36cbb7cc4c updated NEWS 2015-08-09 02:43:41 +02:00
wusuopu 72976e2497 Fix #66606: Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE
The patch will store Content-Type header value in both HTTP_CONTENT_TYPE field and CONTENT_TYPE field.
2015-08-09 02:37:16 +02:00
Christoph M. Becker 1b4a80332c added tests for bug #66606 2015-08-09 02:36:58 +02:00
Ferenc Kovacs 1797a716ed fix NEWS 2015-08-07 08:46:10 +02:00
Steven Hilder de5d4d7b42 Add test: unmangling private properties in anon class instances 2015-08-06 16:56:05 +00:00
Steven Hilder 7ecb761818 Allow property names from anonymous classes to be unmangled 2015-08-06 15:18:14 +00:00
Dmitry Stogov 90cb3bb7de Reduce memory usage by using bitsets instead of array of bytes. 2015-08-06 15:41:50 +03:00
Dmitry Stogov 6d681876ee Get rid of memcpy() in MAKE_NOP() 2015-08-06 15:40:40 +03:00
Ferenc Kovacs ba3eb81240 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix NEWS
2015-08-06 09:52:50 +02:00
Ferenc Kovacs 8974539f13 fix NEWS 2015-08-06 09:52:24 +02:00
Stanislav Malyshev 2eaf28367d fix 32-bit test 2015-08-05 12:04:26 -07:00
Anatol Belski 1da0bb248a next version in NEWS 2015-08-05 15:22:27 +02:00
Anatol Belski 6edf641c1d sync NEWS entries 2015-08-05 11:28:36 +02:00
Stanislav Malyshev 03b765173b Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.29 next
2015-08-05 00:01:10 -07:00
Stanislav Malyshev 362bbaa2dc Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.29 next

Conflicts:
	configure.in
	main/php_version.h
2015-08-05 00:00:54 -07:00
Stanislav Malyshev 15e9f4baf4 5.5.29 next 2015-08-04 23:59:55 -07:00
Stanislav Malyshev b221df5549 5.4.45 next 2015-08-04 23:56:15 -07:00
Stanislav Malyshev feeb2fba93 fix merge 2015-08-04 23:51:55 -07:00
Anatol Belski 1674bd9b15 sync NEWS 2015-08-05 06:56:40 +02:00
Anatol Belski 69168b4d0c Merge branch 'master' into PHP-7.0.0
* master: (24 commits)
  5.5.29 next
  fix merge
  fix test
  fix merge
  fix test
  virtual_file_ex uses emalloc in 5.6+
  __wakeup doesn't have to be final
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fixed bug #70098 (Real memory usage doesn't decrease)
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  ...
2015-08-05 06:15:16 +02:00
Stanislav Malyshev 6981bc32be fix test 2015-08-04 16:47:44 -07:00
Stanislav Malyshev 3e416bba90 fix merge 2015-08-04 16:46:53 -07:00
Stanislav Malyshev 21602ec219 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test

Conflicts:
	sapi/cli/tests/005.phpt
2015-08-04 16:46:38 -07:00
Stanislav Malyshev 54187fa4b9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-08-04 16:45:55 -07:00
Stanislav Malyshev 2425f88afd Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix test
2015-08-04 16:45:32 -07:00
Stanislav Malyshev da5321013c fix test 2015-08-04 16:45:20 -07:00
Stanislav Malyshev 7b6dd533ba Merge branch 'PHP-5.6'
* PHP-5.6:
  virtual_file_ex uses emalloc in 5.6+
2015-08-04 16:33:07 -07:00
Stanislav Malyshev eb7ba73079 virtual_file_ex uses emalloc in 5.6+ 2015-08-04 16:31:57 -07:00
Stanislav Malyshev 54daa5317f Merge branch 'PHP-5.6'
* PHP-5.6:
  __wakeup doesn't have to be final
2015-08-04 16:14:32 -07:00
Stanislav Malyshev 97047e7665 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	Zend/zend_exceptions.c
	ext/date/php_date.c
	ext/openssl/openssl.c
	ext/phar/phar_internal.h
	ext/soap/php_http.c
	ext/spl/spl_array.c
	ext/spl/spl_dllist.c
	ext/spl/spl_observer.c
	ext/standard/tests/serialize/bug69152.phpt
	sapi/cli/tests/005.phpt
2015-08-04 16:14:24 -07:00
Stanislav Malyshev 568a35f84f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  __wakeup doesn't have to be final
2015-08-04 16:13:53 -07:00
Stanislav Malyshev f2f8ea9ac5 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  __wakeup doesn't have to be final
2015-08-04 16:13:43 -07:00
Stanislav Malyshev f1acac154a __wakeup doesn't have to be final 2015-08-04 16:13:26 -07:00
Stanislav Malyshev ed709d5aa0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS
  fix test
  update NEWS
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	ext/soap/php_http.c
	ext/spl/spl_observer.c
2015-08-04 15:29:13 -07:00
Stanislav Malyshev d52c485717 update NEWS 2015-08-04 15:22:59 -07:00
Nikhil Vimal 1e4742d5cd Docs for find_tested.php
Initial Pass, also fixing the extra space before the extract_tests function name to keep with standards.
2015-08-04 16:46:47 -05:00
Stanislav Malyshev 742c54aecf Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix test
  update NEWS
2015-08-04 14:46:30 -07:00
Stanislav Malyshev 0a21b5d970 fix test 2015-08-04 14:46:19 -07:00
Stanislav Malyshev ee61c7175f update NEWS 2015-08-04 14:37:28 -07:00
Stanislav Malyshev 69ed3969dd Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #70019 - limit extracted files to given directory
  Do not do convert_to_* on unserialize, it messes up references
  Fix #69793 - limit what we accept when unserializing exception
  Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList)
  Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject
  ignore signatures for packages too
  Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage
  Fixed bug #69892
  Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes
  Improved fix for Bug #69441
  Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items)
  Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref)
  Fix bug #70081: check types for SOAP variables

Conflicts:
	.gitignore
	ext/date/php_date.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
2015-08-04 14:10:57 -07:00
Stanislav Malyshev 51f9a00b47 Merge branch 'PHP-5.4' into PHP-5.4.44
* PHP-5.4:
  Fixed bug #69892
  Adjust Git-Rules
2015-08-04 14:04:24 -07:00
Stanislav Malyshev dda81f0505 Fix bug #70019 - limit extracted files to given directory 2015-08-04 14:02:31 -07:00
Stanislav Malyshev 0e09009753 Do not do convert_to_* on unserialize, it messes up references 2015-08-04 13:59:56 -07:00
Anatol Belski 02f762f146 sync NEWS 2015-08-04 20:20:01 +02:00
Anatol Belski 738729274f set versions 2015-08-04 20:18:28 +02:00
Anatol Belski 72bbde5e78 Merge branch 'master' into PHP-7.0.0
* master:
  run credits script
2015-08-04 20:16:27 +02:00
Dmitry Stogov 668ecaa606 Fixed bug #70098 (Real memory usage doesn't decrease) 2015-08-04 18:21:05 +03:00
Anatol Belski ed8d16b173 run credits script 2015-08-04 16:30:53 +02:00
Anatol Belski 29f0493075 Merge branch 'master' into PHP-7.0.0
* master: (174 commits)
  Fixed possible access to uninitialized data (prevents valgrind issues in Zend/tests/bug70089.phpt)
  Added NEWS entry
  Get rid of ZEND_FAST_CALL_UNBOUND
  Move most "finally" related code-generation from pass_two() to compiler.
  Try to fix finally issue
  Fix further leaks
  Fix valgrind errors in phpdbg
  Fix last invalid read Also revert debugging run-tests.php changes...
  Fix a few valgrind errors in phpdbg
  Fix breaking on HANDLE_EXCEPTION (opline_before_exception)
  Remove unneded space(s)
  Fixed tests (system dependent numbers are replaced with %d)
  Fixed test
  updated UPGRADING
  Give better credit in NEWS
  Fixed bug #70182 (Segfault in ZEND_ASSIGN_OP handlers)
  more info for UPGRADING.INTERNALS
  updated NEWS
  Fixed bug #70183 null pointer deref (segfault) in zend_eval_const_expr
  fix inconsistent dll linkage
  ...
2015-08-04 11:38:46 +02:00
Dmitry Stogov 5202ba5a3e Fixed possible access to uninitialized data (prevents valgrind issues in Zend/tests/bug70089.phpt) 2015-08-04 10:48:32 +03:00
Dmitry Stogov fdb0dd9fc4 Added NEWS entry 2015-08-04 09:55:54 +03:00
Dmitry Stogov 58596897e9 Get rid of ZEND_FAST_CALL_UNBOUND 2015-08-04 08:35:40 +03:00
Dmitry Stogov a16aa4c42c Move most "finally" related code-generation from pass_two() to compiler. 2015-08-04 07:42:28 +03:00
Nikita Popov 743801054d Try to fix finally issue 2015-08-04 07:42:28 +03:00
Christoph M. Becker e39c525df8 Merge branch 'pull-request/1449'
* pull-request/1449:
  Remove unneded space(s)
2015-08-04 03:37:41 +02:00
Bob Weinand d0ad621906 Fix further leaks 2015-08-04 01:22:04 +02:00
Bob Weinand d8fe645db4 Fix valgrind errors in phpdbg
Revert "We cannot safely assume that all op array will be refcount 0 after execution"
This reverts commit b6936adb58.

This change turns out to not have been a clever idea and was causing more weirdness than it helped...
2015-08-04 00:00:10 +02:00
Bob Weinand b20953118b Fix last invalid read
Also revert debugging run-tests.php changes...
2015-08-03 20:49:41 +02:00
Bob Weinand b5e16cebda Fix a few valgrind errors in phpdbg 2015-08-03 20:27:46 +02:00
Bob Weinand 34596a3ddd Fix breaking on HANDLE_EXCEPTION (opline_before_exception) 2015-08-03 17:15:40 +02:00
Dmitry Stogov 472a8414cc Merge branch 'fast_memcpy' of github.com:bogdanandone/php-src
* 'fast_memcpy' of github.com:bogdanandone/php-src:
  opcache: Patch SSE based fast_memcpy() implementation
2015-08-03 15:07:26 +03:00
Dmitry Patsura ed3c7adc5f Remove unneded space(s) 2015-08-03 18:38:41 +08:00
Dmitry Stogov d28070870c Fixed tests (system dependent numbers are replaced with %d) 2015-08-03 09:53:13 +03:00
Dmitry Stogov 7bc6706b6d Fixed test 2015-08-03 09:11:38 +03:00
Christoph M. Becker b4bd31b7a0 updated UPGRADING
The ZipArchive::setCompressionIndex() and ::setCompressionName() methods
introduced with 3a55ea02 were missing.
2015-08-03 00:24:39 +02:00
Bob Weinand 55fd8fabd9 Give better credit in NEWS
Patch is actually exactly what he proposed, so...
2015-08-02 19:49:52 +02:00
Bob Weinand 9e246a73ef Fixed bug #70182 (Segfault in ZEND_ASSIGN_OP handlers) 2015-08-02 19:08:39 +02:00
Anatol Belski a7587135e3 more info for UPGRADING.INTERNALS 2015-08-02 17:49:06 +02:00
Anatol Belski 56d163075b updated NEWS 2015-08-02 16:53:11 +02:00
Hugh Davenport 2a1a8f9ea7 Fixed bug #70183 null pointer deref (segfault) in zend_eval_const_expr 2015-08-02 16:51:23 +02:00
Anatol Belski 8e528b2792 fix inconsistent dll linkage 2015-08-02 16:26:48 +02:00
Anatol Belski 545b364d56 remove TSRMLS_*
either remains or merged in from PHP5
2015-08-02 13:42:01 +02:00
Anatol Belski 8c4bbf0f47 properly export ext/odbc globals 2015-08-02 13:05:10 +02:00
Anatol Belski f8903e80c7 updated NEWS 2015-08-02 09:30:00 +02:00
Anatol Belski ee2e169108 Fixed bug #69896 'asm' operand has impossible constraints
Given it's an issue with 32-bit gcc-4.8, asm is disabled for the
breaking parts.
2015-08-02 09:25:24 +02:00
Anatol Belski cddef30940 fix test
catching up with the localization changes in CRT
2015-08-02 09:24:19 +02:00
Stanislav Malyshev 4d2278143a Fix #69793 - limit what we accept when unserializing exception 2015-08-01 22:02:26 -07:00
Stanislav Malyshev 863bf294fe Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList) 2015-08-01 22:01:51 -07:00
Stanislav Malyshev 7381b6accc Fixed bug #70166 - Use After Free Vulnerability in unserialize() with SPLArrayObject 2015-08-01 22:01:40 -07:00
Stanislav Malyshev c7d3c027d5 ignore signatures for packages too 2015-08-01 22:01:32 -07:00
Stanislav Malyshev c2e197e4ef Fix bug #70168 - Use After Free Vulnerability in unserialize() with SplObjectStorage 2015-08-01 22:01:17 -07:00
Nikita Popov 7fc04937f5 Fixed bug #69892 2015-08-01 20:47:43 -07:00
Christoph M. Becker 9f395b9e76 Merge branch 'PHP-5.6' 2015-08-01 23:55:44 +02:00
Christoph M. Becker 8d31e463a0 fixed test 2015-08-01 23:52:35 +02:00
Bob Weinand 06ef2aeca9 Skip shebang line if present 2015-08-01 23:28:55 +02:00
Pierrick Charron fb37da2a48 Fixed Bug #69998 curl multi leaking memory
Fix the pointer address passed to the comparator and call
zend_list_delete instead of zend_list_close to avoid closing
the resource if still used.
2015-08-01 14:55:00 -04:00
Bob Weinand 2d6f0e4584 Fix bug #70179 ($this refcount issue) 2015-08-01 20:35:56 +02:00
Bob Weinand 351b4e8015 Optimize btree/find_closest a bit 2015-08-01 18:23:00 +02:00
Christoph M. Becker f7c2128702 Merge branch 'PHP-5.6' 2015-08-01 14:21:01 +02:00
Christoph M. Becker 12f099e7bc mentioned cURL file uploads in the "backward incompatible changes" section 2015-08-01 14:15:44 +02:00
Christoph M. Becker 78eab007a9 Merge branch 'PHP-5.6'
* PHP-5.6:
  test fails with old libxml2; skip in this case
2015-07-31 19:55:07 +02:00
Christoph M. Becker 6576d809a5 test fails with old libxml2; skip in this case 2015-07-31 19:52:42 +02:00
Anatol Belski 3a66a23679 avoid unnecessary scoping 2015-07-31 19:09:37 +02:00
Anatol Belski 7be9e69eaf remove useless ifdefs
the most outer block already tell's it's ZTS code
2015-07-31 19:09:36 +02:00
Bob Weinand 624bedcadc Fix tests 2015-07-31 18:22:04 +02:00
Christoph M. Becker 716387288e Merge branch 'PHP-5.6'
* PHP-5.6:
  test requires imagejpeg(); skip otherwise
2015-07-31 13:54:32 +02:00
Christoph M. Becker cdabbd9542 test requires imagejpeg(); skip otherwise 2015-07-31 13:51:49 +02:00
Anatol Belski b6803c75d9 updated NEWS 2015-07-31 13:32:40 +02:00
Anatol Belski b604716fb6 Fixed bug #70108 sometimes empty $_SERVER['QUERY_STRING']
auto_globals_jit is the reason every thread needs a copy. Otherwise
every thread will operate on the master values which can't end good.
2015-07-31 13:32:39 +02:00
Bob Weinand 590c5a7e50 Remove debug instructions (...) 2015-07-31 13:23:45 +02:00
Ferenc Kovacs 35b61e4f4d pear 1.10.0dev2 2015-07-31 10:22:50 +02:00
Bob Weinand ac87657d42 Implicit return should be always on the last line of a function 2015-07-31 02:44:42 +02:00
Bob Weinand 36aa92a67d Do not mark automatic return 1; as executable 2015-07-31 02:26:28 +02:00
Bob Weinand 1da4ee25b8 Fix oplog trace with already freed closures 2015-07-31 02:06:03 +02:00
Ferenc Kovacs 57247f01f7 removed another E_STRICT(with the approval of Derick), 3 more to go 2015-07-30 13:53:44 +02:00
Christopher Jones 70a7221540 More PHP7 compat (Rajendra/Senthil) 2015-07-30 20:25:40 +10:00
Xinchen Hui d00acdc312 update UPGRADING 2015-07-30 15:23:15 +08:00
Xinchen Hui ee64c39f8e Merge branch 'master' of git.php.net:php-src 2015-07-30 15:21:07 +08:00
Xinchen Hui fb3d14460b Fixed condition 2015-07-30 15:09:56 +08:00
Anatol Belski ffa341de59 add macro to access globals as whole 2015-07-30 09:05:08 +02:00
Anatol Belski c2bf735e49 fork test 2015-07-30 09:05:07 +02:00
Xinchen Hui 6c0feb0665 Fixed bug #70163 (curl_setopt_array() type confusion) 2015-07-30 13:40:59 +08:00
Xinchen Hui a6b47e8d68 Merge branch 'zval_dump_consistent' of https://github.com/laruence/php-src 2015-07-30 13:14:38 +08:00
Xinchen Hui 3eabf2bf19 "This" is C++ keyword 2015-07-30 11:30:34 +08:00
Bob Weinand ae1a4f47e6 Add NEWS entry 2015-07-29 21:00:43 +02:00
Anatol Belski 9249890acf fix wrong info 2015-07-29 19:30:36 +02:00
Bob Weinand d45d5271f7 Fix bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined) 2015-07-29 19:18:29 +02:00
Christoph M. Becker 8f7d816b0d updated UPGRADING 2015-07-29 18:28:18 +02:00
Christoph M. Becker 6855e2f08b Merge branch 'pull-request/1439'
* pull-request/1439:
  fixed broken test
  add new error constant PREG_JIT_STACKLIMIT_ERROR
2015-07-29 18:21:46 +02:00
Anatol Belski f6d196a38f document globals accesor macro and tls specifiers 2015-07-29 17:26:53 +02:00
Anatol Belski 859507c9af add one more thread storage specifier to allow external link 2015-07-29 17:26:52 +02:00
Anatol Belski c17289e59c fix thread safety 2015-07-29 17:26:51 +02:00
Anatol Belski db70a337ff fix thread safety and zeroing method 2015-07-29 17:26:50 +02:00
Christoph M. Becker 2aa9db5a22 updated NEWS 2015-07-29 17:04:09 +02:00
Christoph M. Becker ce3c869d19 Fix #70158: Building with static imap fails
Static builds of ext/imap have duplicate symbols, and so won't link on Windows.
To get around this issue, we simply disallow static building of the extension.
2015-07-29 17:00:37 +02:00
Bogdan Andone 68185bafbe opcache: Patch SSE based fast_memcpy() implementation
Use _mm_store_si128() instead of _mm_stream_si128(). This ensures that copied memory
is preserved in data cache, which is good as the interpretor will start to use this
data without the need to go back to memory. _mm_stream* is intended to be used for
stores where we want to avoid reading data into the cache and the cache pollution;
in our scenario it seems that preserving the data in cache has a positive impact.

Tests on WordPress 4.1 show ~1% performance increase with fast_memcpy() in place
versus standard memcpy() when running php-cgi -T10000 wordpress/index.php.

I also updated SW prefetching on target memory but its contribution is almost negligible.
The address to be prefetched will be used in a couple of cycles (at the next iteration)
while the data from memory will be available in >100 cycles.
2015-07-29 14:51:57 +03:00
Anatol Belski 4e66cce87c switch to the unified globals accessor where appropriate 2015-07-29 13:26:35 +02:00
Christopher Jones 0615aa82d7 Fix temporary-LOB leak and add tests (Senthil) 2015-07-29 20:15:43 +10:00
Anatol Belski 0787cd60ed first stone on using the unified globals accessor 2015-07-29 10:36:30 +02:00
Anatol Belski 43cdfd9a82 add unified globals accessor macro 2015-07-29 10:36:29 +02:00
Anatol Belski 7104d88c35 fix thread safety 2015-07-29 10:36:28 +02:00
Anatol Belski 7d41afeee8 fix thread safety 2015-07-29 10:36:27 +02:00
Julien Pauli 577ffcb55e Merge branch 'PHP-5.6'
* PHP-5.6:
  Adjust Git-Rules
  5.4.44 next
2015-07-29 10:05:19 +02:00
Julien Pauli d7f354fa57 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Adjust Git-Rules
  5.4.44 next
2015-07-29 10:04:33 +02:00
Julien Pauli 66edc15875 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Adjust Git-Rules
  5.4.44 next

Conflicts:
	configure.in
	main/php_version.h
2015-07-29 10:04:08 +02:00
Julien Pauli 8f1baa6e1c Adjust Git-Rules 2015-07-29 10:02:39 +02:00
Anton Blanchard fd8fb17be8 Improve performance of PowerPC64 fast_long_add_function
Detecting overflow with the XER is slow, partially because we have to
clear it before use.

PHP already has a fast way of detecting overflow in its fallback
c implementation. Overflow only occurs if the signs of the two
operands are the same and the sign of the result is different.
Furthermore, leaving it in c allows gcc to schedule the instructions
better.

This is 9% faster on a POWER8 running a simple testcase:

<?php
        function testcase($count = 100000000) {
		$x = 1;
                for ($i = 0; $i < $count; $i++) {
                        $x = $x + 1;
                        $x = $x + 1;
                        $x = $x + 1;
                        $x = $x + 1;
                        $x = $x + 1;
                }
        }

        testcase();
?>
2015-07-29 09:22:38 +02:00
Remi Collet 32e9b744c0 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #69674 (SIGSEGV array.c:953)
2015-07-29 09:22:21 +02:00
Xinchen Hui 7d5fb7bbf3 Fixed bug #69674 (SIGSEGV array.c:953) 2015-07-29 10:46:12 +08:00
Anton Blanchard 4d578f28df Improve performance of PowerPC64 fast_long_increment_function
Detecting overflow with the XER is slow, partially because we have to
clear it before use.

gcc does a better job of detecting overflow of an increment or decrement
than we can with inline assembly. It knows that an increment will only
overflow if it is one less than the overflow value. This means we end
up with a simple compare/branch. Furthermore, leaving it in c allows gcc
to schedule the instructions better.

This is 6% faster on a POWER8 running a simple testcase:

<?php
        function testcase($count = 100000000) {
		$x = 1;
                for ($i = 0; $i < $count; $i++) {
                        $x++;
                        $x++;
                        $x++;
                        $x++;
                        $x++;
                }
        }

        testcase();
?>
2015-07-28 18:38:23 +02:00
Anton Blanchard 305199a131 Improve performance of PowerPC64 ZEND_SIGNED_MULTIPLY_LONG
Detecting overflow with the XER is slow, partially because we have to
clear it before use. We can do better by using a trick where we compare
the high 64 bits of the result with the low 64 bits shifted right
63 bits.

This is 7% faster on a POWER8 running a simple testcase:

<?php
        function testcase($count = 100000000) {
                for ($i = 0; $i < $count; $i++) {
                        $x = 1;
                        $x = $x * 2;
                        $x = $x * 2;
                        $x = $x * 2;
                        $x = $x * 2;
                }
        }

        testcase();
?>
2015-07-28 18:38:23 +02:00
Anatol Belski a581910a76 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed bug #70002 TS issues with temporary dir handling
  update NEWS
  Fixed bug #69900 Too long timeout on pipes
2015-07-28 17:44:14 +02:00
Anatol Belski 9fdb8c2ccd Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #70002 TS issues with temporary dir handling
2015-07-28 17:42:37 +02:00
Anatol Belski 54bf6352fe updated NEWS 2015-07-28 17:42:25 +02:00
Anatol Belski ce5c4500cd Fixed bug #70002 TS issues with temporary dir handling 2015-07-28 17:41:38 +02:00
Anatol Belski 5c98b9972f improve ZEND_TLS declaration even more and move it to the better place 2015-07-28 16:59:53 +02:00
Anatol Belski e6cbca77f5 use better name 2015-07-28 16:59:52 +02:00
Anatol Belski d051bff8b6 simplify declaration 2015-07-28 16:59:51 +02:00
Anatol Belski 0c08ba8be4 add ZEND_THREAD specifier 2015-07-28 16:59:50 +02:00
Anatol Belski 2ec51faece adjust storage class
It's more convenient do explicitly disable the external linking. Also
it's an improvement from the build access time perspective.
2015-07-28 16:59:49 +02:00
Julien Pauli a28115ccdb Fix for #70159 - Better magic constants substitution 2015-07-28 16:30:08 +02:00
Xinchen Hui 94e23b29a1 online test 2015-07-28 16:43:12 +08:00
Xinchen Hui 0bddc18619 Fixed bug #70156 (Segfault in zend_find_alias_name) 2015-07-28 16:39:58 +08:00
Anatol Belski 1647ee7ef0 update NEWS 2015-07-28 10:29:24 +02:00
Anatol Belski 20e765b841 Fixed bug #69900 Too long timeout on pipes 2015-07-28 10:28:45 +02:00
Xinchen Hui 5ac6b8bcc6 Always checks for exception before push call frame 2015-07-28 16:06:06 +08:00
Xinchen Hui 4e9674f1a3 Previously fix is not right 2015-07-28 14:54:53 +08:00
Xinchen Hui df23dd78a5 Revert "Attempt to fix bug35437.phpt fails"
This reverts commit 16d6dfddef.
2015-07-28 14:54:20 +08:00
Xinchen Hui ef04c5c584 Revert "re-generate zend_vm_execute.h"
This reverts commit 4b6d4a1214.
2015-07-28 14:54:12 +08:00
Xinchen Hui 4b6d4a1214 re-generate zend_vm_execute.h 2015-07-28 11:15:57 +08:00
Xinchen Hui 45ea83ba97 Merge branch 'master' of git.php.net:php-src 2015-07-28 11:07:24 +08:00
Xinchen Hui 16d6dfddef Attempt to fix bug35437.phpt fails 2015-07-28 11:06:52 +08:00
Bob Weinand 9a312687f0 Fix test execution result with opcache 2015-07-28 02:14:49 +02:00
Ferenc Kovacs f3ad61126d use https for fetching the pear installer 2015-07-28 01:47:29 +02:00
Christoph M. Becker 9aa47d914c updated NEWS 2015-07-28 01:12:25 +02:00
Christoph M. Becker 4e8f01cb6e Fix #36365: scandir duplicates file name at every 65535th file
Due to DIR.offset being declared as short we have an overflow. This patch
changes the field to int.
2015-07-28 01:04:55 +02:00
Bob Weinand 33a91f57e9 Set CG(zend_lineno) to beginning for final class errors/ops 2015-07-28 00:57:49 +02:00
Christoph M. Becker b6bcf9c51a Add support for regenerating phpdbg lexers and scanners on Windows 2015-07-28 00:26:55 +02:00
Bob Weinand c0e0f1414e Fix phpdbg stepping on CATCH with exception 2015-07-28 00:10:42 +02:00
Remi Collet 80edd40383 fix memleak 2015-07-27 16:57:38 +02:00
Bob Weinand 248ebf0df6 Fix: A buf == NULL on filehandle will segfault 2015-07-27 16:57:09 +02:00
Xinchen Hui 11613a1b58 Cleanup and also include the error path into test 2015-07-27 22:22:13 +08:00
Remi Collet 605fbabfba Fix test
Notice: we have duplicated tests
  ext/standard/tests/file/dirname_*
  ext/standard/tests/strings/dirname_*
2015-07-27 16:14:13 +02:00
Remi Collet 0014b9eda6 UPGRADING 2015-07-27 15:26:31 +02:00
Remi Collet a70047ef30 NEWS 2015-07-27 15:24:06 +02:00
Remi Collet e811770a68 Fix #70112 RFE Allow dirname to go up various times 2015-07-27 15:23:04 +02:00
Bob Weinand 64f25adb6b Remove -Wunused-result warnings 2015-07-27 15:02:01 +02:00
Xinchen Hui b17ecc1e02 Hmm, not sure why this is missed while merged 2015-07-27 11:19:58 +08:00
Xinchen Hui 9f56cfa9a1 Merge branch 'master' of git.php.net:php-src 2015-07-27 11:17:23 +08:00
Xinchen Hui 6aeee47b2c Fixed bug #70140 (str_ireplace/php_string_tolower - Arbitrary Code Execution) 2015-07-27 11:17:05 +08:00
Stanislav Malyshev 16023f3e3b Fix bug #70014 - use RAND_bytes instead of deprecated RAND_pseudo_bytes 2015-07-26 17:43:16 -07:00
Stanislav Malyshev 7a4584d3f6 Improved fix for Bug #69441 2015-07-26 17:31:12 -07:00
Stanislav Malyshev b7fa67742c Fix bug #70068 (Dangling pointer in the unserialization of ArrayObject items) 2015-07-26 17:25:25 -07:00
Stanislav Malyshev e488690d95 Fix bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref) 2015-07-26 17:10:24 -07:00
Stanislav Malyshev c96d08b272 Fix bug #70081: check types for SOAP variables 2015-07-26 16:44:18 -07:00
Christoph M. Becker 6de470e0af fixed broken test 2015-07-26 23:40:48 +02:00
Christoph M. Becker e6f55339cc add new error constant PREG_JIT_STACKLIMIT_ERROR 2015-07-26 23:40:38 +02:00
Bob Weinand 70c6a6f624 Fix infinite lexer loop for :\ sequence in phpdbg 2015-07-26 22:57:30 +02:00
Ferenc Kovacs 4cf9011c62 Merge branch 'PHP-5.6'
* PHP-5.6:
  make the travis irc notification a oneliner
2015-07-26 22:07:07 +02:00
Ferenc Kovacs e4153e9144 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  make the travis irc notification a oneliner
2015-07-26 22:06:51 +02:00
Ferenc Kovacs daa0abaf77 make the travis irc notification a oneliner 2015-07-26 22:06:26 +02:00
Bob Weinand f5bef4058c Fix bug #70138 (difference between gcc and clang) 2015-07-26 21:49:18 +02:00
Bob Weinand 9e8fec1ef7 Fix leaks from bug #70138 2015-07-26 21:49:18 +02:00
Nikita Popov a717acd21a Fix RECV_VARIADIC literal compacting wrt cache slot 2015-07-26 21:22:31 +02:00
Anatol Belski 27c973a954 exclude the platform diff case from the test
Say the string is \377\000, basename will use mbrlen() to check whether
it's a start of a multibyte sequence. While on Linux it'll return -1 for
any char in the extended ASCII, on Windows it's returning 1. From what I
see the reason is that Windows doesn't implement UTF-8 in the CRT lib,
it's rather 16-bit Unicode or DBCS. Since extended ASCII is convertable
to Unicode directly - thus the behavior. On Linux however, it's a true
UTF-8 locale and implementation, for it \377\000 is invalid.

Maybe mbrlen needs an independent implementation for Windows supporting
UTF-8. For now I just split out this case so the most of the big basename
test doesn't fail on this one case.
2015-07-26 20:54:27 +02:00
Anatol Belski c18f5e1edd add NULL check 2015-07-26 20:54:26 +02:00
Christoph M. Becker d73287be18 Merge branch 'PHP-5.6'
* PHP-5.6:
  allow to skip slow tests
2015-07-26 17:35:23 +02:00
Christoph M. Becker 5be8872f44 allow to skip slow tests 2015-07-26 17:33:09 +02:00
Ferenc Kovacs cd37e7c90d use the new php7 compatible pear installer 2015-07-26 14:17:32 +02:00
Yasuo Ohgaki 62515a1dbb Fixed Bug #70092 pg_field_type() is too slow 2015-07-26 05:29:27 +09:00
Bob Weinand 66fd52939b Just always copy the buffer, that makes it much safer
At least compared to conditionally using the mmap()ped input
2015-07-25 19:50:31 +02:00
Bob Weinand cdde4c51e1 Remove old unused header file 2015-07-25 01:35:29 +02:00
Bob Weinand e960d3ed2c Fix memory leak with opcache 2015-07-25 01:08:57 +02:00
Bob Weinand b4c595dd82 Fix op_arrays with opcache 2015-07-25 00:31:05 +02:00
Bob Weinand cf85985935 Fix print of ZEND_CATCH 2015-07-24 23:40:18 +02:00
Anatol Belski 9bae11d170 Revert "avoid pointer truncation"
This reverts commit 5334d53499.
2015-07-24 22:30:46 +02:00
Bob Weinand 7ca85d8875 Fully fix typed generator returns 2015-07-24 22:04:05 +02:00
Anatol Belski fa4cd519e6 fix printf format 2015-07-24 21:51:30 +02:00
Anatol Belski 5334d53499 avoid pointer truncation 2015-07-24 21:51:29 +02:00
Anatol Belski 05496c7312 fix scope 2015-07-24 21:51:28 +02:00
Bob Weinand 2eb845d0fa Fix bug using not set temporary with typed generator returns 2015-07-24 20:31:18 +02:00
Anatol Belski 352bf686ce update libs_version.txt 2015-07-24 20:24:50 +02:00
Anatol Belski 06c71b4774 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated libs_versions.txt
2015-07-24 20:24:12 +02:00
Anatol Belski e42a29bf81 updated libs_versions.txt 2015-07-24 20:23:07 +02:00
Bob Weinand f1698eedce Fix non-debug build 2015-07-24 17:51:46 +02:00
Bob Weinand 76b882f0fc Use relative paths in phpdbg_lexer.c 2015-07-24 17:33:45 +02:00
Bob Weinand 13525328ed Cleanup shutdown, enable proper memory leak displaying
phpdbg should not memory leak...
2015-07-24 17:17:26 +02:00
Anatol Belski bf1ecbfe16 fix libwebp namings 2015-07-24 17:06:29 +02:00
Xinchen Hui d44fc4a073 Merge branch 'master' of git.php.net:php-src 2015-07-24 16:13:07 +08:00
Xinchen Hui 0f1e87d9c1 Fixed bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION) 2015-07-24 15:49:36 +08:00
Christoph M. Becker 1dab25689a Merge branch 'PHP-5.6'
* PHP-5.6:
  added regression test for bug #55472, which has already been fixed as of PHP 5.5.0
2015-07-24 01:25:45 +02:00
Christoph M. Becker 05ccc1f2d4 added regression test for bug #55472, which has already been fixed as of PHP
5.5.0
2015-07-24 01:23:33 +02:00
Christoph M. Becker 50fd9d0c04 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #53854: Missing constants for compression type
2015-07-23 21:43:40 +02:00
Christoph M. Becker 1a7db40a1f Fix #53854: Missing constants for compression type
The constants have already been added long ago. This patch just adds a PHPT
which checks the recognition of the respective compression methods.
Unfortunately, I've not been able to assemble a zip with all compression
methods.
2015-07-23 21:36:14 +02:00
Christoph M. Becker 19761a4801 updated NEWS 2015-07-23 18:46:00 +02:00
Christoph M. Becker de3f60d536 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70052: getimagesize() fails for very large and very small WBMP

Conflicts:
	ext/standard/image.c
2015-07-23 18:40:54 +02:00
Christoph M. Becker 35e717e12e updated NEWS 2015-07-23 18:37:07 +02:00
Christoph M. Becker 87829c09a1 Fix #70052: getimagesize() fails for very large and very small WBMP
Very large WBMP (width or height greater than 2**31-1) cause an overflow and
circumvent the size limitation of 2048x2048 px. Very small WBMP (less than 12
bytes) cause a read error and are not recognized. This patch fixes both bugs.
2015-07-23 18:31:28 +02:00
Anatol Belski 084a6e43cd enable ext/gd to support libpng16 2015-07-23 16:10:07 +02:00
Bob Weinand 9005b24aed Fix build failure for non-osx *nixes 2015-07-23 14:55:13 +02:00
Bob Weinand 6704d8d421 Fix valgrind warning with sigaction 2015-07-23 14:26:50 +02:00
Bob Weinand b7e8f65972 Fix printf format issues on 32 bit 2015-07-23 14:23:42 +02:00
Anatol Belski e60bcaeb01 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix config.w32
  fix C99 compat
  Align CVE format for #69669
  Fix 69882 entry
2015-07-23 07:43:33 +02:00
Anatol Belski 91f985b2f9 fix config.w32 2015-07-23 07:39:25 +02:00
Anatol Belski 3d38db3576 fix C99 compat 2015-07-23 07:39:16 +02:00
Xinchen Hui add2b158e2 cleanup 2015-07-23 12:16:22 +08:00
Xinchen Hui c55c7ef0ec Make debug_val_dump and var_dump prints int and float the same 2015-07-23 12:14:34 +08:00
Xinchen Hui 3fe35ba80d Make IS_TMP_VAR and IS_VAR differentiable 2015-07-23 11:36:46 +08:00
Xinchen Hui 0a5bbbdc92 Merge branch 'master' of git.php.net:php-src 2015-07-23 11:18:50 +08:00
Xinchen Hui a123876b4e Fixed bug #70117 (Unexpected return type error) 2015-07-23 11:16:10 +08:00
Bob Weinand 686b9039a6 Fix phpdbg test failure and crash with opcache 2015-07-23 01:03:03 +02:00
Bob Weinand 531fa70ba8 Opcache is assuming that op_arrays without refcount are always efree()d
We maybe should search for some other way, because just not refcounting the op_array is rather a dirty hack.
If possible, we should change opcache and just expect op_array->refcount != NULL ... but I have not found a clean way yet.
2015-07-22 23:16:50 +02:00
Lior Kaplan 6aa44ac73a Align CVE format for #69669 2015-07-22 20:35:31 +03:00
Lior Kaplan 8560138274 Fix 69882 entry 2015-07-22 20:34:31 +03:00
Bob Weinand 3cc02533ae Add phpdbg_get_executable() (gets executable ops/lines) 2015-07-22 18:11:35 +02:00
Bob Weinand b6936adb58 We cannot safely assume that all op array will be refcount 0 after execution
Some extensions may want to analyze or re-run the op array later
2015-07-22 17:16:16 +02:00
Xinchen Hui 3e479ef424 Fixed bug #70111 (Segfault when a function uses both an explicit return type and an explicit cast) 2015-07-22 22:43:30 +08:00
Bob Weinand d6415ae473 Always lowercase function names for lookup in phpdbg -p 2015-07-22 15:33:44 +02:00
Bob Weinand 264bed40a7 Fix opcode tests which may generate FCALL instead of ICALL 2015-07-22 13:49:28 +02:00
Bob Weinand 0da4a3ec2c Add -e (ZEND_EXT_* generation) option to phpdbg 2015-07-22 13:46:06 +02:00
Nikita Popov cff6cbc01f Emit EXT_STMT for each statement
I'm excluding unticked statements for this (in 5.x they were included)
as this would just result in two consecutive EXT_STMTs.

Also add all class statements to unticked statements, these would
generate superfluous EXT_STMT/TICKS in the parent op_array.
2015-07-22 13:38:42 +02:00
Xinchen Hui f56b89b0af Fixed opcodes printing.
-p"function"
-p"class::"
-p"class::method"
2015-07-22 19:13:26 +08:00
Julien Pauli c274e2397d Merge branch 'PHP-5.6'
* PHP-5.6:
  5.6.13 now

Conflicts:
	configure.in
	main/php_version.h
2015-07-22 09:28:59 +02:00
Julien Pauli 3eee495570 5.6.13 now 2015-07-22 09:27:49 +02:00
Bob Weinand 348fc4d6fd $argv and $argc may be IS_INDIRECT 2015-07-22 00:22:39 +02:00
Bob Weinand 262d32634b Undefined values may lead to big allocation 2015-07-22 00:02:59 +02:00
Nikita Popov 7c661bd304 Remove FAST_CALL_FROM_CATCH
This was generated for a return from a try block with both a catch
and a finally. However at this point no exception can be active,
because it either didn't exist in the first place or was explicitly
discarded using DISCARD_EXCEPTION.
2015-07-21 21:13:34 +02:00
Bob Weinand 2141ab9be5 Fix bug #70106 (Inheritance by anonymous class) 2015-07-21 20:34:06 +02:00
Bob Weinand 81a2c43d5e Add an option to not generate INIT_FCALL ops for user functions too 2015-07-21 16:39:49 +02:00
Anatol Belski d1a026997a version up in NEWS 2015-07-21 16:37:43 +02:00
Anatol Belski 0b31192bc7 remove BOM from NEWS 2015-07-21 16:36:36 +02:00
Anatol Belski 0f60a746e4 fix merge mistake 2015-07-21 05:55:54 -07:00
Anatol Belski 735a7c6a56 one more test from ef1b588f6a 2015-07-21 05:52:12 -07:00
Anatol Belski 94e7c770ba readd test from 3bb70fe290 2015-07-21 05:51:09 -07:00
Anatol Belski 26abfc8bc9 readd commit 3bb70fe290 2015-07-21 05:49:36 -07:00
Anatol Belski ec4350e4c8 bump versions 2015-07-21 12:40:58 +02:00
Anatol Belski 3e971e7d5c sync NEWS 2015-07-21 12:34:30 +02:00
Anatol Belski b148ef4496 Merge branch 'master' into PHP-7.0.0
* master: (204 commits)
  Reverted ad4533fdba
  update UPGRADING
  updated NEWS
  fix comment
  libwebp support for linux
  Replaced libvpx by libwebp (first draft; Windows only)
  update news with bug #70022
  Change E_ERROR and some E_WARNING to E_RECOVERABLE_ERROR.
  Add tests for json_last_error()/json_last_error_msg() failures
  updated NEWS
  updated NEWS
  Exclude opcache from a few opcode related tests
  updated NEWS
  updated NEWS
  Fix #66387: Stack overflow with imagefilltoborder
  Fix various Windows issues (e.g. dir separators)
  Remove bogus exception_save() from FETCH_CLASS
  Fix readline/libedit build
  Do not use readline when not having a tty This is important for e.g. run-tests.php
  Add show_unexecuted option to phpdbg_end_oplog()
  ...

Conflicts:
	Zend/tests/temporary_cleaning_001.phpt
	Zend/tests/temporary_cleaning_003.phpt
	Zend/tests/temporary_cleaning_004.phpt
	Zend/tests/temporary_cleaning_005.phpt
	Zend/zend_compile.c
	Zend/zend_compile.h
	sapi/phpdbg/phpdbg_opcode.c
2015-07-21 12:27:50 +02:00
Anatol Belski 6065b29fe4 Reverted ad4533fdba
The E_ERROR to E_RECOVERABLE_ERROR should be readded with the
proper tests.
2015-07-21 11:18:36 +02:00
Anatol Belski 1767992e4e update UPGRADING 2015-07-21 11:12:08 +02:00
Anatol Belski 00361072c6 updated NEWS 2015-07-21 10:42:06 +02:00
Anatol Belski af0f857c01 fix comment 2015-07-21 10:37:08 +02:00
Anatol Belski 4646e6e7d3 libwebp support for linux 2015-07-21 10:37:07 +02:00
Christoph M. Becker 00ba7e6215 Replaced libvpx by libwebp (first draft; Windows only)
ext/gd/libgd/gd_webp.c has been taken from libgd[1]. Mainly, gd_error(X) has
been subsituted by zend_error(E_ERROR, X) and BGD_DECLARE(X) by X. Further
modifications are obvious from the diff.

All GD tests are passing, what raises hope, but we need more WebP tests,
anyway.

[1] <https://github.com/libgd/libgd/blob/7ec030c4f1dae75ed5d82c3eed2abe6775742c75/src/gd_webp.c>
2015-07-21 10:37:06 +02:00
Anatol Belski 9b9448a54a update news with bug #70022 2015-07-21 09:22:45 +02:00
Yasuo Ohgaki ad4533fdba Change E_ERROR and some E_WARNING to E_RECOVERABLE_ERROR. 2015-07-21 12:59:23 +09:00
Christoph M. Becker 22767a48a7 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add tests for json_last_error()/json_last_error_msg() failures
2015-07-21 02:00:16 +02:00
Kubo2 f18ba0f9c9 Add tests for json_last_error()/json_last_error_msg() failures 2015-07-21 01:50:40 +02:00
Christoph M. Becker 0c651cf8c3 updated NEWS 2015-07-21 01:24:55 +02:00
Christoph M. Becker 16d6a93f09 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  revised bug53156.phpt
  Fix #53156: imagerectangle problem with point ordering
2015-07-21 01:20:02 +02:00
Christoph M. Becker e3a85074ed updated NEWS 2015-07-21 01:17:51 +02:00
Christoph M. Becker f1228ebc61 Merge branch 'pull-request/1425' into PHP-5.6
* pull-request/1425:
  revised bug53156.phpt
  Fix #53156: imagerectangle problem with point ordering
2015-07-21 01:13:04 +02:00
Bob Weinand b8534daa31 Exclude opcache from a few opcode related tests 2015-07-21 00:06:34 +02:00
Christoph M. Becker 81a008563b updated NEWS 2015-07-20 23:50:40 +02:00
Christoph M. Becker ea37ca7707 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #66387: Stack overflow with imagefilltoborder
2015-07-20 23:44:04 +02:00
Christoph M. Becker 8461a87454 updated NEWS 2015-07-20 23:40:23 +02:00
Christoph M. Becker e7f2356665 Fix #66387: Stack overflow with imagefilltoborder
The stack overflow is caused by the recursive algorithm in combination with a
very large negative coordinate passed to gdImageFillToBorder(). As there is
already a clipping for large positive coordinates to the width and height of
the image, it seems to be consequent to clip to zero also.
2015-07-20 23:36:32 +02:00
Bob Weinand 80bb4fd45a Fix various Windows issues (e.g. dir separators) 2015-07-20 23:26:45 +02:00
Nikita Popov 94fb5391e7 Remove bogus exception_save() from FETCH_CLASS
There can't be no exception at the start of the op. Also would miss
the corresponding exception_restore().
2015-07-20 22:56:51 +02:00
Bob Weinand 7aa2be060c Fix readline/libedit build 2015-07-20 22:45:05 +02:00
Bob Weinand f0b50963e5 Do not use readline when not having a tty
This is important for e.g. run-tests.php
2015-07-20 21:57:00 +02:00
Bob Weinand 6aadeba213 Add show_unexecuted option to phpdbg_end_oplog() 2015-07-20 20:41:07 +02:00
Bob Weinand 378a05f0de Move phpdbg tests to .phpt mechanism
Also add a few more in-depth tests related to $argv, breakpoints and uncaught exceptions
2015-07-20 18:00:43 +02:00
Bob Weinand 75a3de0cd8 Fix misbehaviors with uncaught exceptions and finally or eval 2015-07-20 18:00:43 +02:00
Bob Weinand 4dc0546a59 Preserve argv consistency over multiple runs 2015-07-20 18:00:43 +02:00
Bob Weinand acba295088 Fix info vars with refs/indirects 2015-07-20 18:00:43 +02:00
Bob Weinand 22c7c1189a Fix function/method breakpoint case sensitivity issues 2015-07-20 18:00:43 +02:00
Bob Weinand 50e76d951e Always only halt upon first non-recv opcode in a function 2015-07-20 18:00:42 +02:00
Bob Weinand 1f9bba68a9 Make opcode breakpoints work again 2015-07-20 18:00:42 +02:00
Bob Weinand e3cd0709db Do never clean stdin buffer away 2015-07-20 18:00:42 +02:00
Bob Weinand dee629c92d Fix use of already freed hashtable (wrong variable) 2015-07-20 18:00:42 +02:00
Bob Weinand 699e641e93 Do not show "Script ended normally" upon forced rerun 2015-07-20 18:00:42 +02:00
Bob Weinand 6435eb8019 Do not display compilation success / normal script end in -rr mode 2015-07-20 18:00:42 +02:00
Christoph M. Becker 2ec8611293 revised bug53156.phpt 2015-07-20 03:05:22 +02:00
Christoph M. Becker 72b73e24a0 Fix #53156: imagerectangle problem with point ordering
Contrary to imagefilledrectangle(), imagerectangle() has the documented
limitation that the given points have to be the upper left and the lower right
corner, respectively. However, libgd already caters to upper right / lower left
pairs, and not catering to the other two combinations seems to be an oversight.
2015-07-20 02:14:29 +02:00
Christoph M. Becker 440d715632 Merge branch 'PHP-5.6'
* PHP-5.6:
  Added basic test for imagewebp() and imagecreatefromwebp()
2015-07-19 23:11:11 +02:00
Christoph M. Becker 90de2aeaac Added basic test for imagewebp() and imagecreatefromwebp() 2015-07-19 23:05:07 +02:00
Christoph M. Becker 3002ba468c updated NEWS 2015-07-19 22:44:53 +02:00
Christoph M. Becker 6c8dbfd5c1 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #70102: imagecreatefromwebm() shifts colors
2015-07-19 22:40:49 +02:00
Christoph M. Becker 4b2d025937 updated NEWS 2015-07-19 22:39:18 +02:00
Christoph M. Becker a31fe58d80 Fix #70102: imagecreatefromwebm() shifts colors
libgd internally uses ARGB format, so we have to decode to ARGB instead of
RGBA.
2015-07-19 22:33:54 +02:00
Christoph M. Becker 209223b97e Merge branch 'PHP-5.6'
* PHP-5.6:
  fixed Fix #66590, which may segfault
2015-07-19 22:01:20 +02:00
Christoph M. Becker d3958b32ca fixed Fix #66590, which may segfault 2015-07-19 21:54:55 +02:00
Anatol Belski 3de0ae5477 fix two clang errors on Windows 2015-07-19 20:06:31 +02:00
Anatol Belski 61ebc6c615 exclude a non windows test 2015-07-19 19:53:53 +02:00
Christoph M. Becker 0ea35e1732 updated NEWS 2015-07-19 17:48:02 +02:00
Christoph M. Becker f9d95a4003 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #66590: imagewebp() doesn't pad to even length
2015-07-19 17:45:16 +02:00
Christoph M. Becker 9e08c990ac updated NEWS 2015-07-19 17:43:44 +02:00
Christoph M. Becker 96e42403d5 Fix #66590: imagewebp() doesn't pad to even length
The code in the bundled libgd uses libvpx and writes the riff manually. The
code generates the correct even size, but neglects the padding. It's possible
older versions of libwebp would decode this, but libwebp 0.4.0 does not.

Let's apply the patch supplied by one of the WebP developers.
2015-07-19 17:38:04 +02:00
Rasmus Lerdorf 3760cb6a59 wddx_add_vars() returns a bool 2015-07-19 07:05:03 -07:00
Christoph M. Becker 1e29edada7 updated NEWS 2015-07-18 22:57:02 +02:00
Christoph M. Becker 3ed0d18152 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #70096: Repeated iptcembed() adds superfluous FF bytes

Conflicts:
	ext/standard/iptc.c
2015-07-18 22:52:39 +02:00
Christoph M. Becker abc3598f47 updated NEWS 2015-07-18 22:50:11 +02:00
Christoph M. Becker 8c483ce36c Fix #70096: Repeated iptcembed() adds superfluous FF bytes
When there is already an APP13 marker segment in the file, iptcembed() doesn't
skip the first byte (0xFF) of this segment, what leads to unnecessary and
potentially invalid duplication of this byte. This patch fixes this issue.
2015-07-18 22:48:54 +02:00
Nikita Popov f809f28119 Check mbfl_filt_put_invalid_char return value
And fix some libmbfl warnings
2015-07-18 21:53:03 +02:00
Nikita Popov 4ac0d96faa Deduplicate usort code 2015-07-18 21:53:03 +02:00
Christoph M. Becker 77140d8b3d Merge branch 'PHP-5.6'
* PHP-5.6:
  fixed PHPT that is always being skipped or otherwise would fail
2015-07-18 21:35:54 +02:00
Christoph M. Becker a66efb0b15 fixed PHPT that is always being skipped or otherwise would fail 2015-07-18 21:33:20 +02:00
Nikita Popov df031961ad Correctly handle zend_hash_sort failure
This can't actually happen right now, but should it become possible
we won't be leaking everything anymore.
2015-07-18 20:07:00 +02:00
Nikita Popov 179c8a2a09 Fix usort modification detection
This would delref the wrong array, leading to a segfault.
2015-07-18 20:07:00 +02:00
Jakub Zelenka 4540e644ec Regenerate bison and re2c files in json 2015-07-18 17:41:17 +01:00
Nikita Popov 4854b11566 Partially fix XSLT warnings
The two remaining issues seem to be genuine problems. We're treating
node->children as a string, even though it's actually an xmlNode.
The same code exists twice in xpath.c. In all cases gcov shows no
coverage for it.
2015-07-17 21:12:15 +02:00
Nikita Popov 42e32c33e2 More warning fixes 2015-07-17 21:12:15 +02:00
Nikita Popov 36e49c702b Fix simplexml warnings 2015-07-17 21:12:15 +02:00
Anatol Belski a685953969 fix duplicated line 2015-07-17 20:30:21 +02:00
Nikita Popov 5c95226d50 Various warning fixes 2015-07-17 20:18:25 +02:00
Nikita Popov 90d9adccec Fix zlib_filter warnings 2015-07-17 19:48:06 +02:00
Nikita Popov 981c618749 Remove --with-t1lib from travis build 2015-07-17 19:08:08 +02:00
Nikita Popov 0284755d97 Always use libtool --silent
We don't need this spam for debug builds. Now make --quiet does
something useful for debug builds as well.
2015-07-17 19:03:56 +02:00
Nikita Popov 8a9eee8f7e Fix mysqlnd warnings 2015-07-17 17:48:02 +02:00
Nikita Popov 0039a3e96f Fixed signed/unsigned warnings in wddx
Also added extra const annotation to zend_memnstr.
2015-07-17 17:19:23 +02:00
Nikita Popov e97cb1427f Remove dead goto label in phpdbg_cmd.c 2015-07-17 16:53:07 +02:00
Nikita Popov 20e5027293 Switch asprintf to spprintf in phpdbg opcode dump
Also use %td where appropriate, a lot of the values are ptrdiff
based.

Fix a leak in phpdbg_frame.c.
2015-07-17 16:53:07 +02:00
Nikita Popov 75dc4486b2 Make s(tr)pprintf infallible
spprintf now always creates a buffer and strpprintf always returns
a zend_string. Previously, if the result of the format happened to
be empty, the spprintf buffer would be set to NULL and strpprintf
would return NULL.
2015-07-17 16:53:06 +02:00
Anatol Belski daba578dbe fix file cache path calculation at all the places
moved the corresponding code into a separte function while on that
2015-07-17 15:14:25 +02:00
Anatol Belski 4c87750c26 fix path handling for the file cache 2015-07-17 13:51:16 +02:00
Xinchen Hui 2c048afd3b Donot use one_char_string 2015-07-17 16:09:11 +08:00
Xinchen Hui 91e5b30a3b Merge branch 'master' of git.php.net:php-src 2015-07-17 15:56:28 +08:00
Xinchen Hui 7d07afd6c1 Fixed bug #70089 (segfault at ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER ()) 2015-07-17 15:55:34 +08:00
Nikita Popov c568ffe517 Ignore getcwd return in zend_compile
To do this move the php_ignore_value macro to ZEND_IGNORE_VALUE.
2015-07-16 22:48:56 +02:00
Nikita Popov 208257eec5 Explicitly ignore mblen(NULL, 0) retval 2015-07-16 22:39:11 +02:00
nikita2206 d8a6130660 Handle empty (NULL) stmt in ast_export 2015-07-16 22:31:36 +02:00
Bob Weinand 9ee52ca3ae Merge remote-tracking branch 'origin/PHP-5.6' 2015-07-16 19:12:38 +02:00
Anatol Belski 0dce8373cd forked test for windows 2015-07-16 15:05:04 +02:00
Xinchen Hui deeb6379cb Fixed bug #70079 (Segmentation fault after more than 100 SoapClient calls) 2015-07-16 18:32:42 +08:00
Bob Weinand c13124cc0f Cleanup exception displaying code in phpdbg 2015-07-16 10:28:59 +02:00
Bob Weinand 37e03f6b32 Fix test; this should properly emit a fatal error, just as every other by-ref assignment to an overloaded object 2015-07-16 09:29:43 +02:00
Bob Weinand 0242653377 Fix test; this should properly throw an Error, just as every other by-ref assignment to an overloaded object 2015-07-16 09:25:19 +02:00
Christopher Jones e6d9061e85 More OCI8 diff fixes (Rajendra) 2015-07-16 13:06:35 +10:00
Bob Weinand f57cb13c56 Backport fix for bug #70083 to PHP-5.6 2015-07-15 22:46:53 +02:00
Bob Weinand 0af0733352 Fixed bug #70083 (Use after free with assign by ref on overloaded objects) 2015-07-15 22:36:42 +02:00
Bob Weinand d25f3819c7 Fix crash on non-debug for phpdbg_end_oplog() 2015-07-15 22:30:12 +02:00
Rasmus Lerdorf 73773c2175 unserialize() takes a 2nd optional arg and it can't be a bool 2015-07-15 09:59:31 -07:00
Bob Weinand af0d6256d5 Fix [valid] valgrind warnings, add first watchpoints test 2015-07-15 14:22:51 +00:00
Dmitry Stogov a658465ef2 Export argument type checking functions 2015-08-11 19:11:21 +03:00
Anatol Belski 5b017ba8be Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  Fixed bug #70198 Checking liveness does not work as expected
2015-08-11 17:38:34 +02:00
Anatol Belski c1de584e3f update NEWS 2015-08-11 17:09:31 +02:00
Anatol Belski 8d6373b7ea updated NEWS 2015-08-11 16:55:04 +02:00
Anatol Belski f61b01efa2 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix news entry
  updated NEWS
  fix bug #69833 mcrypt fd caching not working
2015-08-11 16:54:27 +02:00
Xinchen Hui 9834cd9339 Revert "Revert "suggest parentheses around ‘&&’ within ‘||’""
This reverts commit ec1e8929c4.
2015-08-11 22:34:39 +08:00
Xinchen Hui 5a640d8aed Merge branch 'master' of git.php.net:php-src
Conflicts:
	ext/standard/tests/streams/bug70198.phpt
2015-08-11 22:31:47 +08:00
Anatol Belski 6608821a87 make this test more robust on slower execution 2015-08-11 16:30:14 +02:00
Xinchen Hui faa3c9d291 Fixed the test, and make it faster while failingt 2015-08-11 22:30:02 +08:00
Xinchen Hui ec1e8929c4 Revert "suggest parentheses around ‘&&’ within ‘||’"
This reverts commit 4f2c0e0451.
2015-08-11 22:14:37 +08:00
Xinchen Hui b997130a34 Update NEWS 2015-08-11 21:44:47 +08:00
Xinchen Hui 6e894f8b81 Merge branch 'PHP-5.6' 2015-08-11 21:44:04 +08:00
Xinchen Hui 4f2c0e0451 suggest parentheses around ‘&&’ within ‘||’ 2015-08-11 21:43:38 +08:00
Xinchen Hui 4064ee3061 Fixed bug #70240 (Segfault when doing unset($var());) 2015-08-11 21:42:11 +08:00
Dmitry Stogov 162bf9e802 Reimplemented ability to get debug info (C source file and line number) in phpdbg without hacks and ABI breaks. 2015-08-11 16:33:47 +03:00
Anatol Belski 7eb6bd1311 add EAGAIN checks
EAGAIN and EWOULDBLOCK should be checked together and don't necessary,
have same value. So checking both is better for portability.
2015-08-11 15:17:25 +02:00
Anatol Belski 8d2b131d9f add test for bug #70198 2015-08-11 15:00:17 +02:00
Anatol Belski 24f0fe6b1f Fixed bug #70198 Checking liveness does not work as expected 2015-08-11 14:40:34 +02:00
Anatol Belski b0893344df integrate static tsrmls cache with ext/mcrypt 2015-08-11 12:32:00 +02:00
Anatol Belski f15ec180ad add folds 2015-08-11 12:11:24 +02:00
Xinchen Hui 275dd5d8ec Merge branch 'marcosptf-enchant-phpt' of https://github.com/marcosptf/php-src 2015-08-11 11:13:01 +08:00
Christoph M. Becker 9f37f5f344 updated NEWS wrt. bug #69487 2015-08-11 01:43:40 +02:00
Christoph M. Becker 37707b2dd6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #69487: SAPI may truncate POST data
2015-08-11 01:42:25 +02:00
Christoph M. Becker 913fc54e0f Merge branch 'PHP-5.6'
* PHP-5.6:
  Add CVE IDs asigned to #69085 (PHP 5.6.7)
  Align NEWS with 5.6.12
  Add entries for phar bug fixes in 5.6.11 (also have CVE assigned)
2015-08-11 01:23:18 +02:00
Andrea Faulds 8394713e5d Replace bug70018 test (broken on non-GNU) with win32 version 2015-08-11 00:23:24 +02:00
Dmitry Stogov bdada12dae Reverted useless cleanup code 2015-08-10 23:55:37 +03:00
marcosptf 20448abc65 Update broker_describe.phpt 2015-08-10 15:54:22 -03:00
marcosptf 6222e5f196 Update broker_describe.phpt 2015-08-10 14:50:32 -03:00
marcosptf 5dc3dadf71 Update dict_check.phpt 2015-08-10 14:14:13 -03:00
Dmitry Stogov 97f159d702 Support for XLC compiler 2015-08-10 19:12:11 +03:00
Xinchen Hui 4b90d63b57 Merge branch 'master' of git.php.net:php-src 2015-08-10 23:25:02 +08:00
Anatol Belski d632eff9c0 fix test 2015-08-10 17:20:23 +02:00
Xinchen Hui bf6d8d5188 Merge branch 'master' of git.php.net:php-src 2015-08-10 23:00:27 +08:00
Xinchen Hui 89940993f0 Fixed Bug #70173 (ZVAL_COPY_VALUE_EX broken for 32bit Solaris Sparc) 2015-08-10 22:58:58 +08:00
Dmitry Stogov adcb1102e7 Fixed typo 2015-08-10 17:57:49 +03:00
Xinchen Hui 644bb2f654 Merge branch 'copy-32bit-be' of https://github.com/cmb69/php-src 2015-08-10 22:54:47 +08:00
Bob Weinand cdc0dd4826 Merge branch 'ts_bin_hex_conv' of https://github.com/bwoebi/php-src 2015-08-10 16:16:59 +02:00
Xinchen Hui b6dc6c254f Merge branch 'master' of git.php.net:php-src 2015-08-10 22:03:33 +08:00
Xinchen Hui 55a017c303 Add XFAIL test for #70228 2015-08-10 22:02:15 +08:00
Xinchen Hui 87a5f2c486 Fixed no return statement in function returning non-void 2015-08-10 21:48:17 +08:00
Dmitry Stogov 18fb424bef Fixed bug #70207 (Finally is broken with opcache) 2015-08-10 16:38:43 +03:00
Xinchen Hui aaf7638706 Fixed bug #70221 (persistent sqlite connection + custom function segfaults) 2015-08-10 19:00:35 +08:00
Xinchen Hui 16f2ce8537 Hmm, we should also take care of uninitialized hashTable 2015-08-10 17:58:24 +08:00
Xinchen Hui aa546256e3 Fixed bug #70223 (Incrementing value returned by magic getter) 2015-08-10 17:12:45 +08:00
Xinchen Hui 73a69c9c03 Fixed typo 2015-08-10 17:06:17 +08:00
Xinchen Hui 1bf20a18cf Merge branch 'master' of git.php.net:php-src 2015-08-10 17:03:36 +08:00
Xinchen Hui be54eb7db1 Fixed bug #70211 (php 7 ZEND_HASH_IF_FULL_DO_RESIZE use after free) 2015-08-10 17:02:16 +08:00
Anatol Belski a88edb3bed fix wording 2015-08-10 10:43:53 +02:00
Anatol Belski 0f8bc1cec9 one bracket too much 2015-08-10 10:42:10 +02:00
Anatol Belski e7e646b0e5 add check for required re2c
>=0.13.5 is required for php-7.0.0
2015-08-10 10:40:14 +02:00
Anatol Belski f318bffec3 catch up with the current requirement
bison 3.0.2 is used for php-7.0.0
2015-08-10 10:34:26 +02:00
Anatol Belski df71933bd2 make use of PHPROOT for possible mkdist integration 2015-08-10 09:57:05 +02:00
Anatol Belski c0b3665f37 make scripts/dev/gen_verify_stub executable 2015-08-10 09:50:54 +02:00
Anatol Belski 7600f5246c initial add verification stub generator 2015-08-10 09:48:28 +02:00
Anatol Belski a91065c63c don't close stdin 2015-08-09 18:54:20 +02:00
Anatol Belski a94ea9c97a fix the mcrypt related part of bug #64833 2015-08-09 18:40:29 +02:00
Christoph M. Becker 79f64e5e67 Fix #70173: ZVAL_COPY_VALUE_EX broken for 32bit Solaris Sparc
On 32bit big endian architectures the high word of a zend_value is copied
twice, instead of copying both words. Let's fix it.
2015-08-09 15:01:37 +02:00
marcosptf 3c41ab9ce9 Update broker_free.phpt 2015-08-09 08:15:33 -03:00
marcosptf 32fb77952f Update broker_dict_exists.phpt 2015-08-09 08:14:56 -03:00
marcosptf d3cd2f8221 Update broker_describe.phpt 2015-08-09 08:14:19 -03:00
marcosptf b7c5afbe99 Update dict_suggest.phpt 2015-08-09 08:13:12 -03:00
marcosptf 10ad115518 Update dict_store_replacement.phpt 2015-08-09 08:11:32 -03:00
marcosptf 49510ef7aa Update dict_quick_check_01.phpt 2015-08-09 08:09:13 -03:00
marcosptf 63990ab18a Update dict_quick_check.phpt 2015-08-09 08:06:48 -03:00
marcosptf ec24053797 Update dict_is_in_session.phpt 2015-08-09 08:04:49 -03:00
marcosptf fe497170bd Update dict_get_error.phpt 2015-08-09 08:02:05 -03:00
marcosptf ef3e2d7beb Update dict_describe.phpt 2015-08-09 07:58:58 -03:00
marcosptf 4129b50d23 Update dict_check.phpt 2015-08-09 07:56:23 -03:00
marcosptf 1cb530058e Update dict_add_to_session.phpt 2015-08-09 07:54:44 -03:00
marcosptf a7b9e3172d Update dict_add_to_personal.phpt 2015-08-09 07:52:04 -03:00
marcosptf c2bc106608 Update broker_set_ordering.phpt 2015-08-09 07:48:51 -03:00
marcosptf 018c412b5c Update broker_request_dict_01.phpt 2015-08-09 07:45:06 -03:00
marcosptf 4848b6af6b Update broker_request_dict_01.phpt 2015-08-09 07:44:04 -03:00
marcosptf b8fdc02536 Update broker_request_dict.phpt 2015-08-09 07:43:02 -03:00
marcosptf 9d3818c4cb Update broker_list_dicts.phpt 2015-08-09 07:37:50 -03:00
marcosptf 58c77c3610 Update broker_init.phpt 2015-08-09 07:35:59 -03:00
marcosptf 4191709915 Update broker_get_error.phpt 2015-08-09 07:31:56 -03:00
marcosptf c9857071d4 Update broker_free_01.phpt 2015-08-09 07:29:50 -03:00
marcosptf 8fa0ef538e Update broker_free.phpt 2015-08-09 07:28:17 -03:00
marcosptf 158aca848a new test refactor 2015-08-09 07:23:07 -03:00
marcosptf 55f9427688 test refactor
refactor of this test did ten years ago, make it more resilient.
2015-08-09 07:17:30 -03:00
Anatol Belski 06a19cf218 fix typo in NEWS 2015-08-09 10:40:07 +02:00
Christoph M. Becker 64a5189358 updated NEWS 2015-08-09 02:59:15 +02:00
Christoph M. Becker fc69549593 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #66606: Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE
  added tests for bug #66606
2015-08-09 02:51:16 +02:00
Bob Weinand cab75d8b00 Fixed bug #70215 (segfault when __invoke is static) 2015-08-08 16:19:12 +02:00
Bob Weinand 0c60524190 Fixed bug #70214 (FASYNC possibly not defined) 2015-08-08 15:53:27 +02:00
Bob Weinand b7aac1f5f2 Fixed bug #70208 (Assert breaking access on objects) 2015-08-08 00:02:49 +02:00
marcosptf d2632efe5e Update broker_list_dicts.phpt 2015-08-07 15:16:31 -03:00
marcosptf e36431fbee Update dict_suggest.phpt 2015-08-07 15:14:22 -03:00
Lior Kaplan cc53406747 Add FR to #70112 news entry 2015-08-07 20:20:04 +03:00
marcosptf a49260f197 Update dict_suggest.phpt 2015-08-07 14:10:32 -03:00
marcosptf 01988890a0 Update broker_list_dicts.phpt 2015-08-07 14:08:26 -03:00
marcosptf 696ce3f1e7 Update dict_describe.phpt 2015-08-07 14:04:53 -03:00
Christoph M. Becker 4adbe41e2f Merge branch 'pull-request/1458'
* pull-request/1458:
  Check the function UConverter::getAvailable with parameter wrong
2015-08-07 18:17:21 +02:00
marcosptf b9d40accc4 Update dict_describe.phpt 2015-08-07 13:16:07 -03:00
marcosptf 3760fe3514 Update broker_list_dicts.phpt 2015-08-07 13:12:46 -03:00
marcosptf 348cb72ad7 Create dict_suggest.phpt 2015-08-07 11:44:30 -03:00
marcosptf aed64ccab6 Rename dict_quick_check.phpt to dict_quick_check_01.phpt 2015-08-07 11:42:29 -03:00
marcosptf 6f6b629e8f Create dict_store_replacement.phpt 2015-08-07 11:38:11 -03:00
marcosptf d26b5cab41 Create dict_suggest.phpt 2015-08-07 11:37:40 -03:00
marcosptf e6bc14b6df Create dict_is_in_session.phpt 2015-08-07 11:37:04 -03:00
marcosptf b3a96b3aaa Create dict_get_error.phpt 2015-08-07 11:36:29 -03:00
marcosptf 90f9516cd9 Create dict_describe.phpt 2015-08-07 11:35:35 -03:00
marcosptf 86c0df077a Create dict_check.phpt 2015-08-07 11:34:57 -03:00
marcosptf 196f02d42c Create dict_add_to_session.phpt 2015-08-07 11:34:25 -03:00
marcosptf b2976db7a5 Create dict_add_to_personal.phpt 2015-08-07 11:33:51 -03:00
marcosptf d0bbbbabcf Create broker_set_ordering.phpt 2015-08-07 11:33:03 -03:00
marcosptf a0896433c0 Create broker_request_dict_01.phpt 2015-08-07 11:32:29 -03:00
marcosptf 92e525d1b6 Create broker_list_dicts.phpt 2015-08-07 11:31:25 -03:00
marcosptf ba018d85cd Create broker_get_error.phpt 2015-08-07 11:30:15 -03:00
marcosptf 6430f5dfd5 Rename broker_free.phpt to broker_free_01.phpt 2015-08-07 11:29:16 -03:00
marcosptf 1dd428afd2 Create broker_dict_exists.phpt 2015-08-07 11:25:33 -03:00
Christoph M. Becker e8d1ef56ff Merge branch 'pull-request/1460'
* pull-request/1460:
  Update UPGRADING about new substr() behavior
2015-08-07 15:05:27 +02:00
Anatol Belski 07f8845205 fix datatype 2015-08-07 10:12:20 +02:00
Nicolas Grekas 948bb1aa26 Update UPGRADING about new substr() behavior 2015-08-07 09:12:02 +02:00
Ferenc Kovacs 0de4e57cce Merge branch 'PHP-5.6'
* PHP-5.6:
  fix NEWS
2015-08-07 08:47:21 +02:00
Christoph M. Becker 3f242f1f89 fixed mixed up NEWS entries 2015-08-06 19:04:51 +02:00
Dmitry Stogov 6fc358241b Use specialized efree_size() 2015-08-06 18:04:17 +03:00
Rodrigo Prado 6bd3ace67e Check the function UConverter::getAvailable with parameter wrong 2015-08-06 00:10:37 -03:00
Bob Weinand ad4d139f29 Make bin2hex() and hex2bin() timing safe 2015-08-04 22:07:13 +02:00
Xinchen Hui d0bea17d2e Improve the conditions(save one comparison) 2015-07-15 10:55:41 +08:00
Xinchen Hui 32a4507abc Fixed segfault if opcache is disabled and with file_cache 2015-07-15 10:38:23 +08:00
Xinchen Hui 453ec91dfe Fixed bug #70067 (Cross-compile failure in opcache when SIZEOF_ZEND_LONG < SIZEOF_SIZE_T) 2015-07-14 18:59:36 +08:00
Lior Kaplan ad929bf68b Format alignment (needed for news2html) 2015-07-14 12:00:26 +03:00
Lior Kaplan a3fea0568b Format alignment (needed for news2html) 2015-07-14 11:28:53 +03:00
Christoph M. Becker 80b6a13553 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #53840: Misleading extension entries in php.ini
2015-07-14 10:11:50 +02:00
Christoph M. Becker 72554891e3 Fix #53840: Misleading extension entries in php.ini
As of PHP 5.3.0 the php_pspell.dll is not delivered anymore with the Windows
binaries, and according to bug #47464 that's highly unlike to change. So it's
appropriate to remove the respective extension entry from php.ini.
2015-07-14 10:09:29 +02:00
Christoph M. Becker 9f4135ad80 Merge branch 'master' of http://git.php.net/repository/php-src
# By Bob Weinand (5) and others
# Via Bob Weinand
* 'master' of http://git.php.net/repository/php-src:
  We want to track phpdbg bugs in official bug tracker now; updated URL
  Show also runtime-bound functions/classes/methods with phpdbg -p
  One less comparison
  Fix potential segfault
  Closures only have {closure}() as method name Prefixing a class name does not make sense as they may be rebound to another scope, where this will be confusing
  Fix __METHOD__ in functions nested into methods
  Init variable to NULL before passing to zpp
  Format alignment
  PHP 7 OCI8: fix bug57702.phpt regression
2015-07-14 10:02:25 +02:00
Bob Weinand 50866846c4 We want to track phpdbg bugs in official bug tracker now; updated URL 2015-07-14 08:31:44 +02:00
Bob Weinand 762c6dd666 Show also runtime-bound functions/classes/methods with phpdbg -p 2015-07-14 06:28:53 +02:00
Rasmus Lerdorf 611ff0c846 One less comparison 2015-07-13 19:44:51 -07:00
Rasmus Lerdorf 1ce4e8c45e Fix potential segfault 2015-07-13 19:38:55 -07:00
Bob Weinand bce9368dfb Closures only have {closure}() as method name
Prefixing a class name does not make sense as they may be rebound to another scope, where this will be confusing
2015-07-14 02:52:09 +02:00
Bob Weinand 1003d01f3a Fix __METHOD__ in functions nested into methods 2015-07-14 02:37:35 +02:00
Bob Weinand 07c425cc29 Init variable to NULL before passing to zpp 2015-07-14 01:56:05 +02:00
Lior Kaplan 51ce31e0c4 Format alignment 2015-07-14 02:43:11 +03:00
Christopher Jones c20f00f765 PHP 7 OCI8: fix bug57702.phpt regression 2015-07-14 08:39:59 +10:00
Christoph M. Becker ae5d04cd6a Merge branch 'master' of http://git.php.net/repository/php-src
# By Anatol Belski
# Via Anatol Belski
* 'master' of http://git.php.net/repository/php-src:
  remove #ifdef
  remove comment, it's not right
2015-07-14 00:30:17 +02:00
Anatol Belski 9db46a392b remove #ifdef 2015-07-14 00:12:35 +02:00
Anatol Belski b19aea3742 remove comment, it's not right 2015-07-13 23:43:43 +02:00
Christoph M. Becker cdf4d35e30 Merge branch 'master' of http://git.php.net/repository/php-src
# By Christoph M. Becker (6) and others
* 'master' of http://git.php.net/repository/php-src:
  updated NEWS
  updated NEWS
  Fix #66882: imagerotate by -90 degrees truncates image by 1px
  update NEWS
  Fixed bug #70065 curl_getinfo() returns corrupted values
  Revert SplFileInfo BC break while keeping fix for assertion removal
  Fix issue with SplFileInfo::getExtension() on files with only a leading '.' character
  updated NEWS
  updated NEWS
  Fix #70064: imagescale(..., IMG_BICUBIC) leaks memory
2015-07-13 22:39:12 +02:00
Christoph M. Becker e9eee76840 updated NEWS 2015-07-13 22:33:43 +02:00
Christoph M. Becker 20eaa186fb Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #66882: imagerotate by -90 degrees truncates image by 1px
2015-07-13 22:30:43 +02:00
Christoph M. Becker 140e80acc0 updated NEWS 2015-07-13 22:29:10 +02:00
Christoph M. Becker 2e34febb73 Fix #66882: imagerotate by -90 degrees truncates image by 1px
Contrary to the external libgd, the bundled libgd doesn't use optimized
rotation algorithms for negative square angles. We fix that now.

There are other improvements in gdImageRotateInterpolated() in the external
libgd. I'll leave them out for now, in the hope that we'll be able to rejoin
the two libraries rather soon.
2015-07-13 22:18:56 +02:00
Christoph M. Becker 36439cf7b8 Fix #66882: imagerotate by -90 degrees truncates image by 1px
Contrary to the external libgd, the bundled libgd doesn't use optimized
rotation algorithms for negative square angles. We fix that now.

There are other improvements in gdImageRotateInterpolated() in the external
libgd. I'll leave them out for now, in the hope that we'll be able to rejoin
the two libraries rather soon.
2015-07-13 22:14:13 +02:00
Anatol Belski 961fb9b569 update NEWS 2015-07-13 21:48:45 +02:00
Anatol Belski cefd010739 Fixed bug #70065 curl_getinfo() returns corrupted values 2015-07-13 21:47:42 +02:00
Anthony Ferrara 21686f1b30 Revert SplFileInfo BC break while keeping fix for assertion removal
This reverts the minor bc-break where .test would return an empty extension. This is different from 5.x's behavior.

In 7, it would result in an assertion failure crash. The fix for the removal of this assertion is kept, keeping BC with 5.x.
2015-07-13 13:27:06 -04:00
Anthony Ferrara 4b78636f3f Fix issue with SplFileInfo::getExtension() on files with only a leading '.' character
Currently, there is an assert() that fails on files like .gitignore crashing PHP. This patch fixes that.
Instead, now an empty string is returned (since the file has no extension). A test has been added to test this behavior.
2015-07-13 13:12:45 -04:00
Christoph M. Becker e10e0a02aa updated NEWS 2015-07-13 18:39:11 +02:00
Christoph M. Becker fabc1b7174 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #70064: imagescale(..., IMG_BICUBIC) leaks memory
2015-07-13 18:36:15 +02:00
Christoph M. Becker 72c2fc44e0 updated NEWS 2015-07-13 18:34:40 +02:00
Christoph M. Becker 1a4722a89e Fix #70064: imagescale(..., IMG_BICUBIC) leaks memory
A temporary image (tmp_im) is created with gdImageTrueColor() and freed with
gdFree() instead of gdImageDestroy(). Let's fix that.
2015-07-13 18:30:33 +02:00
Christoph M. Becker 2a2d3e88e6 Merge branch 'master' of http://git.php.net/repository/php-src
# By Christoph M. Becker (3) and Bob Weinand (2)
* 'master' of http://git.php.net/repository/php-src:
  updated NEWS
  updated NEWS
  Fix #69024: imagescale segfault with palette based image
  Fix weird asm instruction order with gcc by marking as volatile in phpdbg
  Preserve return value in zend_vm_call_opcode_handler with global opline/ex registers enabled
2015-07-13 17:50:26 +02:00
Christoph M. Becker 54b288ad92 updated NEWS 2015-07-13 15:59:40 +02:00
Christoph M. Becker 959b2c3514 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #69024: imagescale segfault with palette based image
2015-07-13 15:56:39 +02:00
Christoph M. Becker 25e5c8ac31 updated NEWS 2015-07-13 15:54:57 +02:00
Christoph M. Becker fa53d8463f Fix #69024: imagescale segfault with palette based image
imagescale(..., IMG_BICUBIC) is not supposed to work with palette images, so we
fix that by converting to true color if necessary. Basically the same fix has
already been applied to the external libgd[1].

[1] <https://github.com/libgd/libgd/commit/723ea520bed3b5854df87393c687323d3930edf3>
2015-07-13 15:48:48 +02:00
Christoph M. Becker bccbd2df21 Fix #69024: imagescale segfault with palette based image
imagescale(..., IMG_BICUBIC) is not supposed to work with palette images, so we
fix that by converting to true color if necessary. Basically the same fix has
already been applied to the external libgd[1].

[1] <https://github.com/libgd/libgd/commit/723ea520bed3b5854df87393c687323d3930edf3>
2015-07-13 15:43:16 +02:00
Bob Weinand 3f10eddd1d Fix weird asm instruction order with gcc by marking as volatile in phpdbg 2015-07-13 14:12:53 +02:00
Bob Weinand 82b1e22b57 Preserve return value in zend_vm_call_opcode_handler with global opline/ex registers enabled 2015-07-13 14:12:45 +02:00
Christoph M. Becker e990c809bb Merge branch 'master' of http://git.php.net/repository/php-src
# By Xinchen Hui (5) and others
# Via Xinchen Hui (6) and others
* 'master' of http://git.php.net/repository/php-src:
  Revert "Fixed test fail in travis from time to time"
  Fixed test fail in travis from time to time
  Update NEWS
  Fixed bug #70057 (Build failure on 32-bit Mac OS X 10.6.8: recursive inlining)
  Fixed Bug #70058 Build fails when building for i386
  Some OCI8 fixes (Rajendra)
  Updated zend_update_static_property
  updated NEWS
  updated NEWS
  Fix #53154: Zero-height rectangle has whiskers
  Fix #70048: When running a phpinfo(), if you have a very long cell value you got a table overflow.
  Hint label lookup table initialization branch on GOTO VM kind.
  adding scenario of test to improve test coverage
  Added php tests to improve extension coverage
2015-07-13 13:59:33 +02:00
Xinchen Hui 420b745a05 Merge branch 'shmop-extension_improve-test-coverage' of https://github.com/edgarsandi/php-src 2015-07-13 19:12:18 +08:00
Xinchen Hui 646694529f Merge branch 'basename-function_improve-test-coverage' of https://github.com/edgarsandi/php-src 2015-07-13 19:08:25 +08:00
Xinchen Hui 833e4ced87 Merge branch 'goto_branch_hint' of https://github.com/bogdanandone/php-src 2015-07-13 19:07:11 +08:00
Xinchen Hui 5384ccf5bb Revert "Fixed test fail in travis from time to time"
Some tests rely on this warning... :<

This reverts commit aed4c03cf9.
2015-07-13 17:22:34 +08:00
Xinchen Hui 8c2658ed52 Merge branch 'master' of https://github.com/Geolim4/php-src 2015-07-13 16:40:56 +08:00
Xinchen Hui aed4c03cf9 Fixed test fail in travis from time to time 2015-07-13 16:36:19 +08:00
Xinchen Hui 3b170531c4 Update NEWS 2015-07-13 16:24:54 +08:00
Xinchen Hui e5a996f268 Fixed bug #70057 (Build failure on 32-bit Mac OS X 10.6.8: recursive inlining) 2015-07-13 16:22:55 +08:00
Xinchen Hui eef41c57a3 Merge branch 'zend_update_static_property' of https://github.com/dreamsxin/php-src 2015-07-13 16:02:21 +08:00
Xinchen Hui b8eff44b0e Fixed Bug #70058 Build fails when building for i386
(I don't have a m32 build env, so this is not tested)
2015-07-13 15:05:04 +08:00
Christopher Jones 8586e67c1c Some OCI8 fixes (Rajendra) 2015-07-13 11:50:00 +10:00
Dreamsxin 7554e83037 Updated zend_update_static_property 2015-07-13 08:42:18 +08:00
Christopher Jones a846ff5d52 Merge branch 'master' of https://git.php.net/repository/php-src 2015-07-13 09:56:00 +10:00
Christoph M. Becker 1d16d106f4 updated NEWS 2015-07-13 01:50:09 +02:00
Christoph M. Becker 42d1fa29c7 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #53154: Zero-height rectangle has whiskers
2015-07-13 01:46:09 +02:00
Christoph M. Becker 2939bce9f3 updated NEWS 2015-07-13 01:41:46 +02:00
Christoph M. Becker 094decc3c0 Fix #53154: Zero-height rectangle has whiskers
To avoid drawing the corner pixels twice, gdImageRectangle() draws the vertical
lines 2 points shorter than the actual side of the rectangle. However, this
causes "whiskers" for rectangles with height 0. This patch fixes this issue and
at the same time optimizes the algorithm by drawing only a single line for zero
height and zero width rectangles.
2015-07-13 01:33:00 +02:00
Christoph M. Becker d87a3312e3 Fix #53154: Zero-height rectangle has whiskers
To avoid drawing the corner pixels twice, gdImageRectangle() draws the vertical
lines 2 points shorter than the actual side of the rectangle. However, this
causes "whiskers" for rectangles with height 0. This patch fixes this issue and
at the same time optimizes the algorithm by drawing only a single line for zero
height and zero width rectangles.
2015-07-13 01:29:01 +02:00
Christoph M. Becker ecd32e437e Merge branch 'master' of http://git.php.net/repository/php-src
* 'master' of http://git.php.net/repository/php-src:
  updated NEWS
  updated NEWS
  Fix #67447: imagecrop() adds a black line when cropping
2015-07-13 00:33:18 +02:00
Christoph M. Becker 33da8a60d9 updated NEWS 2015-07-12 23:18:59 +02:00
Christoph M. Becker 930a9910d7 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #67447: imagecrop() adds a black line when cropping
2015-07-12 23:15:06 +02:00
Christoph M. Becker 591fd4cdc3 updated NEWS 2015-07-12 23:13:13 +02:00
Christoph M. Becker 891ff131ef Fix #67447: imagecrop() adds a black line when cropping
A simple one-off error: imagecrop)() copied only width-1 and height-1 pixels.
2015-07-12 23:05:53 +02:00
Christoph M. Becker 0002f18af6 Merge branch 'master' of http://git.php.net/repository/php-src
# By Christoph M. Becker (3) and Tjerk Meesters (1)
# Via Christoph M. Becker (1) and Tjerk Meesters (1)
* 'master' of http://git.php.net/repository/php-src:
  Fixed #70053	MutlitpleIterator array-keys incompatible change in PHP 7
  updated NEWS
  updated NEWS
  Fix #68714: copy 'n paste error
2015-07-12 19:06:09 +02:00
Tjerk Meesters 03d18d9a52 Fixed #70053 MutlitpleIterator array-keys incompatible change in PHP 7 2015-07-13 00:33:55 +08:00
Christoph M. Becker fcdf1d0527 updated NEWS 2015-07-12 16:43:38 +02:00
Christoph M. Becker ce7b5af03f Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #68714: copy 'n paste error
2015-07-12 16:39:50 +02:00
Christoph M. Becker c0ac51dc07 updated NEWS 2015-07-12 16:38:23 +02:00
Christoph M. Becker ba7c3a1bb4 Fix #68714: copy 'n paste error
Actually, this is not really a bug fix, but rather a simplification and
optimization in the same vein as has been done with the external libgd, but
going a small step further and joining both for loops.
2015-07-12 16:32:38 +02:00
Christoph M. Becker 3aad9bd3ee Fix #68714: copy 'n paste error
Actually, this is not really a bug fix, but rather a simplification and
optimization in the same vein as has been done with the external libgd, but
going a small step further and joining both for loops.
2015-07-12 16:26:16 +02:00
Christoph M. Becker a50dda901c Merge branch 'PHP-5.6'
* PHP-5.6:
  Added XFAIL test for bug #53640
2015-07-12 00:12:31 +02:00
Christoph M. Becker a8dbe655e5 Added XFAIL test for bug #53640 2015-07-12 00:10:56 +02:00
Geolim4 c10c47ae1e Fix #70048: When running a phpinfo(), if you have a very long cell value you got a table overflow. 2015-07-11 21:44:23 +02:00
Christoph M. Becker 649fd428d9 updated NEWS 2015-07-11 21:03:40 +02:00
Christoph M. Becker 77cd79012e Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #66339: PHP segfaults in imagexbm
2015-07-11 21:01:01 +02:00
Christoph M. Becker bac1fe7438 updated NEWS 2015-07-11 20:58:50 +02:00
Christoph M. Becker c40f40656e Fix #66339: PHP segfaults in imagexbm
The file parameter of the XBM image ZPP is not properly taken into account. If
it is NULL that would result in a segfault, because gdImageXbmCtx() is not
prepared to take a NULL file_name. If it is not NULL the XBM data would be
written to STDOUT, because the stream is not initialized. This patch fixes both
issues.
2015-07-11 20:54:07 +02:00
Christoph M. Becker 1a94e51859 updated NEWS 2015-07-11 17:56:33 +02:00
Christoph M. Becker 6f574c6dd8 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #70047: gd_info() doesn't report WebP support
2015-07-11 17:52:22 +02:00
Christoph M. Becker 6ac4c57f72 updated NEWS 2015-07-11 17:50:42 +02:00
Christoph M. Becker 450fbdc740 Fix #70047: gd_info() doesn't report WebP support
Despite being documented, the array returned by gd_info() doesn't have a 'WebP
Support' key. This patch adds it.
2015-07-11 17:49:13 +02:00
Xinchen Hui e63c756c09 Better implementation 2015-07-11 18:59:09 +08:00
Christoph M. Becker 0cd9c4eb2b Merge branch 'PHP-5.6'
* PHP-5.6:
  Adding tests for getprotobyname and getprotobynumber functions
2015-07-11 00:20:46 +02:00
Rasmus Lerdorf 1af1afdfdc DOMDocument::saveXML has a 2nd optional arg 2015-07-10 15:17:06 -07:00
Edgar R. Sandi 49c0c1299a Adding tests for getprotobyname and getprotobynumber functions 2015-07-11 00:16:42 +02:00
Bob Weinand 0584df0ad9 hmm, we do not need the nop after compilation, so does not matter for opcache... 2015-07-10 23:35:05 +02:00
Bob Weinand 56800e470b a: try { ... } ≠ try { a: ... } 2015-07-10 23:29:07 +02:00
Ferenc Kovacs ed62db9abc Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing NEWS entry
2015-07-10 17:26:09 +02:00
Ferenc Kovacs a7dc1274f0 add missing NEWS entry 2015-07-10 17:25:44 +02:00
Xinchen Hui 8e709d7f5d Fixed invalid read (Part issue of #69579) 2015-07-10 22:26:53 +08:00
Nikita Popov 25d327e53f Move try/catch/finally tests to common directory 2015-07-10 13:35:14 +02:00
Nikita Popov 725fed4902 Mark temporary_cleaning_006.phpt as XFAIL
And adjust it to fail even with opcode.
2015-07-10 13:33:32 +02:00
Anatol Belski ad8a73dd55 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 5ee8413259.
2015-07-10 12:06:56 +02:00
Anatol Belski ceefc0947a Revert "Tuned off dubugging of live ranges"
This reverts commit 404dc93d35.
2015-07-10 12:06:33 +02:00
Anatol Belski 2928e412e6 Revert "Remove loop_var_stack"
This reverts commit b3a4c05071.
2015-07-10 12:06:06 +02:00
Anatol Belski 770571bce9 Revert "ZEND_SEPARATE reuses temporaries"
This reverts commit dfe6fdaa72.
2015-07-10 12:05:43 +02:00
Anatol Belski 6cdf477254 Revert "Add assertion in liveliness computation"
This reverts commit 62062dcd0e.
2015-07-10 12:05:35 +02:00
Anatol Belski 5784b8f8e6 Revert "Fixed invalid live-range detection"
This reverts commit 724e98498a.
2015-07-10 12:05:26 +02:00
Nikita Popov bd72fdca98 Better opcode dump for finally
* Move opcode decode into opline decode, so we can adjust it for
  extended_value.
* Show extended_value and secondary jump ops for FAST_CALL and
  FAST_RET.
2015-07-10 11:39:54 +02:00
Xinchen Hui 95ff2852ee Micro optimization 2015-07-10 16:39:21 +08:00
Xinchen Hui f930d6ea0e Fixed Bug #69996 (Changing the property of a cloned object affects the original) 2015-07-10 16:33:13 +08:00
Bogdan Andone e27cbe6542 Hint label lookup table initialization branch on GOTO VM kind.
This initialization is performed only once so it shall be marked as unexpected.
2015-07-10 11:18:40 +03:00
Xinchen Hui 54305c8952 Fixed No 2 issue in #1400 2015-07-10 16:04:45 +08:00
Xinchen Hui a3f05d640d Fixed Issue #1400 (double free static property) 2015-07-10 15:27:06 +08:00
Dmitry Stogov ef1b588f6a Resolve GOTO at compile time and replace it with sequnce of FREE/FE_FREE and JMP. 2015-07-10 04:44:21 +03:00
Dmitry Stogov 44f7348caa Exception thrown by "return" statement (from TMP destructors) shouldn't be caught in the same function 2015-07-10 04:13:34 +03:00
Dmitry Stogov 3bb70fe290 Readded tests 2015-07-10 03:46:57 +03:00
Dmitry Stogov bafe9d8c30 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  add missing NEWS entry
  PDO_OCI LOB fixes (Senthil)
  Improve test portability (Senthil)
  Add new test section.  Diff with query 5 is still to be resolved
  Add Oracle syntax (Senthil)
2015-07-10 03:32:46 +03:00
Dmitry Stogov 549e8c4959 Squashed commit of the following:
commit 03cf871f1576f08b2348c141b209894a7bf17a86
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:31 2015 +0300

    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 5ee8413259.

commit 285a68227ce3d380e821a24fa389aa5239bd3fe1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:26 2015 +0300

    Revert "Tuned off dubugging of live ranges"

    This reverts commit 404dc93d35.

commit 93d9d11157301ee2ec99afb6f5744b126d17f637
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:17 2015 +0300

    Revert "Remove loop_var_stack"

    This reverts commit b3a4c05071.

commit ede68ebbc284aec79e3f719f2c8dbf9da6907752
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:12 2015 +0300

    Revert "ZEND_SEPARATE reuses temporaries"

    This reverts commit 1852f538b9.

commit 96d8995dc1f517fb01b481736273767509f76c47
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:10 2015 +0300

    Revert "Add assertion in liveliness computation"

    This reverts commit ed14019e8c.

commit 0649d7bfef152e6cc8e67b922534e9946c634d9c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:07 2015 +0300

    Revert "Fixed invalid live-range detection"

    This reverts commit 54f367ee2a.

commit dfe8f3851f6b04595eb089323e3492115a59363e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:04 2015 +0300

    Revert "Add test guaranteeing that loop vars are only freed after potential return type exceptions"

    This reverts commit f5db5a558d.

commit 52a94aad6f48a199358cc07f7e4f56bb73050504
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:45:01 2015 +0300

    Revert "Fixed exception habdling on "return" statement."

    This reverts commit 17c5315bdf.

commit 6e90ad7331901711e89c2ceb2bcab5023e5cee60
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:44:58 2015 +0300

    Revert "Fix too early terminated temporary range with break/cont/goto"

    This reverts commit cc876c04b4.

commit 7b766e44b1970e4031f75109c302c07ead2c05cb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 10 02:44:55 2015 +0300

    Revert "Fixed exception catching on break/continue"

    This reverts commit 8c3f701eeb.
2015-07-10 03:31:52 +03:00
Ferenc Kovacs bf09c28aca Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing NEWS entry
2015-07-10 02:31:16 +02:00
Ferenc Kovacs ec25f69c5d add missing NEWS entry 2015-07-10 02:30:29 +02:00
Christopher Jones bcb1c2fe03 PDO_OCI LOB fixes (Senthil) 2015-07-10 09:55:36 +10:00
Christopher Jones 268a333232 Improve test portability (Senthil) 2015-07-10 09:53:45 +10:00
Christopher Jones e79433743a Add new test section. Diff with query 5 is still to be resolved 2015-07-10 09:49:10 +10:00
Christopher Jones a3c54dd1b7 Add Oracle syntax (Senthil) 2015-07-10 09:47:45 +10:00
Nikita Popov a49ce7bb91 Don't return T_ERROR from token_get_all()
This turned out to be rather inconvenient after all. Instead just
return the same output we did on PHP 5. If people want to have an
error, use TOKEN_PARSE.
2015-07-09 23:02:21 +02:00
Anatol Belski fc5c7e633b refix the NEWS 2015-07-09 22:56:11 +02:00
Dmitry Stogov 8c3f701eeb Fixed exception catching on break/continue
Fixed "finaly" handling on exception in "return" statement
2015-07-09 23:20:50 +03:00
Edgar R. Sandi 28c3b55fa8 adding scenario of test to improve test coverage 2015-07-09 16:43:31 -03:00
Nikita Popov 788c4c852d Fix posix_setrlimit segfault 2015-07-09 20:40:07 +02:00
Bob Weinand cc876c04b4 Fix too early terminated temporary range with break/cont/goto
I have no crashing or leaking reproduce script, only valgrind invalid reads for that one; hence no phpt here
2015-07-09 20:07:57 +02:00
Ferenc Kovacs 9591b1cc3c Merge branch 'PHP-5.6'
* PHP-5.6:
  move the use-after-free fixes to 5.6.11
2015-07-09 20:02:18 +02:00
Ferenc Kovacs ab66152c68 move the use-after-free fixes to 5.6.11 2015-07-09 20:01:37 +02:00
Dmitry Stogov 17c5315bdf Fixed exception habdling on "return" statement.
Such exceptions shouldn't be caught in the same function.
2015-07-09 20:47:25 +03:00
Nikita Popov d91aad5966 Fix bug #69430
Don't throw from token_get_all() unless TOKEN_PARSE is used. Errors
are reported as T_ERROR tokens.
2015-07-09 19:11:48 +02:00
Nikita Popov 8abc3022b0 Update token_get_all() arginfo 2015-07-09 18:19:12 +02:00
Anatol Belski ee573eba67 fixed NEWS 2015-07-09 17:34:49 +02:00
Dmitry Stogov 724e98498a Fixed invalid live-range detection 2015-07-09 17:26:01 +02:00
Nikita Popov 62062dcd0e 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.
2015-07-09 17:25:42 +02:00
Nikita Popov dfe6fdaa72 ZEND_SEPARATE reuses temporaries 2015-07-09 17:25:26 +02:00
Bob Weinand f5db5a558d Add test guaranteeing that loop vars are only freed after potential return type exceptions 2015-07-09 16:54:41 +02:00
Dmitry Stogov 54f367ee2a Fixed invalid live-range detection 2015-07-09 17:38:29 +03:00
Dmitry Stogov b77fa94cf9 Disable opcache.fast_shutdown if USE_ZEND_ALLOC=0 2015-07-09 12:19:51 +03:00
Dmitry Stogov 225bb70498 Added missing API functions 2015-07-09 12:19:30 +03:00
Xinchen Hui 0de0c4ace1 Fixed Bug #70032 (make_http_soap_request calls zend_hash_get_current_key_ex(,,,NULL)) 2015-07-09 16:36:31 +08:00
Magnus Määttä a55ca9a8d1 Fix posix_setrlimit() to use int as values instead of strings.
Add constant for unlimited (POSIX_RLIMIT_INFINITY).
2015-07-09 00:04:13 +02:00
Magnus Määttä 963d906aff Add posix_setrlimit() FR #54603 2015-07-08 22:12:07 +02:00
Dmitry Stogov 301ee26568 Fixed situation, when CHECH_EXCEPTION() might change value of "opline" variable and the following "opline" useages would access elements of different opcode. That might lead to unpredictable behavior. (Only PHP-7 with GCC global register variables was affected).
CHECK_EXCEPTION() macro is removed. ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTIO() should be used instead. It's equivalent to old CHECK_EXCEPTION() + ZEND_VM_NEXT_OPCODE().
As a side effect, this also slightly improved performnce of builds with GCC >= 4.8.
2015-07-08 18:33:58 +03:00
Julien Pauli 993a658ada Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.27 release
2015-07-08 17:00:47 +02:00
Julien Pauli b1a9b89773 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.27 release

Conflicts:
	main/php_version.h
2015-07-08 17:00:29 +02:00
Julien Pauli 34b624f122 5.5.27 release 2015-07-08 16:59:44 +02:00
Bob Weinand 3ccc17cee5 Working fix for ctrl+d on readline/libedit 2015-07-08 16:54:41 +02:00
Xinchen Hui 5460929077 Merge branch 'PHP-5.6' 2015-07-08 22:35:10 +08:00
Xinchen Hui c75d245e82 Revert "Fixed invalid read"
I must be confused while switching from master to 5.6

This reverts commit 94957a7091.
2015-07-08 22:34:27 +08:00
Xinchen Hui ffccf19fa6 Merge branch 'master' of git.php.net:php-src 2015-07-08 19:31:36 +08:00
Xinchen Hui da333bfbd8 Fixed bug #70018 (exec does not strip all whitespace)
Merge branch 'PHP-5.6'

Conflicts:
	ext/standard/exec.c
2015-07-08 19:30:58 +08:00
Anatol Belski dd1f0940fe fix NEWS 2015-07-08 13:27:34 +02:00
Xinchen Hui 94957a7091 Fixed invalid read 2015-07-08 19:19:37 +08:00
Xinchen Hui f9dc60f36f Merge branch 'master' of git.php.net:php-src 2015-07-08 18:25:04 +08:00
Xinchen Hui b9e48073b3 Make sure fast_call_var is initialized properly 2015-07-08 18:24:27 +08:00
Nikita Popov ed14019e8c 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.
2015-07-08 12:00:39 +02:00
Xinchen Hui 249915f938 Add comment to explaining the new check 2015-07-08 17:44:54 +08:00
Xinchen Hui 3b5876916d Remove outdate comment 2015-07-08 17:42:50 +08:00
Xinchen Hui c6037bd3af Fixed bug #70012 (Exception lost with nested finally block) 2015-07-08 17:15:09 +08:00
Xinchen Hui 6154fc77be Merge branch 'PHP-5.6' 2015-07-08 17:14:32 +08:00
Xinchen Hui ca30d5bf39 Fixed bug #70012 (Exception lost with nested finally block) 2015-07-08 17:14:19 +08:00
Aaron Piotrowski 1c7619491e Fix failing tests from exception code changes 2015-07-07 23:14:05 -05:00
Kalle Sommer Nielsen b84363f7fa PHP 7.0.0 Beta 2 NEWS 2015-07-08 02:37:59 +02:00
Anatol Belski 8d09c84bd3 update NEWS 2015-07-08 01:35:42 +02:00
Anatol Belski 955303ddc8 bump the versions 2015-07-08 01:20:10 +02:00
Anatol Belski 2a0e037c0d Merge branch 'master' into PHP-7.0.0
* master: (282 commits)
  Remove loop_var_stack
  SQLite3::open/__construct has 2 optional args
  Better fix for bug #69958
  Better fix for bug #69958
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file
  Use NULL where possible for exception class
  Allow NULL for exception_ce
  fix C89 compat
  Better fix for bug #69958
  update news
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file
  fix C89 compat
  added info about the user space stream context for pipes
  mention pcre.jit in the supplied php.ini-*
  Fix test related to c22da81
  add missing second argument for ucfirst to the proto
  ...
2015-07-08 01:17:19 +02:00
Nikita Popov 1852f538b9 ZEND_SEPARATE reuses temporaries 2015-07-08 00:13:23 +02:00
Stanislav Malyshev 496f291f3d 5.4.44 next 2015-07-07 15:07:28 -07:00
Aaron Piotrowski a1a83bf5f0 Switch code on thrown TypeError and ParseError to 0, update related tests 2015-07-07 16:54:39 -05:00
Christoph M. Becker dbadf447b2 Merge branch 'PHP-5.6'
* PHP-5.6:
  fixed typo in test for bug #66985
2015-07-07 23:39:18 +02:00
Christoph M. Becker e68b5252a2 fixed typo in test for bug #66985 2015-07-07 23:35:28 +02:00
Bob Weinand 7a8ea0f60d Properly exit on EOF on stdin in readline mode 2015-07-07 22:45:34 +02:00
Nikita Popov b3a4c05071 Remove loop_var_stack
Instead add a loop_var member to brk_cont_element. Now that
brk_cont is compile-time the distinction is no longer necessary.

Also drops brk_cont.start, check the loop_var op_type instead.
2015-07-07 20:55:12 +02:00
Rasmus Lerdorf 40ca0f1927 SQLite3::open/__construct has 2 optional args 2015-07-07 11:53:07 -07:00
Stanislav Malyshev a5e7075d79 Merge branch 'PHP-5.6'
* PHP-5.6:
  Better fix for bug #69958
  update news
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file
  Better fix for bug #69958
  Better fix for bug #69958
  update news
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file

Conflicts:
	ext/mysqlnd/mysqlnd.c
	ext/phar/phar_object.c
2015-07-07 10:19:20 -07:00
Stanislav Malyshev 2d0771d66c Better fix for bug #69958 2015-07-07 10:18:22 -07:00
Stanislav Malyshev 3bee16a70a Better fix for bug #69958 2015-07-07 10:17:54 -07:00
Stanislav Malyshev d8aa5675ad Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM) 2015-07-07 10:16:54 -07:00
Stanislav Malyshev 12ff95574b Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath 2015-07-07 10:15:41 -07:00
Stanislav Malyshev 00f177a5ed Fix bug #69958 - Segfault in Phar::convertToData on invalid file 2015-07-07 10:15:41 -07:00
Stanislav Malyshev 6c884e8e84 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Better fix for bug #69958
  update news
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file
  Better fix for bug #69958
  Better fix for bug #69958
  update news
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file

Conflicts:
	ext/phar/phar_object.c
2015-07-07 10:12:51 -07:00
Aaron Piotrowski 5df893ce3c Use NULL where possible for exception class
Matches usage of zend_throw_exception()/zend_throw_exception_ex().
2015-07-07 12:10:55 -05:00
Aaron Piotrowski 29c3cd4448 Allow NULL for exception_ce 2015-07-07 12:10:55 -05:00
Stanislav Malyshev b4b082e63e Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Better fix for bug #69958
  update news
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file

Conflicts:
	ext/mysqlnd/mysqlnd.c
2015-07-07 10:09:34 -07:00
Stanislav Malyshev 545eddba93 Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
* 'PHP-5.5' of git.php.net:php-src:
  add missing second argument for ucfirst to the proto
2015-07-07 10:08:37 -07:00
Anatol Belski 54bcc6280c Merge branch 'PHP-5.6'
* PHP-5.6:
  fix C89 compat
2015-07-07 18:40:16 +02:00
Anatol Belski c0142de470 fix C89 compat 2015-07-07 18:39:33 +02:00
Stanislav Malyshev 885edfef0a Better fix for bug #69958 2015-07-07 09:38:31 -07:00
Stanislav Malyshev c8157619ef update news 2015-07-07 09:38:31 -07:00
Stanislav Malyshev 97aa752fee Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM) 2015-07-07 09:38:31 -07:00
Stanislav Malyshev 6dedeb40db Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath 2015-07-07 09:38:31 -07:00
Stanislav Malyshev bf58162ddf Fix bug #69958 - Segfault in Phar::convertToData on invalid file 2015-07-07 09:38:30 -07:00
Kalle Sommer Nielsen fe842a8510 fix C89 compat 2015-07-07 18:26:14 +02:00
Anatol Belski aaee58ecc4 added info about the user space stream context for pipes 2015-07-07 17:11:24 +02:00
Anatol Belski 4bf70f4d98 mention pcre.jit in the supplied php.ini-* 2015-07-07 16:15:56 +02:00
Julien Pauli bcd6bc46f4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix test related to c22da81

Conflicts:
	ext/standard/tests/general_functions/bug41037.phpt
2015-07-07 16:03:37 +02:00
Julien Pauli 4c34d57414 Fix test related to c22da81 2015-07-07 16:01:44 +02:00
Edgar R. Sandi 18dfbf9008 Added php tests to improve extension coverage 2015-07-07 10:50:23 -03:00
Ferenc Kovacs df499b9108 Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing second argument for ucfirst to the proto
2015-07-07 15:50:02 +02:00
Ferenc Kovacs bdb9c0da86 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add missing second argument for ucfirst to the proto
2015-07-07 15:49:44 +02:00
Ferenc Kovacs b6f5cb11a4 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  add missing second argument for ucfirst to the proto
2015-07-07 15:49:16 +02:00
Ferenc Kovacs 29533ae528 add missing second argument for ucfirst to the proto 2015-07-07 15:48:55 +02:00
Xinchen Hui 015d20ab83 Merge branch 'master' of git.php.net:php-src 2015-07-07 21:40:46 +08:00
Xinchen Hui 9ae892ec93 Update NEWs 2015-07-07 21:38:37 +08:00
Xinchen Hui ca1ba39102 Merge branch 'PHP-5.6'
Conflicts:
	ext/sqlite3/sqlite3.c
2015-07-07 21:38:24 +08:00
Xinchen Hui 26471eb69c Fixed bug #69972 (Use-after-free vulnerability in sqlite3SafetyCheckSickOrOk()) 2015-07-07 21:37:35 +08:00
Anatol Belski a94b3b8e64 updated NEWS 2015-07-07 15:34:37 +02:00
Xinchen Hui 5bd315657c Update NEWs 2015-07-07 21:29:20 +08:00
Xinchen Hui fff374feba Merge branch 'PHP-5.6'
Conflicts:
	ext/spl/spl_iterators.c
2015-07-07 21:28:51 +08:00
Xinchen Hui e41f600365 Fixed bug #69970 (Use-after-free vulnerability in spl_recursive_it_move_forward_ex()) 2015-07-07 21:25:28 +08:00
Julien Pauli dfb0c6363f Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed double ZEND_TICKS opcode generation for declare()

Conflicts:
	Zend/zend_compile.c
2015-07-07 15:03:58 +02:00
Julien Pauli c22da81b71 Fixed double ZEND_TICKS opcode generation for declare() 2015-07-07 14:56:05 +02:00
Dmitry Stogov 404dc93d35 Tuned off dubugging of live ranges 2015-07-07 15:43:14 +03:00
Dmitry Stogov 5ee8413259 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)
Squashed commit of the following:

commit 38e22106d4bdcc829dd2b64be1d3c6cdc089f3ed
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 15:12:19 2015 +0300

    Added NEWS entry

commit 0a355935bfb10b5a4c893f4db9496ea8abbcf71b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 15:06:32 2015 +0300

    Inline function, to eliminate repeatable checks

commit d937584f3aef0baae6001377b61fd700b6f36e14
Merge: 0341626 32677f5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 14:35:49 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
      Fix x86 build
      Fixed use after free on closure_call_leak_with_exception.phpt
      Fixed test

commit 0341626ea94a5e474c660732d33884460847d5e7
Merge: 74869fa dec35de
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 12:00:53 2015 +0300

    Merge branch 'temporary_cleaning' of https://github.com/laruence/php-src into temporary_cleaning

    * 'temporary_cleaning' of https://github.com/laruence/php-src:
      Fixed checkpoint get
      Fixed crash of invalid pointer derefer
      cleanup

commit 74869fa67375b8daf772ac30b6b936fd2a2132c6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 11:45:34 2015 +0300

    Fixed wrong GOTO resolution

commit dec35ded3294e3022e88a623188c3d1d71381675
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 15:58:49 2015 +0800

    Fixed checkpoint get

commit b0f419540ad24c44810c9b05da046965618ffc65
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:47:11 2015 +0300

    Fixed crash of invalid pointer derefer (laruence)

commit 7a428d98ca2899c5933914caa0cd17b4126e952c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:35:47 2015 +0300

    Fixed identation

commit 9c3a4dce9ce02034d19d28182aa9c1298d528daf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 10:33:52 2015 +0300

    Fixed invalid size

commit 653abc670b2a1f453b0fc3fc4a9eca919ee870cc
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 11:29:14 2015 +0800

    Fixed crash of invalid pointer derefer

commit e04500ceda606ac4f364d03bcd562327bdc74eee
Author: Xinchen Hui <laruence@gmail.com>
Date:   Tue Jul 7 11:28:26 2015 +0800

    cleanup

commit 34183e1687681038e77b650078927b35ee84e933
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:49:46 2015 +0300

    op_array->T_liveliness compression

commit 2f6ad845795a08c3d7ac219e9c42950565b20394
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:44:44 2015 +0300

    White spaces

commit be83f115a3f82a548c8d377c66574de5e5187410
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:42:26 2015 +0300

    Identation

commit 1f5084b99038c374ac012b017c4d1652bb5d4222
Merge: 91b620d 1adf3df
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:41:54 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Throw TypeError for invalid callback
      Fix crash when exception occurs during nested rope
      Fix crash when exception is thrown during ROPE_END
      Small cleanup in ternary compilation
      move the define to the right place
      fix ext/ldap build
      Rectify information about invalid shift warning being now ArithmeticError

commit 91b620d684c5a2296774432d5d0ff8f5d14397d6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 04:32:04 2015 +0300

    Replace GOTO by FREE/FE_FREE and JMP at compile time

commit 7052e5697918fab83d2975977c3392f7188fbc87
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 7 02:25:08 2015 +0300

    Use zend_regenerate_var_liveliness_info() to regenerate information after pass two.

commit ae72b0dc6797815a846b8f95abccb36367422d27
Merge: a81c4bb a919fe8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 21:02:34 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Do not display EXT_TYPE_UNUSED in phpdbg opcodes
      Run debug build with opcache on travis

commit a81c4bb8c6f1ba8124a5a7636694480ff0f1328c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 20:59:34 2015 +0300

    Improved algorithm. It's actually the same algorithm with second loop removed and simpler temporary data structures. The only difference may be in "re-defined" vatriable handling. Now live-range in that case started from the seconnd definition (this must be more safe).

commit 9a16810f7a7c10373603c5250d985616acf45e97
Merge: bbfbe47 001ecd3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 17:57:45 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Simplify TMP var number decoding (without HashTable)

commit bbfbe470c865cb8b3cae8bf6518e6d06af525522
Merge: 0bda4ab 436b01e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 17:02:01 2015 +0300

    Merge branch 'master' into temporary_cleaning

    * master:
      Avoid dangerous optimization
      Fixed JMPZNZ instruction printing
      Attempt at falling back on ldap_find_control for Mac OS

commit 0bda4abea7ba0a51c2ec125edb547645d0329792
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 16:05:33 2015 +0300

    Fixed live-range construction for OP_DATA opcode
    Added comments about algorithm assumtions

commit 521ad9df98fdf1dd8b7c212799ddeb1a84483e6f
Merge: 4398dab a09dcb0
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 14:54:15 2015 +0200

    Merge branch 'master' of https://github.com/php/php-src into temporary_cleaning

commit 4398dab82f9a5ce64df55b24988ce7d31e24074f
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 13:51:27 2015 +0200

    Add a few phpt tests related to temporary cleaning

commit 739656f83ff5b570bb311d2c7cb2d72380a3c759
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 14:28:49 2015 +0300

    Fixed Zend/tests/foreach_004.phpt failure (FE_FETCH shouldn't be included into TMP vatriablr live range)

commit 3df462a2bcf5fa8f9244ea299178152a5d436277
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 13:41:02 2015 +0300

    Improve data layout (reduce the op_array structure size on 64-bit systems)

commit 883b73c56e6dab6489ae4cda2c1331b53a995586
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 6 13:28:45 2015 +0300

    Removed op_array->brk_cont_array

commit ae5e58b59843513505e84e396c1446ac35cb1b94
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 04:22:58 2015 +0200

    Fix bug with brk_cont variable free / free loop vars via temporary liveliness info

commit b4223ca62771e1003c9ab778a09a177ad71e6d57
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Mon Jul 6 04:07:07 2015 +0200

    Fix bugs / cleanup fixes

commit ea33189d220c7fc0884848571635abe3cddd2f4d
Author: Xinchen Hui <laruence@gmail.com>
Date:   Sun Jul 5 20:58:38 2015 +0800

    Removed useless TsTop

commit 1dbb007e4addba9ac3bfc227db27a651cbcf5ede
Merge: 550bbf8 3a8af24
Author: Xinchen Hui <laruence@gmail.com>
Date:   Sat Jul 4 15:06:44 2015 +0800

    Merge branch 'temporary_cleaning' of https://github.com/dstogov/php-src into temporary_cleaning

commit 3a8af245290ceb507108340831254672f24022fa
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 16:15:36 2015 +0300

    More exceptions from regular liveliness analyses (with explanation in comments).
    Mark old "unexplained" exceptions with ???.

commit ba721efa2cbd2136668fec956ef3b034ac1a29d6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 14:16:09 2015 +0300

    Print list of live temp variables (at least for internal debugging)

commit 8d1f88fe91e62b4333703c58b871d85b66fb7b70
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 13:31:56 2015 +0300

    Use op_array->T_liveliness to free incomplete ropes and restore error_reporting level on exception

commit 80c1d0d779e6e9609a211907838f3727aa7b301a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 3 11:05:39 2015 +0300

    Don't keep empty T_liveliness

commit 501ae8aaac0a92368b50e9f342b04d7334d263f6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 2 22:31:48 2015 +0300

    Reverted changes to Zend/zend_arena.h.
    Reuse CG(arena) instead of creating a new one.

commit a4fce36907147df5ac1af78b44135e3f07c1844c
Merge: 6ff7246 fd0fcce
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 2 22:01:42 2015 +0300

    Merge branch 'temporary_cleaning' of github.com:bwoebi/php-src into temporary_cleaning

    * 'temporary_cleaning' of github.com:bwoebi/php-src:
      Fix remaining issues with compacted temporaries
      Fix regression from last commit (+1 ?!)
      Fix off-by-one (opcache may remove last ZEND_RETURN)
      Speed algorithm up, more fail safety when reusing temporaries
      Dumb bug in opcode.c (forgot to update Ts[i])
      Fix opcache support
      Exempt ROPE temporaries from freeing
      Hmm, we need temporary info for all the opcodes
      Add opcache support for cleaning in optimization step (Opcache seems to have a few unrelated issues which blow up together with that patch)
      Add proper temporary cleaning upon frame abortion
      Fix arena on small sizes (size < sizeof(zend_arena))

commit fd0fcce81177717f3a05ac87192b5ed05eead0a1
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Thu Jul 2 20:00:33 2015 +0200

    Fix remaining issues with compacted temporaries

commit 427dc58bbb93022d1c2077f874afcdb9dd82d5c5
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 22:49:12 2015 +0200

    Fix regression from last commit (+1 ?!)

commit 1adcf56a6e9f09e7ad06331d4d6280035b17a7d1
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 22:17:07 2015 +0200

    Fix off-by-one (opcache may remove last ZEND_RETURN)

commit 25b231b7841fa4078c65976cabdd843845a6cbe6
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 20:59:24 2015 +0200

    Speed algorithm up, more fail safety when reusing temporaries

commit 22d9d05350e35d180018d0bccbad6f173cb4797d
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 16:48:46 2015 +0200

    Dumb bug in opcode.c (forgot to update Ts[i])

commit 6538269bfa5bcbad34fc2f051b0fd5e4ebf2ff00
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Wed Jul 1 13:05:52 2015 +0200

    Fix opcache support

commit 333a7c4a8813a45dc79ce55b8e9c0a0b98671e13
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Sat Jun 27 22:40:21 2015 +0200

    Exempt ROPE temporaries from freeing

commit 02585f77085427baea48448c134a96c542af3337
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 16:20:55 2015 +0200

    Hmm, we need temporary info for all the opcodes

commit cbcaedbd78199897e5cacffd700b706f21590abf
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 01:04:09 2015 +0200

    Add opcache support for cleaning in optimization step
    (Opcache seems to have a few unrelated issues which blow up together with that patch)

commit fef649f4067823a1f96f85340cf715e5877310bc
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Fri Jun 26 01:02:27 2015 +0200

    Add proper temporary cleaning upon frame abortion

commit 1cec2e7271b789b84601f8acf385950af1bb0c7c
Author: Bob Weinand <bobwei9@hotmail.com>
Date:   Thu Jun 25 23:33:21 2015 +0200

    Fix arena on small sizes (size < sizeof(zend_arena))
2015-07-07 15:41:12 +03:00
Xinchen Hui 32677f568b Merge branch 'master' of git.php.net:php-src 2015-07-07 19:21:54 +08:00
Xinchen Hui 7af4e6d02d Fixed bug #70006 (cli - function with default arg = STDOUT crash output). 2015-07-07 19:21:02 +08:00
Kalle Sommer Nielsen 2bd4b18c24 Merge branch 'master' of https://git.php.net/push/php-src 2015-07-07 12:43:58 +02:00
Kalle Sommer Nielsen 0ac2371b5a Fix x86 build 2015-07-07 12:41:05 +02:00
Xinchen Hui 333528089e Fixed use after free on closure_call_leak_with_exception.phpt 2015-07-07 18:19:57 +08:00
Dmitry Stogov 636c16b186 Fixed test 2015-07-07 10:14:37 +03:00
Stanislav Malyshev ed84af4b88 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Better fix for bug #69958
2015-07-07 00:01:42 -07:00
Stanislav Malyshev eda31f57fb Better fix for bug #69958 2015-07-07 00:01:26 -07:00
Stanislav Malyshev 09de64a58d Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Better fix for bug #69958
2015-07-06 23:03:05 -07:00
Stanislav Malyshev 61b0b80388 Better fix for bug #69958 2015-07-06 22:58:28 -07:00
Stanislav Malyshev 485b7c6981 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  update news
2015-07-06 21:53:02 -07:00
Stanislav Malyshev c938d2f537 update news 2015-07-06 21:52:56 -07:00
Stanislav Malyshev 303d97feda Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM)
  Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath
  Fix bug #69958 - Segfault in Phar::convertToData on invalid file

Conflicts:
	ext/mysqlnd/mysqlnd.c
2015-07-06 21:52:49 -07:00
Stanislav Malyshev 0d2f147d80 Fix bug #69669 (mysqlnd is vulnerable to BACKRONYM) 2015-07-06 21:50:01 -07:00
Aaron Piotrowski 1adf3df81e Throw TypeError for invalid callback
Matches behavior of zend_internal_type_error() if E_ERROR is passed to
zend_wrong_callback_error().
2015-07-06 15:03:35 -05:00
Nikita Popov 724051e3bd Fix crash when exception occurs during nested rope
Adds extra condition that the rope var of INIT/ADD must match the
one one END.
2015-07-06 20:53:54 +02:00
Nikita Popov 89ce8d28de Fix crash when exception is thrown during ROPE_END
The CHECK_EXCEPTION() was done at a point where the old opline is
still used, thus redirecting the write to the result var into
EX(call) instead.

Handling the exception in-place to avoid leaking result.
2015-07-06 20:15:45 +02:00
Nikita Popov f3498783df Small cleanup in ternary compilation 2015-07-06 20:15:45 +02:00
Anatol Belski 73c0fc0df4 move the define to the right place
thanks Kalle )
2015-07-06 19:43:35 +02:00
Anatol Belski cb2d33f3e2 fix ext/ldap build 2015-07-06 19:35:29 +02:00
Bob Weinand 23242fd61d Rectify information about invalid shift warning being now ArithmeticError 2015-07-06 18:09:36 +02:00
Bob Weinand a919fe8606 Do not display EXT_TYPE_UNUSED in phpdbg opcodes 2015-07-06 18:05:03 +02:00
Bob Weinand b3ab7c13dc Run debug build with opcache on travis 2015-07-06 17:41:24 +02:00
Dmitry Stogov 001ecd3198 Simplify TMP var number decoding (without HashTable) 2015-07-06 17:56:48 +03:00
Dmitry Stogov 436b01e379 Avoid dangerous optimization 2015-07-06 16:52:38 +03:00
Dmitry Stogov 1a9f4f90da Fixed JMPZNZ instruction printing 2015-07-06 16:30:50 +03:00
Côme Bernigaud da6e286dbb Merge branch 'PHP-5.6'
* PHP-5.6:
  Attempt at falling back on ldap_find_control for Mac OS
2015-07-06 14:56:20 +02:00
Côme Bernigaud 022068342b Attempt at falling back on ldap_find_control for Mac OS 2015-07-06 14:54:04 +02:00
Côme Bernigaud a09dcb0e13 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated README, added test to create LDAP base if missing and ease tests
2015-07-06 14:28:01 +02:00
Anatol Belski 535b2cc02b update NEWS about #69900
backport for 5.6 to go
2015-07-06 14:27:17 +02:00
Côme Bernigaud 42f7e4c044 Updated README, added test to create LDAP base if missing and ease tests 2015-07-06 14:26:49 +02:00
Dmitry Stogov 2f7b178fac Fixed test (shift operators throw Error) 2015-07-06 12:28:14 +03:00
Dmitry Stogov 7a1a499377 Fixed return value 2015-07-06 11:25:19 +03:00
Xinchen Hui 5e7fd530ce Merge branch 'signed_char' of https://github.com/antonblanchard/php-src 2015-07-06 15:36:55 +08:00
Xinchen Hui 84e07b08bd Reorder the conditions 2015-07-06 15:24:51 +08:00
Xinchen Hui ce550cefde Fixed segfault while with generating ext info 2015-07-06 15:22:40 +08:00
Anton Blanchard 275009d0bd http parser code assumes char is signed
A char can be either signed or unsigned, and on PowerPC and ARM it is
unsigned. The following code will always be false on these architectures:

        if (c == -1) goto error;
2015-07-06 10:13:00 +10:00
Anatol Belski a97f764472 bring back the division by zero warning 2015-07-05 20:18:17 +02:00
Stanislav Malyshev b9d3540304 Merge branch 'pull-request/1368'
* pull-request/1368:
  moved function warning test to money_format_error.phpt file
2015-07-05 01:24:35 -07:00
Stanislav Malyshev 013d1296d6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Cleaned white spaces in PHP_INI definition of phar
2015-07-05 01:10:29 -07:00
Dominic b27bcd90b3 Cleaned white spaces in PHP_INI definition of phar
Removes unnecessary white spaces.
2015-07-05 01:10:22 -07:00
Stanislav Malyshev 9b6c3d19c5 Merge branch 'pull-request/1351'
* pull-request/1351:
  Cleaned white spaces in PHP_INI definition of phar
2015-07-05 01:04:22 -07:00
Stanislav Malyshev 64eb8338b1 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix typo, see #68476
2015-07-05 01:01:27 -07:00
Stanislav Malyshev 04ca04f830 Merge branch 'pull-request/1324' into PHP-5.6
* pull-request/1324:
  fix typo, see #68476
2015-07-05 01:01:00 -07:00
Stanislav Malyshev 3e88d610e5 Fix bug #69923 - Buffer overflow and stack smashing error in phar_fix_filepath 2015-07-04 23:47:48 -07:00
Stanislav Malyshev 452d30cf7d Fix bug #69958 - Segfault in Phar::convertToData on invalid file 2015-07-04 21:01:50 -07:00
Bob Weinand 56b6e0dd14 Fix use after free with opcache (interned strings) 2015-07-05 02:00:52 +02:00
Kalle Sommer Nielsen 12b79fcb05 This macro check is not needed (Anatol) 2015-07-04 21:21:15 +02:00
Kalle Sommer Nielsen ce2cd89258 Replace references to PHP_WIN32 and TSRM_WIN32 with ZEND_WIN32 in Zend/, this also fixes 1 instance of where fflush(stderr) was misplaced (zend_extensions.c) 2015-07-04 18:55:22 +02:00
Xinchen Hui 550bbf8f46 Fixed bug #69983 (get_browser fails with user agent of null) 2015-07-04 11:05:50 +08:00
Aaron Piotrowski 1a0ddf988c Switch code on thrown Errors to 0, update related tests 2015-07-03 17:53:42 -05:00
Aaron Piotrowski fbcc823952 Remove E_EXCEPTION 2015-07-03 17:53:42 -05:00
Aaron Piotrowski 02623ddb82 Switch macro with __VA_ARGS__ to function 2015-07-03 17:53:41 -05:00
Aaron Piotrowski 22c38b2ef5 Remove need to pass error level 2015-07-03 17:53:41 -05:00
Aaron Piotrowski 5a99c07ecc Enable throwing custom exceptions from errors 2015-07-03 17:53:40 -05:00
Nikita Popov 866bd89b1d Always report object leaks
Previously cycles were excluded from leak reports, however the
situation here has improved a lot in the meantime and we can
report all leaks.
2015-07-03 19:33:34 +02:00
Nikita Popov 3c33854e7c Don't leak generator cycle in ReflectionGenerator test
This is tracked by bug #69989.
2015-07-03 19:33:28 +02:00
Aaron Piotrowski ed1b64877d Switch position of ce in exception ce variable names 2015-07-03 09:45:03 -05:00
Aaron Piotrowski a812a74c2e Change zend_exception_get_default() to zend_exception_ce 2015-07-03 09:44:48 -05:00
Aaron Piotrowski f9e9d3a437 Cleanup exception ce API
Removed recently added functions to get Error ce's and marked the old functions
fetching default_exception_ce and error_exception_ce as deprecated.
2015-07-03 09:44:30 -05:00
Anatol Belski 9adfb053e6 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix backport mistake
2015-07-03 16:22:01 +02:00
Anatol Belski b281211979 fix backport mistake
in 5.6 it has to be explicitly copied to avoid double free
2015-07-03 16:21:02 +02:00
Christoph M. Becker e75cf6b7e4 Merge branch 'PHP-5.6'
* PHP-5.6:
  fixed fix #69975 wrt. ODBCVER < 0x0300
2015-07-03 13:32:05 +02:00
Christoph M. Becker 344ff5dd4c fixed fix #69975 wrt. ODBCVER < 0x0300 2015-07-03 13:30:39 +02:00
Anatol Belski 02df0cb02b improve info about the applink 2015-07-03 12:45:59 +02:00
Anatol Belski 9d9f372df6 added openssl applink shim note to UPGRADING.INTERNALS 2015-07-03 12:40:54 +02:00
Anatol Belski 274edb4c6f add missing item in the content table 2015-07-03 12:40:53 +02:00
Anatol Belski 54e19fe7c3 Merge branch 'PHP-5.6'
* PHP-5.6:
  backport c01943bffc into 5.6
2015-07-03 11:17:16 +02:00
Anatol Belski d870683d6b backport c01943bffc into 5.6 2015-07-03 11:16:02 +02:00
Anatol Belski c01943bffc fix improper behavior
openssl_spki_export() is documented to return string, but it's
obviously not achieved writing it to stdout :)
2015-07-03 10:15:52 +02:00
Anatol Belski 3d7343f609 integrate the applink shim in the other bins 2015-07-03 07:11:14 +02:00
Anatol Belski 59444347d1 integrate the openssl applink shim
This fixes ext/openssl/tests/openssl_spki_export.phpt failing
with the no OPENSSL_Applink error. Applink is also an interesting
technique documented in the OpenSSL FAQ
https://www.openssl.org/support/faq.html#PROG2
which allows under circumstances using different OpenSSL binaries
than those a program was linked with.
2015-07-03 07:11:13 +02:00
Xinchen Hui e8f992c163 Catch the specifical exception 2015-07-03 11:18:53 +08:00
Christoph M. Becker 21029da71c Merge branch 'PHP-5.6'
* PHP-5.6:
  Added more tests to improve function coverage
2015-07-03 03:12:09 +02:00
Edgar R. Sandi 48d71af7ed Added more tests to improve function coverage 2015-07-03 03:02:40 +02:00
Aaron Piotrowski 68baa539dc Allow integer default for float type 2015-07-02 18:07:24 -05:00
Christoph M. Becker 2768bdbce0 updated NEWS 2015-07-03 00:29:44 +02:00
Christoph M. Becker caa539b481 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fix #69975: PHP segfaults when accessing nvarchar(max) defined columns
2015-07-03 00:25:03 +02:00
Christoph M. Becker 616661e0f8 updated NEWS 2015-07-03 00:23:44 +02:00
Christoph M. Becker 16db4d1462 Fix #69975: PHP segfaults when accessing nvarchar(max) defined columns
The SQL Server Native Client 11.0 and maybe other ODBC drivers report
NVARCHAR(MAX) columns as SQL_WVARCHAR with size 0. This causes too small a
buffer to be emalloc'd, likely causing a segfault in the following. As we don't
know the real size of the column data, we treat such colums as
SQL_WLONGVARCHAR.

The related bug #67437 suggests that some drivers report a size of ~4GB. It is
not certain that this is really the case (there might be some integer overflow
involved, and anyway, there has been no feedback), so we do not cater for this
now. However, it would not be hard to treat all sizes above a certain threshold
in a similar way, i.e. as SQL_WLONGVARCHAR.
2015-07-03 00:15:47 +02:00
Bob Weinand 57881e878d Update NEWS for bug #69957 2015-07-02 21:19:26 +02:00
Niklas Keller 5f72d94a8b Correct type hint name for booleans in method signatures 2015-07-02 21:14:30 +02:00
Bob Weinand 6ff72467dc XFAILED tests are not "You may have found a problem in PHP" 2015-07-02 20:49:30 +02:00
Bob Weinand 94722e12cf Introduce ArithmeticError 2015-07-02 20:47:44 +02:00
Dmitry Stogov b874f1a73d Cleanup (avoid reallocation) 2015-07-02 20:29:06 +03:00
Dmitry Stogov 07e646f8ff Cleanup (avoid reallocation) 2015-07-02 19:09:37 +03:00
Dmitry Stogov 9ea98d676b Cleanup (avoid reallocations) 2015-07-02 18:58:04 +03:00
Dmitry Stogov 0fd2b4c030 Cleanup (avoid reallocation) 2015-07-02 18:50:54 +03:00
Anatol Belski d0787534c0 add missing items to the table of contents 2015-07-02 16:34:42 +02:00
Anatol Belski 79ca2b06b6 update UPGRADING infos 2015-07-02 16:32:57 +02:00
Anatol Belski 6f3dd4d45b fix pipe peek timeout 2015-07-02 15:19:38 +02:00
Christoph M. Becker 58b982afed Fix alignment on 32-bit 2015-07-02 14:23:07 +02:00
Christoph M. Becker a88c68f833 improve timings evaluations in test 2015-07-02 14:23:06 +02:00
Anatol Belski cefca35692 use proper place to cleanup 2015-07-02 14:23:05 +02:00
Anatol Belski 4fe8d629d0 fix test for systems with lower time resolution 2015-07-02 14:23:04 +02:00
Anatol Belski 8fed210610 remove stderr descriptor 2015-07-02 14:23:03 +02:00
Anatol Belski afd8ebca78 no need to fflush here 2015-07-02 14:23:02 +02:00
Anatol Belski 5750058ddb added test for bug #69900 2015-07-02 14:23:01 +02:00
Anatol Belski aec332e6b4 select the case to set the pipe blocking option more precisely 2015-07-02 14:23:00 +02:00
Anatol Belski d6130fada6 fixed wrong number for the new option 2015-07-02 14:22:59 +02:00
Anatol Belski 4e5758f377 fix c/p issue 2015-07-02 14:22:58 +02:00
Anatol Belski d516a14fb9 properly set the pipe blocking option 2015-07-02 14:22:57 +02:00
Anatol Belski 1a5a4d546e add missing stuff is the header 2015-07-02 14:22:56 +02:00
Anatol Belski 734d907aa4 initial stuff to make allow blocking pipes on windows 2015-07-02 14:22:55 +02:00
Xinchen Hui 6de750efb7 Fixed conditional jump or move depends on uninitialised value(s)
==11551==    at 0x57CB23C: xpmParseData (parse.c:702)
2015-07-02 19:02:49 +08:00
Xinchen Hui 72b0627315 Fixed bug #69521 (Segfault in gc_collect_cycles()). 2015-07-02 18:43:06 +08:00
Xinchen Hui 3422fb57c8 Use hash_str directly 2015-07-02 12:31:26 +08:00
Xinchen Hui ba91bc36cd Same here 2015-07-02 12:23:50 +08:00
Xinchen Hui ba711aec30 Use one_char_string 2015-07-02 12:19:55 +08:00
Xinchen Hui 0e68e27854 Use one_char_string 2015-07-02 12:18:23 +08:00
Xinchen Hui 70d7ecfec6 Use zend_string in setcookie (save value reallocated) 2015-07-02 12:04:28 +08:00
Xinchen Hui 017d3530f3 Unnecessary duplication 2015-07-02 11:47:22 +08:00
Xinchen Hui fc58025627 This can not be true 2015-07-02 11:04:24 +08:00
Bob Weinand 06fcf94c45 CT eval ZEND_DIV in all cases (warning was removed) 2015-07-02 02:20:58 +02:00
Bob Weinand 007d7ac7ca Use DivisionByZeroError instead of exception for %/intdiv() 2015-07-02 02:20:58 +02:00
Bob Weinand f9724b93f6 Remove warning upon division by zero 2015-07-02 02:20:58 +02:00
Dmitry Stogov fa1abb5677 Fixed memory leak because of incorrect 'if ();' optimization 2015-07-02 02:00:34 +03:00
Christoph M. Becker e6f1638ad0 updated NEWS 2015-07-01 23:50:12 +02:00
Christoph M. Becker e49922d3f8 Fix #69976: Unable to parse "all" urls with colon char
If a colon occurs in a query string or fragment of a partial URL without
scheme, parse_url() tries to regard it as port separator. If up to 5 digits
follow and then a slash or the end of the string, parse_url() fails.

We're fixing this by checking whether the colon is part of the query string or
the fragment, under the assumption that question marks and hash signs are only
allowed as separators of query string and fragments, respectively, what is
guarenteed for URIs (RFC 3986), but not necessarily for URLs (RFC 1738) where
question marks are allowed for usernames and passwords.

Anyhow, this constitutes a minor BC, so the fix is applied to master only.
2015-07-01 23:48:16 +02:00
Dmitry Stogov 6daed13c8b Cleanup (removed dead code) 2015-07-01 22:18:40 +03:00
Dmitry Stogov b4db4114c5 Cleanup (avoid reallocation) 2015-07-01 22:17:55 +03:00
Dmitry Stogov 887e5ad110 Cleanup (avoid reallocation) 2015-07-01 22:17:08 +03:00
Dmitry Stogov d2d326a381 Cleanup (avoid reallocatios and side effects in php_strip_tags) 2015-07-01 19:04:18 +03:00
Dmitry Stogov 068f63ceb2 Fixed broken name 2015-07-01 18:23:06 +03:00
Dmitry Stogov 2ea3258ed5 Cleanup (updated comments) 2015-07-01 17:32:04 +03:00
Dmitry Stogov 819fd30cb3 Cleanup (replce hack by a clean implementation) 2015-07-01 17:30:00 +03:00
Dmitry Stogov 26e8329d0d Cleanup (removed dead code) 2015-07-01 17:07:57 +03:00
Dmitry Stogov c34651e8f8 Cleanup (avoid duplication) 2015-07-01 17:01:42 +03:00
Dmitry Stogov eeaf73439a Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  change the inclusion order which fixes the vc build
2015-07-01 16:32:13 +03:00
Dmitry Stogov a0b55e6a37 Cleanup (updated comments about optimization of comparison with IS_NULL) 2015-07-01 16:31:20 +03:00
Anatol Belski 333db013fd change the inclusion order which fixes the vc build 2015-07-01 15:21:34 +02:00
Dmitry Stogov e2baf737ae Cleanup (we don't use is_ref=1/refcount=2 trick to trigger COW in PHP-7) 2015-07-01 16:15:45 +03:00
Dmitry Stogov c47c526290 Cleanup (avoid reallocation) 2015-07-01 14:59:58 +03:00
Dmitry Stogov 89b49b02fc Cleanup (avoid reallocation) 2015-07-01 14:12:46 +03:00
Dmitry Stogov 7d82deab35 Cleanup (avoid reallocation). 2015-07-01 14:08:54 +03:00
Dmitry Stogov 34ec1c96e7 Cleanup (avoid reallocation). 2015-07-01 13:49:57 +03:00
Dmitry Stogov f7b6de5b5e Cleanup (avoid string reallocations) 2015-07-01 13:26:39 +03:00
Dmitry Stogov 53403fe56d Get rid of ZVAL_ZVAL() macro usages. Replace them with more clear and optimal equialent sequences. 2015-07-01 02:05:21 +03:00
Rasmus Lerdorf 324d5ecb7e debug_print_backtrace has a 2nd optional arg 2015-06-30 09:57:49 -07:00
Rasmus Lerdorf f2249bf95a php_uname has an optional arg 2015-06-30 09:55:00 -07:00
Xinchen Hui ab0771c60a Merge branch 'amortize-hash-compaction' of https://github.com/kaja47/php-src 2015-06-30 21:26:07 +08:00
Dmitry Stogov 7aa7627172 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 13:59:27 +03:00
Côme Bernigaud d554d64f64 Merge branch 'PHP-5.6'
* PHP-5.6:
  keep LDAP_DEPRECATED in config.w32
2015-06-30 09:31:19 +02:00
Anatol Belski 57525d01dc keep LDAP_DEPRECATED in config.w32 2015-06-30 09:30:48 +02:00
Aaron Piotrowski f7565a93d8 Add tests for dynamic static call to instance method 2015-06-30 07:07:17 +02:00
Aaron Piotrowski ffd36e0fc8 Throw Error on dynamic call to instance method when called statically 2015-06-30 07:07:17 +02:00
Bob Weinand dd2e6e866d Fix test failures from previous commit
(I really don't get that issue in phar... if there's a better fix, it's welcome...)
2015-06-30 07:02:56 +02:00
Christopher Jones 99cac5055e More PHP 7 patches (Rajendra/Abdullah) 2015-06-30 13:54:40 +10:00
Bob Weinand 6ad9cd5367 Only call stream_flush if anything was written
This avoids flushing in readonly mode upon close
2015-06-30 03:49:54 +02:00
Dmitry Stogov 4a2e40bb86 Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes). 2015-06-30 04:05:24 +03:00
Christopher Jones 8cce5b2641 Fix Windows compilation warnings (Senthil) 2015-06-30 08:48:37 +10:00
Christoph M. Becker 8b064a18c8 Merge branch 'PHP-5.6'
* PHP-5.6:
  Improved code coverage of explode function
2015-06-29 23:55:18 +02:00
Edgar R. Sandi 1b1a86c415 Improved code coverage of explode function 2015-06-29 23:49:41 +02:00
Christoph M. Becker e32a60dd88 Merge branch 'PHP-5.6'
* PHP-5.6:
  Added basic and error tests for hex2bin function
2015-06-29 23:16:50 +02:00
Edgar R. Sandi d2bc45f6b3 Added basic and error tests for hex2bin function 2015-06-29 23:10:50 +02:00
Anatol Belski 845b191f16 refix the negative zend_long to size_t casts
There is no good way to fix this for 32-bit without enormously
overcomplicating the logic. Therefore switching back to the previous
code and adding the casts to ensure there are no sudden casts of
negative to size_t.
2015-06-29 20:41:39 +02:00
Christoph M. Becker a378322409 Merge branch 'PHP-5.6'
* PHP-5.6:
  adding several other testing scenarios of code without coverage in stripcslashes function
2015-06-29 19:26:01 +02:00
Edgar R. Sandi a8d61ab7f0 adding several other testing scenarios of code without coverage in stripcslashes function 2015-06-29 19:20:23 +02:00
Christoph M. Becker df8f3a0eaa Merge branch 'PHP-5.6'
* PHP-5.6:
  adding another testing scenario without coverage in setlocale function
2015-06-29 18:25:30 +02:00
Edgar R. Sandi 7acdfdc84e adding another testing scenario without coverage in setlocale function 2015-06-29 18:15:03 +02:00
Dmitry Stogov 6cf6f2c6bf Merge branch 'PHP-5.6'
* PHP-5.6:
  On Windows PHP may be restarted with different set of DSO extensions without SHM reset. This may make optimisation for entities from DSO extensions inconsistent.
  Putting back deprecated symbols for ldap_sort
  Removed deprecated function calls from ldap module
  Removed ifdefs of LDAP_API_FEATURE_X_OPENLDAP, fixed a warning
2015-06-29 18:14:14 +03:00
Dmitry Stogov dc588997e2 On Windows PHP may be restarted with different set of DSO extensions without SHM reset.
This may make optimisation for entities from DSO extensions inconsistent.
2015-06-29 18:01:01 +03:00
Dmitry Stogov ee1e67fae6 On Windows PHP may be restarted with different set of DSO extensions without SHM reset.
This may make optimisation for entities from DSO extensions inconsistent.
2015-06-29 17:45:56 +03:00
jrchamp edb3ab2a2a UPGRADING typos/wording 2015-06-29 16:16:51 +02:00
Dmitry Stogov 4bd22cf1c1 Improved zend_string API (Francois Laupretre)
Squashed commit of the following:

commit d96eab8d79b75ac83d49d49ae4665f948d15a804
Author: Francois Laupretre <francois@tekwire.net>
Date:   Fri Jun 26 01:23:31 2015 +0200

    Use the new 'ZSTR' macros in the rest of the code.

    Does not change anything to the generated code (thanks to compat macros) but cleaner.

commit b3526439104ac7a89a8e0c79dbebf33b22bd01b8
Author: Francois Laupretre <francois@tekwire.net>
Date:   Thu Jun 25 13:45:06 2015 +0200

    Improve zend_string API

    Add missing methods
2015-06-29 16:44:54 +03:00
Côme Bernigaud 667e9bd417 Deprecating ldap_sort the right way 2015-06-29 14:31:20 +02:00
Dmitry Stogov 66031cfe19 Restored old behavior 2015-06-29 14:10:46 +03:00
Anatol Belski c783645b99 fix more places with subtle negative zend_long to size_t cast 2015-06-29 12:15:21 +02:00
Anatol Belski c2ac0304a9 remove useless check
thanks Yasuo :)
2015-06-29 12:15:20 +02:00
Anatol Belski 8ccf29eb04 remove comment
f and l are the $start and $length, since they come from the user
land, they only can be zend_long
2015-06-29 12:15:19 +02:00
Dmitry Stogov 0b35e4a3be Revert "Fixed last previously broken tests"
This reverts commit 79b1832dd5.
2015-06-29 13:05:14 +03:00
Dmitry Stogov 642c379092 Prevent attempts of compile-time evaluation of invalid operators (e.g. division/modulo by zero and shift by negative number) 2015-06-29 12:58:07 +03:00
Dmitry Stogov 1bba4452e7 Reverted wrong fb08798c9f 2015-06-29 12:20:09 +03:00
Andreas Heigl 6e84f8e95e Fixes ldap_sort-tests
Thanks to Côme Bernigaud for fixing!
2015-06-29 11:11:11 +02:00
Andreas Heigl 85aabd3e85 Adds deprecation-message for ldap_sort 2015-06-29 11:11:11 +02:00
Dmitry Stogov 625dba022c Don't evaluate invalid constant expressions. 2015-06-29 11:35:12 +03:00
Anatol Belski 5060060317 fix negative zend_long to size_t cast 2015-06-29 10:27:42 +02:00
Edgar R. Sandi 8271890d8d removed unreachable code in the substr_replace function 2015-06-29 10:27:41 +02:00
Dmitry Stogov 8e923197b4 Fixed bug #69955 (Segfault when trying to combine [] and assign-op on ArrayAccess object). (Laruence) 2015-06-29 11:17:56 +03:00
Anatol Belski 07c971b665 keep LDAP_DEPRECATED in config.w32 2015-06-29 10:12:36 +02:00
Côme Bernigaud d4077410b8 Putting back deprecated symbols for ldap_sort 2015-06-29 09:42:47 +02:00
Côme Bernigaud 0483b6e868 Removed deprecated function calls from ldap module
ldap_search -> ldap search_ext
ldap_search_s ->_ldap_search_ext_s
ldap_add_s -> ldap_add_ext_s
ldap_delete_s -> ldap_delete_ext_s
ldap_compare_s -> ldap_compare_ext_s
ldap_value_free -> ldap_memvfree

Only thing left is ldap_sort_entries, no replacement

Conflicts:
	ext/ldap/ldap.c
2015-06-29 09:42:47 +02:00
Côme Bernigaud 4f7808ec50 Removed ifdefs of LDAP_API_FEATURE_X_OPENLDAP, fixed a warning
Conflicts:
	ext/ldap/ldap.c
2015-06-29 09:42:47 +02:00
Xinchen Hui bb3d545e5e Merge branch 'master' of git.php.net:php-src 2015-06-29 15:36:55 +08:00
Xinchen Hui 4cc0096e00 Fixed memroy errors with valgrind 2015-06-29 15:36:02 +08:00
Stanislav Malyshev 265b73e6ff Merge branch 'PHP-5.6'
* PHP-5.6:
  Move strlen() check to php_mail_detect_multiple_crlf()
  Fixed Bug #69874 : Can't set empty additional_headers for mail()

Conflicts:
	ext/standard/mail.c
2015-06-29 00:31:56 -07:00
Côme Bernigaud 2e85e6d3ee Merge PR about LDAP cleaning by removing deprecated calls
Merge branch 'pull-request/1357' into PHP-5.6

* pull-request/1357:
  Putting back deprecated symbols for ldap_sort
  Removed deprecated function calls from ldap module
  Removed ifdefs of LDAP_API_FEATURE_X_OPENLDAP, fixed a warning
2015-06-29 09:31:37 +02:00
Stanislav Malyshev d7daf814b7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Move strlen() check to php_mail_detect_multiple_crlf()
  Fixed Bug #69874 : Can't set empty additional_headers for mail()
2015-06-29 00:30:55 -07:00
Xinchen Hui a5d38e0dea Merge branch 'master' of git.php.net:php-src 2015-06-29 15:17:58 +08:00
Xinchen Hui 5ba28d76d2 Fixed segfault in wordpress (introduced in rev 4a4529adb0) 2015-06-29 15:13:09 +08:00
Côme Bernigaud 736d840c8b Putting back deprecated symbols for ldap_sort 2015-06-29 09:07:49 +02:00
Anatol Belski 5e3a3461c2 fix tests 2015-06-29 09:05:56 +02:00
Anatol Belski a1cf46bb1f remove useless assignment 2015-06-29 07:33:20 +02:00
Anatol Belski 8430ec1788 fix FCGI crash in TS mode
If CGI TS build is used, and there are some hard errors (fe missing
dependency .dll or .so), the core will want to log it. The CGI
log function will want to check whether fcgi_logging is enabled. But,
if this kind of error happens in the extension register phase,
MINIT for the CGI module is most likely wasn't run yet (startup phase).
That will result in accessing uninitialized globals and a crash.
2015-06-29 07:33:19 +02:00
Stanislav Malyshev 8f2e08239f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Move strlen() check to php_mail_detect_multiple_crlf()
  Fixed Bug #69874 : Can't set empty additional_headers for mail()
2015-06-28 20:23:00 -07:00
Stanislav Malyshev cd9c39d77c Merge branch 'pull-request/1350' into PHP-5.4
* pull-request/1350:
  Move strlen() check to php_mail_detect_multiple_crlf()
  Fixed Bug #69874 : Can't set empty additional_headers for mail()
2015-06-28 20:18:56 -07:00
Bob Weinand b34f9bc2e9 Fix assertion failure with Z_REFCOUNT() in info constants 2015-06-29 03:43:51 +02:00
Rasmus Lerdorf 01ceb0f7fa 2nd arg of sprintf is optional 2015-06-28 18:08:22 -07:00
Bob Weinand 088f589f7d Make backtraces *much* more readable 2015-06-29 02:51:10 +02:00
Bob Weinand f500471e8c Add yield from to frame leaving instructions 2015-06-29 02:05:33 +02:00
Bob Weinand 5e16722309 Show exception source in phpdbg 2015-06-29 01:41:04 +02:00
Bob Weinand 79b1832dd5 Fixed last previously broken tests 2015-06-29 01:00:12 +02:00
Bob Weinand e5fae77969 Show full signature upon inheritance mismatch 2015-06-29 01:00:12 +02:00
Bob Weinand 9f77c44d47 Remove now unneeded step option (-s) 2015-06-29 01:00:12 +02:00
Jakub Zelenka f30503ce4e Fix incompatible JSON errors
This fixes differences in error codes with PHP 5 and 7.
The malformed UTF-8 and control character error codes are
now returned even in non-string context which makes it
the same as it was in PHP 5 json ext.
2015-06-28 18:09:10 +01:00
Bob Weinand fb08798c9f Fix bug #69957 (Different ways of handling div/mod by zero) 2015-06-28 18:22:59 +02:00
Jakub Zelenka 64c371142c Fix bug #62010 (json_decode produces invalid byte-sequences) 2015-06-28 17:16:12 +01:00
Jakub Zelenka 695b4f4cad Bump re2c version for json scanner 2015-06-28 16:48:42 +01:00
Bob Weinand b477aa1fad Fix bug #69952 (Dereferencing issue in session_start()) 2015-06-28 16:30:58 +02:00
Bob Weinand e96ad43ae6 Forgot to git add rope leak test 2015-06-28 15:44:53 +02:00
Bob Weinand 4a4529adb0 Fix rope memory leaks upon exception 2015-06-28 15:42:15 +02:00
Xinchen Hui f70950d004 Fixed ZEND_VM_DEFINE_OP build when --without-specializer 2015-06-28 21:16:08 +08:00
Xinchen Hui 15979d2c9e Merge branch 'master' of git.php.net:php-src 2015-06-28 19:17:37 +08:00
Xinchen Hui a486294e7d Unused ret 2015-06-28 19:16:00 +08:00
Anatol Belski 7d0fb66032 updated NEWS 2015-06-28 13:13:41 +02:00
Cameron Porter 621698d3f9 Correct oci8 hash destructors to prevent segfaults, and a few other fixes. 2015-06-28 13:05:25 +02:00
Anatol Belski b81188518b tweak the zendparse symbol to be exported with newer bison 2015-06-28 00:10:41 +02:00
Anatol Belski 2eea8c1adb fix touching 2015-06-27 23:38:48 +02:00
Anatol Belski 84c4945599 touch all the files before creating a tarball 2015-06-27 22:06:15 +02:00
Anatol Belski 8858d02f63 fix one more bad char in the NEWS 2015-06-27 21:09:00 +02:00
Anatol Belski ea2ad6f6e4 remove BOM and a unicode char from the NEWS 2015-06-27 21:08:00 +02:00
Christoph M. Becker b06996b561 updated NEWS 2015-06-27 20:07:06 +02:00
Christoph M. Becker a7bbc68bac Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed #69655: php -S changes MKCALENDAR request method to MKCOL
2015-06-27 20:05:30 +02:00
Christoph M. Becker 7e97faa3e8 updated NEWS 2015-06-27 20:03:38 +02:00
Christoph M. Becker bbe28d3a55 Fixed #69655: php -S changes MKCALENDAR request method to MKCOL
The parsing of the request method in the CLI server has been faulty, so that
several unsupported methods have been recognized as other methods.
2015-06-27 20:02:21 +02:00
Christoph M. Becker 1ec6ff0b49 Merge branch 'PHP-5.6'
* PHP-5.6:
  added skip condition for powershell requirement of test
2015-06-27 15:05:29 +02:00
Christoph M. Becker b811bb3920 added skip condition for powershell requirement of test 2015-06-27 15:02:52 +02:00
Christoph M. Becker 486d59dcfe updated NEWS 2015-06-27 14:38:37 +02:00
Christoph M. Becker 4e32ecb90a Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #64878: 304 responses return Content-Type header
2015-06-27 14:35:20 +02:00
Christoph M. Becker 0730fc8830 updated NEWS 2015-06-27 14:32:34 +02:00
Christoph M. Becker 1920ba6f7b Fix #64878: 304 responses return Content-Type header
According to RFC 7232 304 responses should not send a Content-Type header,
so the CLI server should comply.
2015-06-27 14:28:33 +02:00
Christopher Jones 692d283707 Merge some fixes from Senthil. Some test diffs still remain. 2015-06-27 10:01:55 +10:00
Christopher Jones 7a9764c5bb Fix table name in initialization DROP TABLE statement 2015-06-27 10:01:15 +10:00
Tjerk Meesters 3bf012a98d Feature: Enhanced array_column() to also work with object elements. 2015-06-27 07:35:44 +08:00
Christoph M. Becker 86df85f43a Merge branch 'PHP-5.6'
* PHP-5.6:
  added regression test for bug #69679
2015-06-27 01:10:41 +02:00
Christoph M. Becker 6400ef192c added regression test for bug #69679
DOMDocument::loadHTML refuses to accept NULL bytes.
2015-06-27 01:08:56 +02:00
Christoph M. Becker 95459a4d16 Merge branch 'PHP-5.6'
* PHP-5.6:
  slightly revised bug69462.phpt
  Test for bug #69462
2015-06-26 23:27:25 +02:00
Christoph M. Becker bdf3bb668f slightly revised bug69462.phpt 2015-06-26 23:20:22 +02:00
Tomasz Sawicki af17316fcd Test for bug #69462
Test scenario for already fixed bug #69462 with segmentation fault when
SoapVar XML node name was null.
2015-06-26 23:19:29 +02:00
Bob Weinand 25e1b49ea1 Fix warning in zend_execute.c by explicit cast 2015-06-26 20:39:56 +02:00
Bob Weinand 2894bc5bb8 Use ZEND_INIT_STATIC_METHOD_CALL for literals of form "classname::method" 2015-06-26 19:55:13 +02:00
Aaron Piotrowski 1d704a05ee Fix closure leak test 2015-06-26 16:30:01 +02:00
Aaron Piotrowski 8bd95b8cdc Fix test duplication, add more tests 2015-06-26 16:30:01 +02:00
Christoph M. Becker 36e2d26adb restricted test to English locale (fails otherwise) 2015-06-26 16:27:45 +02:00
Christoph M. Becker 3bd6bb6f50 fixed broken test (syntax error in SKIPIF section) 2015-06-26 15:57:28 +02:00
Kalle Sommer Nielsen 4b737793bc Add test for bug #69939 2015-06-26 15:35:16 +02:00
Kalle Sommer Nielsen 85bbfb191d Fixed bug #69939 (Casting object to bool returns false) 2015-06-26 15:30:03 +02:00
Kalle Sommer Nielsen 3b589d8ca5 Merge branch 'master' of https://git.php.net/push/php-src 2015-06-26 10:24:45 +02:00
Bob Weinand 1335ebd068 Fix Closure leak in aborted INIT_DYNAMIC_FCALL 2015-06-26 05:10:58 +02:00
Aaron Piotrowski bc0df38e88 Added more indirect call tests, remove invalid test 2015-06-25 19:46:28 -05:00
Aaron Piotrowski ba67fc2218 Fix 'Class::method' indirect call with empty method name 2015-06-25 19:37:52 -05:00
Edgar R. Sandi 098a4cc3eb moved function warning test to money_format_error.phpt file 2015-06-25 20:34:41 -03:00
Tjerk Meesters 03a670eaaa Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed #69882: OpenSSL error "key values mismatch" after openssl_pkcs12_read with extra certs
2015-06-26 06:03:29 +08:00
Tjerk Meesters 2ff3dafccf Fixed #69882: OpenSSL error "key values mismatch" after openssl_pkcs12_read with extra certs
Squashed commit of the following:

commit a64c1d9bc4c129fd946a478bdcb55101e42157b7
Author: Tomasz Sawicki <falundir@gmail.com>
Date:   Wed Jun 24 08:49:37 2015 +0200

    Fix #69882: OpenSSL error "key values mismatch" after openssl_pkcs12_read with extra certs

    The "key values mismatch" error is triggered in openssl_pkcs12_read by
    PKCS12_parse, because it uses X509_check_private_key to separate main
    certificate (which corresponds to private key) from extra certificates.
    Extra certificates usually comes first (p12 contents are reversed as
    stack) and X509_check_private_key triggers X509_R_KEY_VALUES_MISMATCH
    error.
    The fix pops "key values mismatch" error from OpenSSL error stack for
    each extra certificate if there are any.
2015-06-26 05:33:28 +08:00
Rasmus Lerdorf 7ceb47477d 3rd arg to stream_set_timeout is optional
ignore_user_abort() should take a bool not a string
2015-06-25 10:31:37 -07:00
Julien Pauli 20585beb76 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix unknown size of void error
2015-06-25 19:13:49 +02:00
Julien Pauli b1ec4515b0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix unknown size of void error
2015-06-25 19:13:20 +02:00
Anatol Belski 80f9a9725c fix unknown size of void error 2015-06-25 19:12:26 +02:00
Kalle Sommer Nielsen 7517d385ea Merge branch 'master' of https://git.php.net/push/php-src 2015-06-25 19:09:00 +02:00
Dmitry Stogov 2a2f42c25d Optimize out usless conditions used by specializer 2015-06-25 18:56:14 +03:00
Anatol Belski 04b26ba5c6 update the doc in regard to the latest discussions 2015-06-25 16:39:02 +02:00
Anatol Belski 0955f9513f Merge branch 'PHP-5.6'
* PHP-5.6:
  backport missing rev bfdc9e2805
2015-06-25 11:35:11 +02:00
Anatol Belski 7bb52dda6a backport missing rev bfdc9e2805 2015-06-25 11:34:04 +02:00
Dmitry Stogov f5fd58f737 Better check for __builtin_constant_p() availability 2015-06-25 12:02:28 +03:00
Dmitry Stogov 90976c9978 Moved test to correct place 2015-06-25 11:22:21 +03:00
Bob Weinand f42cdf83b0 Fix paths issue when fetching .phpdbginit under Windows 2015-06-25 00:36:01 +02:00
Ferenc Kovacs 190478e9da Merge remote-tracking branch 'origin/PHP-5.6'
* origin/PHP-5.6:
  5.6.12 next
2015-06-25 00:23:21 +02:00
Ferenc Kovacs 1efe5b1157 5.6.12 next 2015-06-25 00:21:45 +02:00
Hannes Magnusson 4a6503a524 Typo (thanks kaplan@) 2015-06-24 08:24:11 -07:00
Xinchen Hui 2a9e012aa5 Merge branch 'master' of git.php.net:php-src 2015-06-24 21:44:31 +08:00
Xinchen Hui fa61f921f9 Micro optimization 2015-06-24 21:42:54 +08:00
Bob Weinand ab90e55b9e Passing a zend_string * to %s is a bad idea 2015-06-24 15:29:26 +02:00
Julien Pauli 2424b349ad Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.28 now - Security Only
2015-06-24 10:45:42 +02:00
Julien Pauli ca82114f21 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.28 now - Security Only

Conflicts:
	configure.in
	main/php_version.h
2015-06-24 10:42:41 +02:00
Julien Pauli 8e440dc1d7 5.5.28 now - Security Only 2015-06-24 10:41:06 +02:00
Anatol Belski e821a13a4d fix NEWS 2015-06-24 10:21:54 +02:00
Rasmus Lerdorf 1201be392f 3rd arg to define() is optional 2015-06-23 23:53:23 -04:00
Rasmus Lerdorf 56b0d6f3a0 Wrong arginfo on assert
(not adding types, just fixing a missing arg)
2015-06-23 22:41:41 -04:00
Hannes Magnusson 517196b065 PHP7 sounds like a good time to include signatures in announce mails
We need these posted as many places as possible to make any sense.
2015-06-23 19:33:37 -07:00
Hannes Magnusson ce01d7361e space 2015-06-23 19:29:10 -07:00
Christoph M. Becker d90763d4c6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Made bug44295-win.phpt locale independent
2015-06-24 02:04:34 +02:00
Christoph M. Becker c201b63873 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Made bug44295-win.phpt locale independent
2015-06-24 01:42:22 +02:00
Christoph M. Becker cd068b1ed6 Made bug44295-win.phpt locale independent
Formerly it failed on non English installations.
2015-06-24 01:41:33 +02:00
Christoph M. Becker 27e557a169 Merge branch 'master' of https://git.php.net/repository/php-src
# By Rasmus Lerdorf (3) and others
# Via Rasmus Lerdorf
* 'master' of https://git.php.net/repository/php-src:
  Fix more proto comments
  prepare NEWS for next
  Fix more minor mistakes in the proto comments
  Avoid op_num = -1 in unfinished generator cleanup
  Fix incorrect protos
2015-06-24 01:15:44 +02:00
Christoph M. Becker 7464424776 updated NEWS 2015-06-24 00:54:20 +02:00
Christoph M. Becker 00adcbd3e9 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed bug #69768 (escapeshell*() doesn't cater to !)
  bump API version to 6.8
2015-06-24 00:47:18 +02:00
Christoph M. Becker e181931f77 updated NEWS 2015-06-24 00:42:24 +02:00
Christoph M. Becker 905c5f4858 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  updated NEWS
  Fixed bug #69768 (escapeshell*() doesn't cater to !)
  bump API version to 6.8
2015-06-24 00:32:13 +02:00
Christoph M. Becker b03f743e7d updated NEWS 2015-06-24 00:31:07 +02:00
Christoph M. Becker 8da8dc04b6 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  updated NEWS
  Fixed bug #69768 (escapeshell*() doesn't cater to !)
  bump API version to 6.8
2015-06-24 00:23:39 +02:00
Christoph M. Becker 921544cad9 updated NEWS 2015-06-24 00:20:32 +02:00
Christoph M. Becker a621781fdb Fixed bug #69768 (escapeshell*() doesn't cater to !)
When delayed variable substitution is enabled (can be set in the
Registry, for instance), !ENV! works similar to %ENV%, and so ! should
be escaped like %.
2015-06-24 00:15:55 +02:00
Rasmus Lerdorf 28d7bb97a1 Fix more proto comments 2015-06-23 17:46:20 -04:00
Anatol Belski 2d2bd2db97 prepare NEWS for next 2015-06-23 22:26:11 +02:00
Rasmus Lerdorf 41774bceff Fix more minor mistakes in the proto comments 2015-06-23 15:47:33 -04:00
Nikita Popov ea5c66ec93 Avoid op_num = -1 in unfinished generator cleanup
Also add two tests showing that the -1 substraction in the
computation of op_num is really necessary.
2015-06-23 20:17:30 +02:00
Rasmus Lerdorf f4d08d8e5c Fix incorrect protos 2015-06-23 14:15:24 -04:00
Christoph M. Becker e08d27d650 updated NEWS 2015-06-23 19:44:22 +02:00
Christoph M. Becker ca049e0ae9 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
2015-06-23 19:41:02 +02:00
Christoph M. Becker 13347225ac updated NEWS 2015-06-23 19:36:59 +02:00
Anatol Belski 9876b2c2cf sync NEWS 2015-06-23 19:33:33 +02:00
Anatol Belski 5ea2b70645 bump version 2015-06-23 19:32:58 +02:00
Christoph M. Becker e1561c490e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
2015-06-23 19:32:57 +02:00
Christoph M. Becker 1cbcbcbc21 updated NEWS 2015-06-23 19:32:18 +02:00
Christoph M. Becker 23e25f3319 Fixed Bug #53823 (preg_replace: * qualifier on unicode replace garbles the string)
When advancing after empty matches, php_pcre_match_impl() as well as
php_pcre_replace_impl() always have to advance to the next code point when the
u modifier is given, instead of to the next byte.
2015-06-23 19:28:09 +02:00
Anatol Belski 29711264a8 Merge branch 'master' into PHP-7.0.0
* master: (239 commits)
  Moved NEWS entry for bug #69864 to proper category
  Moved NEWS entry for bug #69864 to proper category
  Moved NEWS entry for bug #69864 to proper category
  updated NEWS
  updated NEWS
  Fixed two errors in LDAP tests
  Fixed two errors in LDAP tests
  Revert "Simplify php_implode(). Fill the resulting string in direct order." The patch slightly improved performance of string imploding, but reduced speed of integers imploding.
  Encapsulate FastCGI implementation details. Previously fcgi_request defined in main/fastcgi.h might be treated differently in different files, because of different behavior of #ifdef TCP_NODELAY. This leaded to stack memory corruption and unpredictable crashes.
  Fixed bug #69905 (null ptr deref and segfault in ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED_HANDLER)
  updated NEWS
  Fixed bug #69864 (Segfault in preg_replace_callback)
  Simplify php_implode(). Fill the resulting string in direct order.
  bump API version to 6.8
  bump API version to 6.8
  bump API version to 6.8
  Drop duplicate object-to-type notices
  Added comments
  Drop superfluous __toString handling code
  This macro is defined in zend_virtual_cwd.h, avoid redef
  ...
2015-06-23 18:49:42 +02:00
Christoph M. Becker 95b6575a59 Moved NEWS entry for bug #69864 to proper category 2015-06-23 17:34:33 +02:00
Christoph M. Becker b29d822e08 Merge branch 'PHP-5.6'
* PHP-5.6:
  Moved NEWS entry for bug #69864 to proper category
  Moved NEWS entry for bug #69864 to proper category
2015-06-23 17:32:47 +02:00
Christoph M. Becker 868b9328a0 Moved NEWS entry for bug #69864 to proper category 2015-06-23 17:30:31 +02:00
Christoph M. Becker b883fe1547 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Moved NEWS entry for bug #69864 to proper category
2015-06-23 17:28:22 +02:00
Christoph M. Becker eef6b10b7c Moved NEWS entry for bug #69864 to proper category 2015-06-23 17:27:21 +02:00
Christoph M. Becker 6f0afee301 updated NEWS 2015-06-23 16:52:14 +02:00
Christoph M. Becker ec8731c46b Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69864 (Segfault in preg_replace_callback)
2015-06-23 16:50:52 +02:00
Côme Bernigaud 5250fc772d Removed deprecated function calls from ldap module
ldap_search -> ldap search_ext
ldap_search_s ->_ldap_search_ext_s
ldap_add_s -> ldap_add_ext_s
ldap_delete_s -> ldap_delete_ext_s
ldap_compare_s -> ldap_compare_ext_s
ldap_value_free -> ldap_memvfree

Only thing left is ldap_sort_entries, no replacement
2015-06-23 16:44:48 +02:00
Christoph M. Becker 7953ff4ea3 updated NEWS 2015-06-23 16:43:12 +02:00
Christoph M. Becker bc47f10a97 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed bug #69864 (Segfault in preg_replace_callback)
2015-06-23 16:36:35 +02:00
Christoph M. Becker b559cc98ba Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed two errors in LDAP tests
  bump API version to 6.8
  bump API version to 6.8
2015-06-23 16:24:06 +02:00
Christoph M. Becker 3e1aabbfc3 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  bump API version to 6.8
2015-06-23 16:22:08 +02:00
Côme Bernigaud d29cc63bb6 Fixed two errors in LDAP tests 2015-06-23 16:11:12 +02:00
Côme Bernigaud 9bcdd2aabe Fixed two errors in LDAP tests 2015-06-23 16:09:56 +02:00
Côme Bernigaud ea49be9b37 Removed ifdefs of LDAP_API_FEATURE_X_OPENLDAP, fixed a warning 2015-06-23 15:50:14 +02:00
Dmitry Stogov 6bf3ecf69a Revert "Simplify php_implode(). Fill the resulting string in direct order."
The patch slightly improved performance of string imploding, but reduced speed of integers imploding.

This reverts commit 36d39b7044.
2015-06-23 16:46:41 +03:00
Dmitry Stogov f0d2a0e542 Encapsulate FastCGI implementation details.
Previously fcgi_request defined in main/fastcgi.h might be treated differently in different files, because of different behavior of #ifdef TCP_NODELAY. This leaded to stack memory corruption and unpredictable crashes.
2015-06-23 16:27:21 +03:00
Dmitry Stogov 7a01c44ab2 Fixed bug #69905 (null ptr deref and segfault in ZEND_FETCH_DIM_RW_SPEC_VAR_UNUSED_HANDLER) 2015-06-23 16:26:40 +03:00
Kalle Sommer Nielsen 6129a56c02 Merge branch 'master' of https://git.php.net/push/php-src 2015-06-23 13:39:12 +02:00
Christoph M. Becker 75b2ce28aa updated NEWS 2015-06-23 13:02:08 +02:00
Christoph M. Becker a39beaa251 Fixed bug #69864 (Segfault in preg_replace_callback)
When preg_replace_callback() is used, cache entries which are in use must not
be removed. We ensure that by deploying a simple refcounting mechanism.
2015-06-23 13:00:17 +02:00
Dmitry Stogov 36d39b7044 Simplify php_implode(). Fill the resulting string in direct order. 2015-06-23 12:57:36 +03:00
Kalle Sommer Nielsen 77eb51bffd Merge branch 'master' of https://git.php.net/push/php-src 2015-06-23 11:19:31 +02:00
George Wang 9e15ce9a38 Merge branch 'PHP-5.6' of git.php.net:php-src into PHP-5.6 2015-06-22 23:40:34 -04:00
George Wang b0954ebb79 Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5 2015-06-22 23:39:53 -04:00
George Wang 3a169f6c0d bump API version to 6.8 2015-06-22 23:39:35 -04:00
George Wang 8877feaeec bump API version to 6.8 2015-06-22 23:39:23 -04:00
George Wang fdb580a5ad bump API version to 6.8 2015-06-22 23:38:38 -04:00
George Wang 2423b0bded bump API version to 6.8 2015-06-22 23:35:21 -04:00
Nikita Popov 8a83aed458 Drop duplicate object-to-type notices
We already generate a recoverable fatal for these earlier, no need
to throw an additional notice.
2015-06-22 16:25:32 +02:00
Dmitry Stogov d4cd659b5a Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Drop superfluous __toString handling code
2015-06-22 17:07:25 +03:00
Dmitry Stogov 567aa1783e Added comments 2015-06-22 16:39:07 +03:00
Nikita Popov 628d439402 Drop superfluous __toString handling code
This is already covered by the cast_object invokation above it. We
do not use this kind of fallback in any other casting code anymore.
2015-06-22 15:33:41 +02:00
Kalle Sommer Nielsen 41404bfafd Also silence copy here 2015-06-22 15:26:21 +02:00
Kalle Sommer Nielsen 4807b164fd This macro is defined in zend_virtual_cwd.h, avoid redef 2015-06-22 14:02:04 +02:00
Kalle Sommer Nielsen 093546308e Silence the "1 file(s) copied" notice (from copying the manifest file) 2015-06-22 13:56:35 +02:00
Kalle Sommer Nielsen f40b41d0c8 Merge branch 'master' of https://git.php.net/push/php-src 2015-06-22 13:39:17 +02:00
Kalle Sommer Nielsen 055755a4ae Fix typo + DSP reference 2015-06-22 13:30:12 +02:00
Kalle Sommer Nielsen db22946b25 Remove these old references to the DSP files we don't use anymore 2015-06-22 13:29:42 +02:00
Bob Weinand 70e86b8766 Also try __has_builtin() where builtins are used 2015-06-22 13:24:39 +02:00
Bob Weinand 29aad0ef45 Add phpdbg userland API to fetch oplog
We may want to add some opcode info later, so that "opcodes" mode is more helpful
2015-06-22 12:58:33 +02:00
Dmitry Stogov 44d545b8e1 Avoid overhead in RELEASE build. 2015-06-22 13:08:33 +03:00
Dmitry Stogov b97df475df Fixed crash in Zend/tests/bug69891.phpt on x86 (32-bit).
compare_function() now has to be compatible with binary_op_type (use fastcall convention).
Introduced new zval_compare_function() to be used as zval comparison callback instead of compare_function().
2015-06-22 12:53:52 +03:00
Kalle Sommer Nielsen 0da4c34f0e Fixed bug #69897 (segfault when manually constructing SQLite3Result) 2015-06-22 11:12:23 +02:00
Dmitry Stogov ed418312a5 Revert "Fix arginfo for built-in engine functions"
This reverts commit d2356541d0.
2015-06-22 11:44:57 +03:00
Dmitry Stogov 3db071dba2 Revert "Fix set_error_handler() arginfo"
This reverts commit b5240280b0.
2015-06-22 11:44:49 +03:00
Dmitry Stogov 82b92cfa2e Revert "And actually use this new arginfo data"
This reverts commit 932c95fb31.
2015-06-22 11:44:39 +03:00
Dmitry Stogov 539593ce15 Revert "Fix each() arginfo"
This reverts commit 19fd124bcf.
2015-06-22 11:44:29 +03:00
Dmitry Stogov 9a68fe51d7 Revert "Fix genarginfo to respect by-ref passing"
This reverts commit db6990a91b.
2015-06-22 11:44:13 +03:00
Dmitry Stogov 13d5893c2a Revert "Several return type fixes, still not completed... Incomplete prototypes :-/"
This reverts commit 851b95fc49.
2015-06-22 11:44:01 +03:00
Bob Weinand 851b95fc49 Several return type fixes, still not completed... Incomplete prototypes :-/ 2015-06-22 10:36:42 +02:00
Bob Weinand db6990a91b Fix genarginfo to respect by-ref passing 2015-06-22 10:17:35 +02:00
Bob Weinand 19fd124bcf Fix each() arginfo 2015-06-22 10:03:14 +02:00
Rasmus Lerdorf 932c95fb31 And actually use this new arginfo data 2015-06-22 00:12:48 -04:00
Rasmus Lerdorf b5240280b0 Fix set_error_handler() arginfo 2015-06-21 23:48:00 -04:00
Rasmus Lerdorf d2356541d0 Fix arginfo for built-in engine functions 2015-06-21 21:50:09 -04:00
Bob Weinand 5314f13fc6 Fix accidental function related flag value reuse 2015-06-22 01:36:17 +02:00
Bob Weinand 3c288b12b4 Fix bad run_time_cache with Closure::call()
This also fixes a memory "leak" (memory is allocated on unbounded arena without limits) on each new Closure instantiation.
Closures with same scope now all share the same run_time_cache (as long as it is arena allocated)
2015-06-21 16:39:44 +02:00
Jakub Zelenka f3df3df873 Fix bug #68546 (json_decode cannot access property started with \0) 2015-06-21 15:30:33 +01:00
Bob Weinand 115e9288bb Fix segfault with scalar passed to typehint with not loaded class 2015-06-21 01:35:22 +02:00
Nikita Popov f58ebb3609 Load/restore VM stack before unfinished generator cleanup 2015-06-20 19:09:25 +02:00
Bob Weinand ffe0f470d6 Fix bad test (oops) 2015-06-20 18:59:47 +02:00
Nikita Popov 6a4877ee17 Add test for previous commit 2015-06-20 18:38:59 +02:00
Nikita Popov ddf41d3aeb Fix generator memory leak
Make sure HANDLE_EXCEPTION and generator unwinds stay in sync in
the future by extracting a common function.
2015-06-20 18:37:28 +02:00
Bob Weinand 7adc0ae631 Fix potential writes into wrong memory, ensure vm_stack integrity
Fixes also a segfault on stack frames > 1 << 18 bytes
Stack frames, when reallocated, need to be marked as top frame of current stack page
2015-06-20 18:29:09 +02:00
Nikita Popov 23e1e1295f Clean up zend_hash_compare implementation
Split off zend_hash_compare_impl into separate function that does
not bother with recursion protection. We had two cases where
UNPROTECT_RECURSION was missing.
2015-06-20 17:35:16 +02:00
Nikita Popov e8217a2727 Fix bug #69891 2015-06-20 17:23:58 +02:00
Nikita Popov 5bf7a3aac7 Fixed bug #69893 2015-06-20 17:14:48 +02:00
Nikita Popov 9589d26ef3 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_hash.c
2015-06-20 16:50:37 +02:00
Nikita Popov e09d3155a1 Merge branch 'PHP-5.5' into PHP-5.6 2015-06-20 16:40:53 +02:00
Nikita Popov 5fe078abba Fixed bug #69892 2015-06-20 16:40:14 +02:00
Kalle Sommer Nielsen cc8f2b1bd9 Add missing NEWS entries 2015-06-20 15:24:51 +02:00
Nikita Popov 9fa70dbd29 Fixed bug #69889
There is one case that requires further discussion:

$foo = "test";
var_dump($foo[0.0] ?? "default");
var_dump(isset($foo[0.0]) ? $foo[0.0] : "default");

Here the former will currently return "t", while the latter also
returns "t" and additionally throws a notice.

I think we need to revisit the behavior of invalid types for string
offset access in PHP 7, as currently there is some mismatch between
what isset() does and what the access itself supports.
2015-06-20 15:09:58 +02:00
Nikita Popov 257054e81d Fix bug #62922
Off by one error...
2015-06-20 14:39:55 +02:00
Nikita Popov c7f4c5a2fe Avoid unnecessary separations in VERIFY_RETURN_TYPE 2015-06-20 14:12:59 +02:00
Nikita Popov a684e6adb2 Drop unnecessary %prec
Leftover from a previous implementation
2015-06-20 13:10:51 +02:00
Anatol Belski f801eb9d6b updated NEWS 2015-06-20 09:35:03 +02:00
Anatol Belski 658d698a1c add test for bug #69838 2015-06-20 09:35:02 +02:00
Anatol Belski f88aad418e Fix bug #69838 OPCACHE Warning Internal error: wrong size calculation
This chunk is pre calculated with aligned size, so should it use it
at run time.
2015-06-20 09:35:01 +02:00
Xinchen Hui f75308eda1 Micro optimization 2015-06-20 10:52:58 +08:00
Xinchen Hui dc72b70b7e Remove unused var 2015-06-20 10:37:53 +08:00
Xinchen Hui 89fda08473 This test should be kept 2015-06-19 23:13:23 +08:00
Xinchen Hui 307c734bed Better way to fix (Fix bug #69871 (short-circuiting failure with smart_branch)) 2015-06-19 23:05:35 +08:00
Xinchen Hui 235c7edb8b Revert "Fix bug #69871 (short-circuiting failure with smart_branch)"
This reverts commit fae6bedea5.
2015-06-19 23:03:23 +08:00
Xinchen Hui a7635e82f6 Improve strtr (Fixed a bug which the lenth check doesn't work at all) 2015-06-19 22:59:31 +08:00
Kalle Sommer Nielsen cff872eaad Remove the references to imageps*() after the T1Lib removal (Noticed by Ferenc) 2015-06-19 14:55:10 +02:00
Xinchen Hui 05c24d5dfa Fixed Bug #69883 (Compilation failed on PCRE) 2015-06-19 20:33:14 +08:00
Anatol Belski 1e65b65dd6 more precise way to destroy iterator object
which also fixes the iterator_to_array test
2015-06-19 14:23:32 +02:00
Anatol Belski d81480693c updated NEWS 2015-06-19 12:48:14 +02:00
Anatol Belski 9649cec2a3 added test for bug #69846 2015-06-19 12:46:19 +02:00
Dominic 9c07ae6341 Cleaned white spaces in PHP_INI definition of phar
Removes unnecessary white spaces.
2015-06-19 12:31:03 +02:00
Anatol Belski d079a1c9ea better approach to fix bug #69846
don't destroy the current iterator object too early
2015-06-19 11:22:12 +02:00
Yasuo Ohgaki d263ecd864 Move strlen() check to php_mail_detect_multiple_crlf() 2015-06-19 15:17:56 +09:00
Yasuo Ohgaki dacea3f6fb Fixed Bug #69874 : Can't set empty additional_headers for mail() 2015-06-19 12:19:12 +09:00
Xinchen Hui bb4454b513 Merge branch 'master' of git.php.net:php-src 2015-06-19 09:57:48 +08:00
Xinchen Hui 327e3b338c Micro optimizations for pcre 2015-06-19 09:56:42 +08:00
Bob Weinand e58a1abb00 Fix memory leak (double copy) in SplPriorityQueue 2015-06-19 03:42:59 +02:00
Xinchen Hui 29087f00f6 Merge branch 'PHP-5.6' 2015-06-19 09:36:27 +08:00
Xinchen Hui bca005c8d9 Merge branch 'PHP-5.5' into PHP-5.6 2015-06-19 09:35:52 +08:00
Xinchen Hui 6a8db93115 Merge branch 'patch-3' of https://github.com/s0ph1e/php-src into PHP-5.5 2015-06-19 09:35:28 +08:00
Anatol Belski cdde1be056 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  updated NEWS
  fixes bug #69835: phpinfo() does not report many Windows SKUs
2015-06-18 22:05:07 +02:00
Anatol Belski 076a64524f update NEWS 2015-06-18 22:04:55 +02:00
Anatol Belski 962fe01473 update NEWS 2015-06-18 22:04:03 +02:00
Anatol Belski 657f93e7b9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  fixes bug #69835: phpinfo() does not report many Windows SKUs
2015-06-18 22:03:28 +02:00
Anatol Belski c0119ca7f3 updated NEWS 2015-06-18 22:02:37 +02:00
Christian Wenz a85156db7d fixes bug #69835: phpinfo() does not report many Windows SKUs 2015-06-18 22:01:20 +02:00
Anatol Belski 918de41ec2 partial fix to bug #69846 2015-06-18 20:17:04 +02:00
Sophia Nepochataya 1edb2e9a10 Remove excess variable in mail.c (5.5 branch) 2015-06-18 20:06:08 +03:00
Kalle Sommer Nielsen d9d1948396 Minor updates to EXTENSIONS for removed SAPIS etc that I remembered off my head, also add Côme as a maintainer for ldap as per request[1].
[1] http://news.php.net/php.internals/86747
2015-06-18 17:22:22 +02:00
Ferenc Kovacs ff3ee75d91 add a freshly built pear/install-pear-nozlib.phar. created from the current stable branch of pear-core and using the trunk from PHP_Archive where the ereg_ calls are removed already 2015-06-18 16:46:22 +02:00
Lior Kaplan 7a02d138a6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69689 (Align PCRE_MINOR with current version)
2015-06-18 17:36:46 +03:00
Lior Kaplan 3930e1f2fa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69689 (Align PCRE_MINOR with current version)
2015-06-18 17:35:54 +03:00
Lior Kaplan ca33ae3eb2 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #69689 (Align PCRE_MINOR with current version)
2015-06-18 17:34:53 +03:00
Xinchen Hui d54e6f015b Merge branch 'master' of git.php.net:php-src 2015-06-18 22:30:35 +08:00
Lior Kaplan cc7194dd10 Fixed bug #69689 (Align PCRE_MINOR with current version) 2015-06-18 17:30:21 +03:00
Xinchen Hui 20f3416682 Fixed bug #69872 (uninitialised value in strtr with array) 2015-06-18 22:28:29 +08:00
Bob Weinand fae6bedea5 Fix bug #69871 (short-circuiting failure with smart_branch) 2015-06-18 15:59:00 +02:00
Lior Kaplan 846d0e6fd9 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add CVE to bugs #69545, #69646 and #69667
2015-06-18 16:57:04 +03:00
Lior Kaplan 811816dc25 Add CVE to bugs #69545, #69646 and #69667 2015-06-18 16:56:06 +03:00
Lior Kaplan 0f49c205f4 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add CVE to bugs #69545, #69646 and #69667
2015-06-18 16:52:51 +03:00
Lior Kaplan 991b2cc37b Add CVE to bugs #69545, #69646 and #69667 2015-06-18 16:51:20 +03:00
Lior Kaplan 189af22cf0 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Add CVE to bugs #69545, #69646 and #69667
2015-06-18 15:50:11 +03:00
Lior Kaplan 5f67caad54 Add CVE to bugs #69545, #69646 and #69667 2015-06-18 15:45:10 +03:00
Xinchen Hui 7cde797ecb Update NEWS 2015-06-18 19:59:15 +08:00
Xinchen Hui 509d75527a Fixed Conditional jump or move depends on uninitialised value(s)
reproduced by Bug #69868's test script
2015-06-18 19:56:50 +08:00
Xinchen Hui c58c5e779a Fixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting) 2015-06-18 19:53:26 +08:00
Xinchen Hui eca7f28796 Fixed typo 2015-06-18 13:22:39 +08:00
Xinchen Hui d8c9b1f7ad Seems UPGRADING is not merged... 2015-06-18 13:12:01 +08:00
Aaron Piotrowski 4fb362704c Add tests with invalid Error construction params 2015-06-17 19:49:02 -05:00
Aaron Piotrowski 8813b389ea Fix bug when constructing an Error with invalid params 2015-06-17 19:48:17 -05:00
Anatol Belski f97dbb058f cleanup unused var 2015-06-18 00:53:23 +02:00
Anatol Belski e665b27623 fix c/p test title 2015-06-18 00:33:16 +02:00
Anatol Belski 577c1f3e95 preserve the orig class name when extending the ErrorException 2015-06-18 00:30:16 +02:00
Anatol Belski 9076eb26c7 dont use function to fetch default exception ce 2015-06-18 00:21:38 +02:00
Anatol Belski 8486505651 more tests 2015-06-18 00:15:34 +02:00
Anatol Belski 57940664a8 fix crash when invalid exception arguments passed 2015-06-18 00:14:57 +02:00
Anatol Belski bfdc9e2805 fix unknown size of void error 2015-06-17 23:43:13 +02:00
Sara Golemon 51a259f378 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix buffer growth in sockets/conversion.c
  Implements extended error messages
2015-06-17 13:34:42 -07:00
Sara Golemon c4dd65c723 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix buffer growth in sockets/conversion.c
2015-06-17 13:34:33 -07:00
Sara Golemon d241711f44 Fix buffer growth in sockets/conversion.c
memset() the *end* of the new buffer, not the beginning
Copy the pointer to the buffer, not its initial contents

Fixes bug 69619
2015-06-17 13:34:20 -07:00
Christoph M. Becker 653c869348 Fix #61362: Exception::getTraceAsString and ::__toString scramble Unicode
The logic in smart_str_append_escaped() relies on unsigned values of c, so we
have to declare it as such.
2015-06-17 22:31:07 +02:00
Anatol Belski 269acaa363 Merge branch 'pull-request/1284'
* pull-request/1284:
  Rename interface macros
  Fix typo in UPGRADING
  Move definition of Throwable to zend_exceptions.h/c
  Check for zend_ce_throwable instead
  Fix some missed tests
  Add Throwable tests
  Fix previous exception type check
  Updated UPGRADING with RFC link
  Changed AssertionException to AssertionError
  Update exception error messages
  Throwable method signatures.
  Update exception names in tests after formatting changes.
  Merge exception formatting changes.
  Make zend_get_exception_base static.
  Fix a few missed tests.
  Fix handler double copy.
  Updated tests to reflect exception class changes.
  Remodel exceptions based on Throwable interface
2015-06-17 21:55:03 +02:00
Aaron Piotrowski c5eb924e9e Rename interface macros
Renamed REGISTER_INTERFACE (formerly
REGISTER_ITERATOR_INTERFACE) to
REGISTER_MAGIC_INTERFACE and renamed
REGISTER_ITERATOR_IMPLEMENT to
REGISTER_MAGIC_IMPLEMENT. Both have now been
moved to zend_interfaces.h.
2015-06-17 13:54:09 -05:00
Aaron Piotrowski 47fda68b03 Fix typo in UPGRADING 2015-06-17 13:28:27 -05:00
Andreas Heigl eb702637a9 Implements extended error messages
This commit introduces a new constant that can be used to retrieve more
detailed error messages.

This fixes #47222

The new constant LDAP_OPT_DIAGNOSTIC_MESSAGE is defined in PHP when the
underlying library provides (and understands) it. This is the case in
the current OpenLDAP-implementation.

Tanks to Johnny Willer who provided the solution at http://stackoverflow.com/questions/28765077/get-number-of-ad-errors-with-ldap-and-php-ldap-function-return-unprecise-error/28816473#28816473
2015-06-17 15:39:07 +02:00
Xinchen Hui 7db113fad1 Merge branch 'master' of git.php.net:php-src 2015-06-17 21:17:04 +08:00
Xinchen Hui cdb9de1076 Merge branch 'gitignore' of https://github.com/flaupretre/php-src 2015-06-17 21:14:44 +08:00
Côme Bernigaud 78fe52475f Merge branch 'PHP-5.6'
* PHP-5.6:
  Replaced calls to deprecated openldap functions
  Fixed LDAP tests so that base can exists

Conflicts:
	ext/ldap/ldap.c
2015-06-17 15:08:47 +02:00
Côme Bernigaud e7af0fe1eb Replaced calls to deprecated openldap functions
ldap_unbind_s   -> ldap_unbind_ext
389             -> LDAP_PORT
ldap_init       -> ldap_initialize
ldap_bind_s     -> ldap_sasl_bind_s
ldap_value_free -> ber_memvfree
Also added ldap_is_ldap_url check
2015-06-17 14:36:38 +02:00
Côme Bernigaud a5629f8845 Fixed LDAP tests so that base can exists
Now you can set the base in the env var LDAP_TEST_BASE.
The base has to exists. (before tests were attempting to create/delete
the base itself)
2015-06-17 13:55:13 +02:00
Côme Bernigaud 8836404faf Fixed LDAP tests so that base can exists
Now you can set the base in the env var LDAP_TEST_BASE.
The base has to exists. (before tests were attempting to create/delete
the base itself)
2015-06-17 13:50:14 +02:00
Christoph M. Becker c9554b90e4 added regression test for bug #69840 2015-06-17 13:40:19 +02:00
Francois Laupretre 0683255dad Add missing path to .gitignore 2015-06-17 12:45:41 +02:00
Dmitry Stogov 4a6e1345e2 Use COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and other classes without predefined properties). 2015-06-17 12:50:16 +03:00
Xinchen Hui e011e6fdf4 Add a comment 2015-06-17 17:33:55 +08:00
Dmitry Stogov a524a375d9 Improved class type hints checks, by caching resolved class entries in run-time cache. 2015-06-17 12:07:43 +03:00
Dmitry Stogov 8c8ad8f40e Use better hash functions (reuse key and avoid hash value recalculation) 2015-06-17 12:06:33 +03:00
Dmitry Stogov a0b3fd7803 Improved variable name validation 2015-06-17 12:05:58 +03:00
Kalle Sommer Nielsen ff9e290438 Fixed bug #69840 (iconv_substr() doesn't work with UTF-16BE) 2015-06-17 09:39:45 +02:00
Christoph M. Becker 3697f02212 updated NEWS 2015-06-17 02:27:05 +02:00
Christoph M. Becker 455c7c8e26 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  Fixed bug #61221 - imagegammacorrect function loses alpha channel
2015-06-17 02:25:46 +02:00
Christoph M. Becker e4917bc747 updated NEWS 2015-06-17 02:20:14 +02:00
Christoph M. Becker 7958a7b38f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed bug #61221 - imagegammacorrect function loses alpha channel
2015-06-17 02:18:53 +02:00
Christoph M. Becker 61d58f2d9e updated NEWS 2015-06-17 02:17:40 +02:00
Christoph M. Becker 7469c7e7d0 Fixed bug #61221 - imagegammacorrect function loses alpha channel
When applying imagegammacorrect() the alpha channel is now fully retained, instead of being completely lost.
2015-06-17 02:15:59 +02:00
Bob Weinand 28756e99be Fix issue with zend_execute_ex replaced by execute_ex upon icall 2015-06-16 23:37:39 +02:00
Bob Weinand 8c4807fe7a Fix infinite loop when running phpdbg via -r(r) 2015-06-16 23:37:39 +02:00
Nikita Popov fb346c8f93 Support references in convert_to_*
conver_to_* functions now accept REFERENCE values, which will be
unwrapped before performing the usual conversion. This is consistent
with convert_scalar_to_number and matches the expected behavior in
a couple random use-sites I checked.

Also includes a couple fixes/cleanups elsewhere and two tests for
cases that previously didn't work (though the reference issue existed
all over the place).
2015-06-16 19:55:33 +02:00
Nikita Popov 4448843b7c Move check for CT div by zero into common function 2015-06-16 18:09:59 +02:00
Nikita Popov 183c00ddb6 Fix references handling in convert_scalar_to_number 2015-06-16 18:02:45 +02:00
Nikita Popov 44b7489fef Drop now superflous check for VIA_TRAMPOLINE
This is not handled by USE_ARG_INFO.
2015-06-16 17:51:18 +02:00
Bob Weinand 52e9a772a3 Fully fixing all the affected const expr cases (see bug #69832) 2015-06-16 16:53:30 +02:00
Dmitry Stogov 3e57e50fb0 Removed useless #ifdef 2015-06-16 17:17:49 +03:00
Kalle Sommer Nielsen 4445268281 Fixed bug #69849 (Broken output of apache_request_headers) 2015-06-16 16:11:21 +02:00
Kalle Sommer Nielsen ab4aae5fd7 Use zend_parse_parameters_none() here 2015-06-16 15:15:27 +02:00
Dmitry Stogov 48ed660cdf Make CALL VM with FP and IP in global registers not to return anything from opcode handlers.
Set OPLINE to NULL to terminate VM loop instead.
This saves 1 CPU instruction for each opcode handler.
2015-06-16 14:11:16 +03:00
Dmitry Stogov 3180b8e100 Fixed bug #69802 (Reflection on Closure::__invoke borks type hint class name) (onr more problem) 2015-06-16 13:29:17 +03:00
Dmitry Stogov ed84bff445 Complete fix for problems related to bug #69802 2015-06-16 11:24:35 +03:00
Dmitry Stogov 6ae375db31 Fixed bug #69845 (ArrayObject with ARRAY_AS_PROPS broken) 2015-06-16 10:53:53 +03:00
Xinchen Hui dc329cd5dc Make the tail slash algined 2015-06-16 11:33:44 +08:00
Dreamsxin 73031d92ce Fix invalid conversion about emalloc 2015-06-16 11:12:37 +08:00
Aaron Piotrowski 47d838a7ca Move definition of Throwable to zend_exceptions.h/c
Also moved REGISTER_ITERATOR_INTERFACE macro to
zend_interfaces.h and renamed it to REGISTER_INTERFACE.
2015-06-15 18:07:27 -05:00
Aaron Piotrowski 0265cf5aeb Check for zend_ce_throwable instead 2015-06-15 17:35:24 -05:00
Andrew Smith 60e658be81 Remove incorrect use of 'irregardless'
Correct word should be simply regardless
2015-06-16 00:31:37 +02:00
Bob Weinand 9db81340ba Fix bug #69832 (Assertion failure) 2015-06-15 17:43:09 +02:00
Xinchen Hui 556423fcd0 Add an entry for dc37d3e8c2 2015-06-15 23:19:32 +08:00
Xinchen Hui 20597ecfb7 Fixed print_ht 2015-06-15 22:31:01 +08:00
Aaron Piotrowski 77cf6d81b4 Fix some missed tests 2015-06-15 08:20:30 -05:00
Dmitry Stogov 33e71d5c20 Fixed bug #69802 (Reflection on Closure::__invoke borks type hint class name) 2015-06-15 15:44:44 +03:00
Dmitry Stogov 562bffe60e Few more lines about opcache file cache. 2015-06-15 14:44:21 +03:00
Dmitry Stogov ae88a243e4 Rmoved opcache.load_comments. 2015-06-15 14:01:26 +03:00
Dmitry Stogov ea14c20ffb Added notes about opcahce.file_cache. 2015-06-15 13:39:45 +03:00
Bob Weinand 6e3e1e31e9 Add phpdbg to allowed cli-SAPIs in opcache 2015-06-15 12:31:46 +02:00
Dmitry Stogov 0a21a0c752 Removed opcache.load_comments configuration directive. Now doc comments loading costs nothing and always enabled. 2015-06-15 13:18:52 +03:00
Derick Rethans 7eae1cc2ce - Updated to version 2015.5 (2015e) 2015-06-15 10:41:32 +01:00
Derick Rethans 8167a4b460 Empty merge 2015-06-15 10:41:31 +01:00
Derick Rethans c661e7680f - Updated to version 2015.5 (2015e) 2015-06-15 10:41:30 +01:00
Derick Rethans 76c3117af5 Empty merge 2015-06-15 10:41:30 +01:00
Derick Rethans 558342124e - Updated to version 2015.5 (2015e) 2015-06-15 10:41:29 +01:00
Derick Rethans 37e3d92d64 - Updated to version 2015.5 (2015e) 2015-06-15 10:28:26 +01:00
Derick Rethans f8a8a2b70a Empty merge 2015-06-15 10:28:25 +01:00
Derick Rethans 22a43410cb - Updated to version 2015.5 (2015e) 2015-06-15 10:28:23 +01:00
Derick Rethans dab34e2433 Empty merge 2015-06-15 10:28:23 +01:00
Derick Rethans 9026a66579 - Updated to version 2015.5 (2015e) 2015-06-15 10:28:22 +01:00
Derick Rethans 40e1ef15be - Updated to version .-96 () 2015-06-15 10:17:27 +01:00
Derick Rethans a33d9d579e Empty merge 2015-06-15 10:17:26 +01:00
Derick Rethans 4903f1d139 - Updated to version .-96 () 2015-06-15 10:17:24 +01:00
Derick Rethans 3f93e4485e Empty merge 2015-06-15 10:17:24 +01:00
Derick Rethans 1d6f4891bd - Updated to version .-96 () 2015-06-15 10:17:23 +01:00
Aaron Piotrowski 103bf7eda0 Add Throwable tests 2015-06-15 01:47:34 -05:00
Aaron Piotrowski 8e7e4fb608 Fix previous exception type check 2015-06-15 01:36:49 -05:00
Xinchen Hui 8a324dae81 Merge branch 'master' of git.php.net:php-src 2015-06-15 13:37:14 +08:00
Xinchen Hui 55b7aa75aa Merge branch 'oci8-php7' of https://github.com/camporter/php-src 2015-06-15 13:35:26 +08:00
Aaron Piotrowski 5ed1b8443d Updated UPGRADING with RFC link 2015-06-15 00:00:19 -05:00
Aaron Piotrowski 482985ca38 Changed AssertionException to AssertionError 2015-06-14 23:52:39 -05:00
Aaron Piotrowski 4d590ac35a Update exception error messages 2015-06-14 22:43:11 -05:00
Aaron Piotrowski 110e0a5a2c Merge branch 'master' into throwable-interface
# Conflicts:
#	Zend/zend_language_scanner.c
#	Zend/zend_language_scanner.l
#	ext/simplexml/tests/SimpleXMLElement_xpath.phpt
2015-06-14 18:53:11 -05:00
vlakoff 6cb7b48846 Fix typo in PHP 7 upgrade notes 2015-06-14 18:35:16 +02:00
Bob Weinand 37c91b8d03 Fix off by one in short_circuiting optimization 2015-06-14 17:47:35 +02:00
Xinchen Hui b7e477a8f9 Fixed bug #69831 (Segmentation fault in curl_getinfo) 2015-06-14 23:10:21 +08:00
Xinchen Hui f1ae57f155 Simplify the condition 2015-06-14 22:56:06 +08:00
Bob Weinand 7221bd682f Revert "Revert "Expand optimizations regarding short-circuting a bit""
This reverts commit 3770a5ac66.
Fixes the bug which probably made make install fail on travis
(It never happened to me that all tests passed, but make install failed...)
2015-06-14 15:46:11 +02:00
Anatol Belski a0556ea64a update UPGRADING 2015-06-14 13:45:40 +02:00
Anatol Belski 241bba9dd9 update UPGRADING 2015-06-14 12:54:19 +02:00
Xinchen Hui 3770a5ac66 Revert "Expand optimizations regarding short-circuting a bit"
This break the CI  (build error)

This reverts commit 3cfa58367b.
2015-06-14 14:27:48 +08:00
Xinchen Hui c196e86520 Fixed skipf 2015-06-14 13:44:39 +08:00
Xinchen Hui dc37d3e8c2 Fixed Bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33 extensions are loaded) 2015-06-14 12:28:40 +08:00
Bob Weinand 3cfa58367b Expand optimizations regarding short-circuting a bit 2015-06-14 06:01:01 +02:00
Bob Weinand b97944c6d1 Add ZEND_ASSERT_CHECK to phpdbg opcode jump list 2015-06-14 04:45:56 +02:00
Bob Weinand f263932f38 Fix short-circuting (bug #69825) 2015-06-14 02:00:55 +02:00
Anatol Belski 6084844fb5 Fix bug #69814 Enabling php_curl, php_mysqli, and php_openssl causes php-cgi to crash 2015-06-13 18:45:27 +02:00
Christoph M. Becker 336cfac7f3 ext/mysql has been removed as of PHP 7.0.0
So remove all related settings from php.ini-*, and add a respective entry in
UPGRADING (strangly, this part of fd1578c has been lost).
2015-06-13 16:44:52 +02:00
Matteo Beccati 1f9df49139 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix copy/paste error in test
2015-06-13 08:08:30 +02:00
Matteo Beccati b564aa95be Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix copy/paste error in test
2015-06-13 08:08:21 +02:00
Matteo Beccati 9e4d720825 Fix copy/paste error in test 2015-06-13 08:07:49 +02:00
Xinchen Hui 25cd356ed8 Revert "We are allowed to break ABI now..."
This reverts commit 30a8000ca1.
2015-06-13 11:05:05 +08:00
Xinchen Hui 30a8000ca1 We are allowed to break ABI now... 2015-06-13 11:03:50 +08:00
Xinchen Hui 20d85e4f02 typo 2015-06-13 10:56:30 +08:00
Xinchen Hui 829c7a1bb0 Merge branch 'master' of git.php.net:php-src 2015-06-13 10:51:15 +08:00
Xinchen Hui d96dda8d49 Fixed Bug #69761 (Serialization of anonymous classes should be prevented)
And also cleanup anonymous class compiling, it make no sense prefix a
namespace to anonymous class name. and it is always lowcased and
interned string.
2015-06-13 10:49:20 +08:00
Anatol Belski b148c50f48 Revert fix for bug #55407
See 8e19705a93 and discussion on
github. The suggestion is to target a proper solution in in 7.1.
2015-06-12 17:56:02 +02:00
Bob Weinand 7c2a0157c7 Cache the class_name typehint key in arg_info
This leads to up to 2% improvement on one tested real world application by not having to always recalculate the lowercased string and its hash
2015-06-12 17:26:53 +02:00
Anthony Ferrara c8723564d4 Add line about scalar type declarations to UPGRADING 2015-06-12 10:05:07 -04:00
Xinchen Hui 49a8f801c7 Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name) 2015-06-12 21:07:23 +08:00
Dmitry Stogov 1c754f0b71 Get rid of more ZVAL_ZVAL() macros 2015-06-12 13:33:14 +03:00
Dmitry Stogov 8e10e8f921 Avoid zval duplication in ZVAL_ZVAL() macro (it was necessary only in few places).
Switch from ZVAL_ZVAL() to simpler macros where possible (it makes sense to review remaining places)
2015-06-12 12:33:23 +03:00
Stanislav Malyshev 7f4e1a0eef 5.4.43 next 2015-06-11 20:46:47 -07:00
Matteo Beccati 730d7b8fca Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #69344 (PDO PgSQL Incorrect binding numeric array with gaps)
  Fix bug #69362 (PDO-pgsql fails to connect if password contains a leading single quote)
  Fixed bug #61574 - No MSI

Conflicts:
	ext/pdo_pgsql/pgsql_statement.c
2015-06-12 02:08:30 +02:00
Matteo Beccati 3bb1a4ffe3 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69344 (PDO PgSQL Incorrect binding numeric array with gaps)
  Fix bug #69362 (PDO-pgsql fails to connect if password contains a leading single quote)
  Fixed bug #61574 - No MSI

Conflicts:
	ext/pdo_pgsql/pgsql_driver.c
2015-06-12 02:07:02 +02:00
Matteo Beccati b60efdce9f Fix bug #69344 (PDO PgSQL Incorrect binding numeric array with gaps) 2015-06-12 02:05:28 +02:00
Matteo Beccati cd5b7e9688 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #69362 (PDO-pgsql fails to connect if password contains a leading single quote)
  Fixed bug #61574 - No MSI

Conflicts:
	ext/pdo_pgsql/pgsql_driver.c
	win32/install.txt
2015-06-12 00:27:31 +02:00
Matteo Beccati afa4c3e7c7 Fix bug #69362 (PDO-pgsql fails to connect if password contains a leading single quote) 2015-06-12 00:21:48 +02:00
Matteo Beccati 7c0b8f872e Fix bug #69362 (PDO-pgsql fails to connect if password contains a leading single quote) 2015-06-12 00:20:33 +02:00
Christoph M. Becker 9692e74b04 Merge branch 'master' of https://git.php.net/push/php-src 2015-06-11 23:58:34 +02:00
Christoph M. Becker 8de667b8d2 Merge branch 'PHP-5.6' of https://git.php.net/push/php-src into PHP-5.6 2015-06-11 23:55:10 +02:00
Nikita Popov 5d3cf577aa Make convert_to_* safe with rc>1
This only involves switching zval_dtor to zval_ptr_dtor for arrays
and making the convert_to_object for arrays a bit more generic.

All the other changes outside zend_operators.c just make use of
this new ability (use COPY instead of DUP).

What's still missing: Proper references handling. I've seen many
convert_to* calls that will break when a reference is used.

Also fixes bug #69788.
2015-06-11 23:23:57 +02:00
Christoph M. Becker 163f51a4cf Fixed bug #61574 - No MSI
The information regarding the Windows installers (.msi) in install.txt are
obsolete, so let's remove them.
2015-06-11 22:54:47 +02:00
Christoph M. Becker d8223c4424 Fixed bug #61574 - No MSI
The information regarding the Windows installers (.msi) in install.txt are
obsolete, so let's remove them.
2015-06-11 22:52:30 +02:00
Christoph M. Becker 44b09b80f2 Fixed bug #61574 - No MSI
The information regarding the Windows installers (.msi) in install.txt are
obsolete, so let's remove them.
2015-06-11 22:44:14 +02:00
Nikita Popov 25098f0f5c Merge branch 'PHP-5.6' 2015-06-11 22:20:12 +02:00
Nikita Popov 1acf55eb75 Fixed bug #69803 2015-06-11 22:20:05 +02:00
Ferenc Kovacs e3ed32d315 Merge branch 'PHP-5.6'
* PHP-5.6:
  this is in 5.6.10, not in 5.6.9
2015-06-11 20:31:22 +02:00
Ferenc Kovacs 3f471c1c69 this is in 5.6.10, not in 5.6.9 2015-06-11 20:30:56 +02:00
Nikita Popov 580eb56fb7 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_generators.c
2015-06-11 17:44:51 +02:00
Nikita Popov 8405265578 Fix bug #69740 2015-06-11 17:40:10 +02:00
Anatol Belski 8cfe28259e Merge branch 'PHP-5.6'
* PHP-5.6:
  rework that test to allow delta for rounding errors
2015-06-11 17:07:24 +02:00
Anatol Belski 702e349df4 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  rework that test to allow delta for rounding errors
2015-06-11 17:06:46 +02:00
Anatol Belski a037b6de21 rework that test to allow delta for rounding errors
If this workout doesn't make travis happy, the patch needs to be
reviewed as the leak might still persist.
2015-06-11 17:05:03 +02:00
Anatol Belski 227680d6da Merge branch 'PHP-5.6'
* PHP-5.6:
  improve test
2015-06-11 15:37:06 +02:00
Anatol Belski d777669679 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  improve test
2015-06-11 15:36:30 +02:00
Anatol Belski dcfd1153ec improve test 2015-06-11 15:36:02 +02:00
Anatol Belski 0228ccf246 Merge branch 'PHP-5.6'
* PHP-5.6:
  added test for bug #69646
2015-06-11 12:08:09 +02:00
Anatol Belski b19790ab34 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  added test for bug #69646
2015-06-11 12:07:32 +02:00
Anatol Belski e711325ca6 added test for bug #69646 2015-06-11 12:06:59 +02:00
Stanislav Malyshev f69e5d3b19 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix bad copypaste
2015-06-11 01:52:39 -07:00
Stanislav Malyshev 9d162550ac Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix bad copypaste
2015-06-11 01:52:23 -07:00
Stanislav Malyshev cd927cca50 fix bad copypaste 2015-06-11 01:51:55 -07:00
Xinchen Hui 141f0ca18c Fixed Bug #69796 mysqli_stmt::fetch doesn't assign null values to bound variables 2015-06-11 13:35:43 +08:00
Xinchen Hui 7f60923199 Fixed internal class flag restore 2015-06-11 12:53:56 +08:00
Dmitry Stogov be988aba36 Compile-time constant folding 2015-06-11 01:57:37 +03:00
Ferenc Kovacs 21719c760b Merge branch 'PHP-5.6'
* PHP-5.6:
  make it possible to set the re2c and yacc paths via environment variables for genfiles
2015-06-11 00:14:39 +02:00
Ferenc Kovacs f4d820f2ee Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  make it possible to set the re2c and yacc paths via environment variables for genfiles
2015-06-11 00:13:40 +02:00
Ferenc Kovacs 72b8a30c1a make it possible to set the re2c and yacc paths via environment variables for genfiles 2015-06-11 00:13:08 +02:00
Márcio Almada fdda34e0bc fix bad formatted "undefined offset" notice when key is negative 2015-06-10 22:18:23 +02:00
Dmitry Stogov 51dbf73954 Fetch operands of opceodes for binary operators in certain order (from left to right). 2015-06-10 22:25:24 +03:00
Anatol Belski 8ad5111d1c Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  fix memory leak in pdo_pgsql closeCursor (bug 69752)
2015-06-10 16:43:33 +02:00
Anatol Belski 45521b08b8 updated NEWS 2015-06-10 16:42:52 +02:00
Anatol Belski 2b0a19f4ed updated NEWS 2015-06-10 16:41:33 +02:00
Anatol Belski effbc87ff1 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  fix memory leak in pdo_pgsql closeCursor (bug 69752)
2015-06-10 16:41:07 +02:00
Anatol Belski 9d5ab7e22f updated NEWS 2015-06-10 16:40:38 +02:00
Philip Hofstetter 9ba3a4c66a fix memory leak in pdo_pgsql closeCursor (bug 69752)
the parent PDO closeCursor method resets the pdo_stmt_t's executed flag
which is used by the postgres driver as a flag to check whether to
allocate memory for the column data or not.

This means that after the parent closeCursor() has been called, the
pdo_pgsql driver will allocate a new buffer for the columns, so the
existing buffer should be freed when the cursor is being closed.
2015-06-10 16:36:00 +02:00
Anatol Belski 9ec3bb8a98 Merge branch 'PHP-5.6'
* PHP-5.6:
  regenerated the ini scanner
2015-06-10 13:17:10 +02:00
Anatol Belski b1f3403c98 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  regenerated the ini scanner
2015-06-10 13:16:29 +02:00
Anatol Belski f14141aca2 regenerated the ini scanner
follow up fix for bug #69551
2015-06-10 13:15:01 +02:00
Anatol Belski 56ad2fcf20 updated NEWS 2015-06-10 11:27:24 +02:00
Anatol Belski 23e8956386 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business"
  Revert "Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business""
  Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business"
2015-06-10 11:26:49 +02:00
Anatol Belski 2c55ae5261 updated NEWS 2015-06-10 11:26:00 +02:00
Anatol Belski 64df05d5b1 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business"
  Revert "Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business""
  Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business"
2015-06-10 11:25:21 +02:00
Anatol Belski 60e181c20a updated NEWS 2015-06-10 11:24:45 +02:00
Christian Wenz 0c8136654d Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business" 2015-06-10 11:22:30 +02:00
Christian Wenz 82e5260104 Revert "Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business""
This reverts commit 4a05c81b85336b76d05017cc86372fbd04871e3f.
2015-06-10 11:22:29 +02:00
Christian Wenz 741b949a6f Fix #69781: phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business" 2015-06-10 11:22:28 +02:00
Ferenc Kovacs dbf30365aa Merge remote-tracking branch 'origin/master' into PHP-7.0.0
* origin/master:
  add missing NEWS entries
  add missing NEWS entries
  Fixed bug #69646 (OS command injection vulnerability in escapeshellarg)
  add NEWS
  Fixed bug #68776
  fix test
  update NEWS
  fix typo
  Fix bug #69646	OS command injection vulnerability in escapeshellarg
  Fix #69719 - more checks for nulls in paths
  fix test description
  Fixed Buf #68812 Unchecked return value.
2015-06-10 10:49:51 +02:00
Anatol Belski dbef99ba6e updated NEWS 2015-06-10 10:47:06 +02:00
Anatol Belski a96345d12b Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  fixed bug, where a linebreak immediately after an opening quote of a value caused a segfault
  made failing test more meaningful
  added failing test
2015-06-10 10:44:44 +02:00
Anatol Belski f4707ed256 updated NEWS 2015-06-10 10:44:02 +02:00
Anatol Belski ca467d5117 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  fixed bug, where a linebreak immediately after an opening quote of a value caused a segfault
  made failing test more meaningful
  added failing test
2015-06-10 10:43:23 +02:00
Anatol Belski aef5a02ebb updated NEWS 2015-06-10 10:42:31 +02:00
Christoph M. Becker 36222eb4cc fixed bug, where a linebreak immediately after an opening quote of a value caused a segfault 2015-06-10 10:39:37 +02:00
Christoph M. Becker 2ba9681e8e made failing test more meaningful 2015-06-10 10:39:36 +02:00
Christoph M. Becker 616b932ab0 added failing test 2015-06-10 10:39:35 +02:00
Ferenc Kovacs 5ff259ebb7 Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing NEWS entries
  add missing NEWS entries
2015-06-10 09:39:38 +02:00
Ferenc Kovacs b5d5baa882 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add missing NEWS entries
2015-06-10 09:37:00 +02:00
Ferenc Kovacs 0d7f22c157 add missing NEWS entries 2015-06-10 09:36:53 +02:00
Ferenc Kovacs 2b8ba3e9f8 add missing NEWS entries 2015-06-10 09:35:38 +02:00
Stanislav Malyshev d4407e1cb9 Merge branch 'PHP-5.6'
* PHP-5.6:
  add NEWS
  Fixed bug #68776
  fix test
  update NEWS
  Fix bug #69646	OS command injection vulnerability in escapeshellarg
  Fix #69719 - more checks for nulls in paths
  fix test description
  Fixed Buf #68812 Unchecked return value.

Conflicts:
	ext/dom/document.c
	ext/gd/gd.c
	ext/standard/exec.c
2015-06-09 21:39:59 -07:00
Stanislav Malyshev 563462fbf8 Fixed bug #69646 (OS command injection vulnerability in escapeshellarg) 2015-06-09 21:37:17 -07:00
Stanislav Malyshev 60a2742fd2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add NEWS
2015-06-09 21:35:41 -07:00
Stanislav Malyshev c2d4704744 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  add NEWS
2015-06-09 21:35:31 -07:00
Stanislav Malyshev f1ffb4b1ad add NEWS 2015-06-09 21:35:18 -07:00
Stanislav Malyshev c095af584c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68776
2015-06-09 21:34:06 -07:00
Stanislav Malyshev e10af61862 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #68776
2015-06-09 21:33:38 -07:00
Yasuo Ohgaki 9d168b863e Fixed bug #68776 2015-06-09 21:32:54 -07:00
Stanislav Malyshev 1346c3df42 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
  update NEWS
2015-06-09 17:12:25 -07:00
Stanislav Malyshev 6b53b7cd84 Merge branch 'PHp-5.4' into PHP-5.5
* PHp-5.4:
  fix test
  update NEWS
2015-06-09 17:12:11 -07:00
Stanislav Malyshev eee8b6c33f fix test 2015-06-09 17:11:33 -07:00
Stanislav Malyshev 539738c438 update NEWS 2015-06-09 16:23:05 -07:00
Stanislav Malyshev 8b1919ed73 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69646	OS command injection vulnerability in escapeshellarg
  Fix #69719 - more checks for nulls in paths
  fix test description
  Fixed Buf #68812 Unchecked return value.
2015-06-09 15:32:27 -07:00
Stanislav Malyshev 4e2fb47092 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #69646	OS command injection vulnerability in escapeshellarg
  Fix #69719 - more checks for nulls in paths
  fix test description
  Fixed Buf #68812 Unchecked return value.

Conflicts:
	ext/dom/document.c
	ext/gd/gd.c
2015-06-09 15:31:27 -07:00
Ferenc Kovacs e4aa5c0510 fix typo 2015-06-09 23:14:11 +02:00
Stanislav Malyshev 8036758491 Fix bug #69646 OS command injection vulnerability in escapeshellarg 2015-06-09 10:52:38 -07:00
Stanislav Malyshev f7d7befae8 Fix #69719 - more checks for nulls in paths 2015-06-09 10:52:38 -07:00
Ferenc Kovacs 9cb8cb4797 Merge branch 'master' into PHP-7.0.0
* master:
  fix hard-coded path in test
2015-06-09 16:42:24 +02:00
Ferenc Kovacs 7ec3016e29 fix hard-coded path in test 2015-06-09 16:42:02 +02:00
Ferenc Kovacs 8a884d628b 7.0.0alpha1 2015-06-09 14:24:39 +02:00
Ferenc Kovacs 2d962af4c0 prepare for 7.0.0alpha1 2015-06-09 14:20:55 +02:00
Ferenc Kovacs b6005f72fc Merge branch 'PHP-5.6'
* PHP-5.6:
  fix NEWS
2015-06-09 13:57:41 +02:00
Ferenc Kovacs 8574290d9b fix NEWS 2015-06-09 13:57:28 +02:00
Ferenc Kovacs 901ff81196 Merge branch 'PHP-5.6'
* PHP-5.6:
  these will be part of 5.6.11
2015-06-09 13:41:25 +02:00
Ferenc Kovacs 72d0796d66 these will be part of 5.6.11 2015-06-09 13:41:00 +02:00
Ferenc Kovacs 7a9facd8c6 Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing NEWS entry
2015-06-09 13:32:11 +02:00
Ferenc Kovacs 632c5d6250 add missing NEWS entry 2015-06-09 13:31:45 +02:00
Julien Pauli 3601b61f3d Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.27 now
2015-06-09 10:36:20 +02:00
Julien Pauli 0bfb454acb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.27 now

Conflicts:
	configure.in
	main/php_version.h
2015-06-09 10:35:42 +02:00
Julien Pauli 5f7c1917e3 5.5.27 now 2015-06-09 10:33:29 +02:00
Remi Collet 531c306fe6 fix test description 2015-06-09 09:18:54 +02:00
Remi Collet 1ad58ce12e Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test description
  Fixed Buf #68812 Unchecked return value.
  Fixed Buf #68812 Unchecked return value.
2015-06-09 09:14:05 +02:00
Remi Collet 5eecc6bcde Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test description
  Fixed Buf #68812 Unchecked return value.
2015-06-09 09:13:19 +02:00
Remi Collet b347f2c47a fix test description 2015-06-09 09:12:59 +02:00
Lior Kaplan d8d5dc5d32 Merge branch 'PHP-5.6'
* PHP-5.6:
  Upgrade bundled sqlite to 3.8.10.2
2015-06-08 23:22:03 +03:00
George Wang 81ab4b12aa Fixed Buf #68812 Unchecked return value. 2015-06-08 15:47:11 -04:00
George Wang eb15ec385e Fixed Buf #68812 Unchecked return value. 2015-06-08 15:46:56 -04:00
George Wang 6bb24823d0 Fixed Buf #68812 Unchecked return value. 2015-06-08 15:46:40 -04:00
Lior Kaplan b861a4a4d2 NEWS entry for: Upgrade bundled sqlite to 3.8.10.2
Includes fixes for CVE-2015-3414, CVE-2015-3415, CVE-2015-3416
2015-06-08 22:39:00 +03:00
George Wang 78d1228ef6 Fixed Buf #68812 Unchecked return value. 2015-06-08 15:38:59 -04:00
Lior Kaplan 79528c5e24 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade bundled sqlite to 3.8.10.2
2015-06-08 22:37:02 +03:00
Lior Kaplan f5bf7b6b27 NEWS entry for: Upgrade bundled sqlite to 3.8.10.2
Includes fixes for CVE-2015-3414, CVE-2015-3415, CVE-2015-3416
2015-06-08 22:32:29 +03:00
Lior Kaplan eb7c33b204 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  NEWS entry for: Upgrade bundled sqlite to 3.8.10.2
  Upgrade bundled sqlite to 3.8.10.2
  Add CVE used in PHP 5.4.39, 5.4.40, 5.4.41
  Add CVE to #68598
2015-06-08 22:29:35 +03:00
Lior Kaplan b5d1530e4f Upgrade bundled sqlite to 3.8.10.2
Includes fixes for CVE-2015-3414, CVE-2015-3415, CVE-2015-3416 done in 3.8.9
2015-06-08 22:29:10 +03:00
Lior Kaplan 33a9f01d36 NEWS entry for: Upgrade bundled sqlite to 3.8.10.2
Includes fixes for CVE-2015-3414, CVE-2015-3415, CVE-2015-3416
2015-06-08 22:23:22 +03:00
Lior Kaplan 7ced40e24e Upgrade bundled sqlite to 3.8.10.2
Includes fixes for CVE-2015-3414, CVE-2015-3415, CVE-2015-3416 done in 3.8.9
2015-06-08 22:17:06 +03:00
Lior Kaplan 4cc46b2a99 Add CVE used in PHP 5.4.39, 5.4.40, 5.4.41 2015-06-08 22:12:42 +03:00
Lior Kaplan 90a8ea9827 Add CVE to #68598 2015-06-08 22:04:42 +03:00
Anatol Belski c8cf54719f Merge branch 'PHP-5.6'
* PHP-5.6:
  fixed test related to fix for bug #67805
2015-06-08 13:28:53 +02:00
Anatol Belski 18b3508c3c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fixed test related to fix for bug #67805
2015-06-08 13:28:23 +02:00
Anatol Belski 17f2d1e8a7 fixed test related to fix for bug #67805 2015-06-08 13:27:22 +02:00
Anatol Belski bc305d9c05 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  Fix bug #67805 - SplFileObject setMaxLineLength.
2015-06-08 12:13:12 +02:00
Anatol Belski 4482c03622 updated NEWS 2015-06-08 12:12:24 +02:00
Anatol Belski 3c02e6f457 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fix bug #67805 - SplFileObject setMaxLineLength.
2015-06-08 12:11:58 +02:00
Anatol Belski b754e3ec4b updated NEWS 2015-06-08 12:11:29 +02:00
Willian Gustavo Veiga b470d9a0d6 Fix bug #67805 - SplFileObject setMaxLineLength. 2015-06-08 12:08:05 +02:00
Willian Gustavo Veiga 8e747f6833 Fix bug #67805 - SplFileObject setMaxLineLength. 2015-06-08 11:36:27 +02:00
Anatol Belski 0cd86f6b77 fix dir separator in test 2015-06-08 11:29:04 +02:00
Anatol Belski 4cdfbbd399 updated UPGRADING and NEWS 2015-06-08 10:15:03 +02:00
Christoph M. Becker b8d8c75c4c added LIBXML_BIGLINES constant 2015-06-08 09:59:37 +02:00
Christoph M. Becker a1951c2e0a added tests for bug #54138 2015-06-08 09:59:36 +02:00
Christoph M. Becker f661b10536 replaced / in filename with DIRECTORY_SEPARATOR according to performance warning on DOMDocument::load man page 2015-06-08 09:40:06 +02:00
Christoph M. Becker 03399721f4 added SKIPIF conditional to check for DOM availability 2015-06-08 09:40:05 +02:00
Christoph M. Becker 5fed10e109 added XFAIL test for bug #69753 2015-06-08 09:40:04 +02:00
Matteo Beccati 11ece75291 Merge remote-tracking branch 'mbeccati/reflection-typehints-sth-v5'
* mbeccati/reflection-typehints-sth-v5:
  Reflection support for type hints and return types
  Merge remote-tracking branch 'pollita/reflection.typehint'

As discussed on https://github.com/php/php-src/pull/1190
2015-06-08 08:49:15 +02:00
Matteo Beccati ec281fef48 Reflection support for type hints and return types 2015-06-08 08:46:30 +02:00
Sara Golemon cf8898fbd5 Merge remote-tracking branch 'pollita/reflection.typehint'
Conflicts:
	ext/reflection/php_reflection.c
	ext/reflection/tests/ReflectionExtension_getClasses_basic.phpt
2015-06-08 08:33:32 +02:00
Christoph M. Becker 9c8696e645 fixed language dependent Windows socket tests 2015-06-08 08:13:30 +02:00
Anatol Belski 349cf3229c add error message 2015-06-08 07:06:21 +02:00
Xinchen Hui 6c89d2d9de Also reflects the case change 2015-06-08 12:37:11 +08:00
Xinchen Hui cea801cce2 Fixed bug #69767 (Default parameter value with wrong type segfaults) 2015-06-08 11:47:22 +08:00
Jakub Zelenka 61de771afa Improve json parser code 2015-06-07 15:22:09 +01:00
Cameron Porter 3cf0bea098 Get oci8 extension compiling with php7. 2015-06-06 13:05:19 -05:00
Andrea Faulds 05ef3b7c0d Fix typo in Unicode escape test 2015-06-06 15:29:56 +01:00
Anatol Belski 11230328b5 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS for bug #69642
  updated NEWS for bug #69642 fix
2015-06-05 17:59:39 +02:00
Anatol Belski 9fde041a7d Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS for bug #69642 fix
2015-06-05 17:59:08 +02:00
Anatol Belski fb49ffe62e updated NEWS for bug #69642 2015-06-05 17:58:39 +02:00
Anatol Belski 75c2aa9d3a updated NEWS for bug #69642 fix 2015-06-05 17:56:57 +02:00
Dmitry Stogov 869f662cdd Use better zend_hash_* functions 2015-06-05 13:54:57 +03:00
Dmitry Stogov 3186f913eb Fixed incorrect ZEND_FILE_LINE_CC usage 2015-06-05 13:54:10 +03:00
Xinchen Hui 0655abef1a Improve the fix for bug #69756 2015-06-05 18:42:21 +08:00
Dmitry Stogov ed5fbf5e49 Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency? with ===) 2015-06-05 10:04:58 +03:00
Xinchen Hui d251ced225 Merge branch 'master' of git.php.net:php-src 2015-06-05 11:54:53 +08:00
Xinchen Hui 497f9f2cda Fixed bug #69758 (Item added to array not being removed by array_pop/shift) 2015-06-05 11:54:22 +08:00
Dmitry Stogov 7f39ee7159 Delay checks for undefined CV variables after checks for fast paths. 2015-06-05 01:53:32 +03:00
Gunter Grodotzki 5f80da29ee fix typo, see #68476 2015-06-04 18:27:08 +02:00
Dmitry Stogov aca6a1a1c9 Convert "switch" into series of "if". This allows better fast-path placement, additional specialization and makes final code less. 2015-06-04 19:14:16 +03:00
Dmitry Stogov 0040efb170 Avoid useless copying and duplication 2015-06-04 19:13:40 +03:00
Dmitry Stogov f07d770f0b Specialize out useless checks. Only IS_VAR may be EG(error). 2015-06-04 17:20:37 +03:00
Bob Weinand 9ca564d5f3 fix bitwise object operations 2015-06-04 16:09:22 +02:00
Xinchen Hui c6db18f9ab Merge branch 'PHP-5.6' 2015-06-04 21:09:06 +08:00
Xinchen Hui 93b7ba4c9f Merge branch 'PHP-5.5' into PHP-5.6 2015-06-04 21:08:57 +08:00
Xinchen Hui 9a0bdd9069 Fixed invalid read druing apache reload 2015-06-04 21:08:36 +08:00
Dmitry Stogov adb5f93f85 Fixed bug #69755 (segfault in ZEND_CONCAT_SPEC_TMPVAR_CONST_HANDLER) 2015-06-04 09:38:22 +03:00
Bob Weinand 1d3f77d13d Fix Bug #69754 (Compile failure with ::class in array) 2015-06-03 23:59:59 +02:00
Dmitry Stogov 2fcdad6a58 Removed useless code (there is nothing to free for string offsets). 2015-06-03 22:23:06 +03:00
Dmitry Stogov 36c36ee56d Removed dead code (IS_CONST operand can't be IS_OBJECT) 2015-06-03 19:29:03 +03:00
Dmitry Stogov 544fb5c7bc Separate rare used increment/decrement/assign_op of overloaded properies into non inlined functions. 2015-06-03 18:44:25 +03:00
Dmitry Stogov 58dc22cc13 Reorder conditions to check for fast paths first 2015-06-03 17:20:47 +03:00
Dmitry Stogov ce2a78939d isset() micro-optimisation 2015-06-03 16:27:38 +03:00
Dmitry Stogov b21191ba78 Removed commented code 2015-06-03 14:49:29 +03:00
Dmitry Stogov 6bcf121f5b micro-optimization 2015-06-03 13:43:05 +03:00
Dmitry Stogov c09698753e CONCAT optimization 2015-06-03 11:15:28 +03:00
Bob Weinand 8a1c5d15d2 Use CG(one_char_string) if possible in bitwise string operations
emalloc() is not cheap... Also, a good part of bitwise string ops out there are on single bytes.
2015-06-03 02:57:16 +02:00
Anatol Belski 06332e6706 introduced DllMain for the main php DLL
The particular need on this is because of the current situation
with determining the background functionality for the
gettimeofday. DllMain allows to initialize stuff before the DLL
can be actually used. Thus, we use different time API on win7
and win8 and later, so the function pointer needs to be
initialized before anything in the DLL could even demand it.

The change also opens the door for the further optimizations,
as now we're able to do the very basic initializations for the
whole DLL before it could ever start to live. Fe on this way the
TLS initialization could be done, when utilizing the
DLL_THREAD_ATTACH/DETACH case. Whether it's really usable in
portable way should be synced with other platforms.

Be aware that it's dangerous as it possibly causes dead locks.
So to use with care. One willing to add items to DllMain should
better read the documentation twice and even then try to defer
the necessary action.
2015-06-02 15:56:32 +02:00
Anatol Belski 29a91e52ad a bit more clearness fir --with-mp 2015-06-02 15:56:30 +02:00
Dmitry Stogov 8a089e7e71 Call zend_array_dup() instead of zval_copy_ctor(). 2015-06-02 12:03:34 +03:00
Dmitry Stogov 0d054f5faf Avoid useless duplication. Constant values have to be duplicated only for internal constants in ZTS build, to prevent simultaneous modification of reference counters from different threads. 2015-06-02 12:01:34 +03:00
Stanislav Malyshev c0a54d62e2 fix test 2015-06-01 23:58:19 -07:00
Stanislav Malyshev 49ae1fe8d0 Merge branch 'pull-request/1310'
* pull-request/1310:
  Fix GD tests #69698
2015-06-01 22:57:05 -07:00
Stanislav Malyshev 75d16a4564 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #69737 - Segfault when SplMinHeap::compare produces fatal error

Conflicts:
	ext/spl/spl_heap.c
2015-06-01 22:55:16 -07:00
Stanislav Malyshev e96c64ed5e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69737 - Segfault when SplMinHeap::compare produces fatal error
2015-06-01 22:53:56 -07:00
Stanislav Malyshev 1cbd25ca15 Fix bug #69737 - Segfault when SplMinHeap::compare produces fatal error 2015-06-01 22:07:16 -07:00
Dmitry Stogov ce862a25d5 Reorder conditions to check for fast paths first. 2015-06-01 17:22:04 +03:00
Dmitry Stogov 8bf76bae40 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69732 (can induce segmentation fault with basic php code).
2015-06-01 12:21:48 +03:00
Dmitry Stogov f863d89b5c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69732 (can induce segmentation fault with basic php code).

Conflicts:
	Zend/zend_vm_execute.h
2015-06-01 12:17:32 +03:00
Dmitry Stogov 9031a902e3 Fixed bug #69732 (can induce segmentation fault with basic php code). 2015-06-01 11:40:14 +03:00
Dmitry Stogov 1654442ac3 Fixed integer overflow during HashTable size calculation 2015-06-01 10:51:06 +03:00
Stanislav Malyshev c75ac9e456 Merge branch 'pull-request/1314'
* pull-request/1314:
  Fixed typos in UPGRADING.INTERNALS
2015-05-31 19:40:31 -07:00
Stanislav Malyshev 60e92a3b84 set initialized flag after actual initialization happened 2015-05-31 19:37:56 -07:00
Andrew Murray 00790467b7 Fixed typos in UPGRADING.INTERNALS 2015-06-01 11:13:09 +10:00
Stanislav Malyshev e0fb8c8b7f Merge branch 'PHP-5.6'
* PHP-5.6:
  improve fix for Bug #69545
2015-05-31 17:30:41 -07:00
Stanislav Malyshev 4758505b27 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  improve fix for Bug #69545
2015-05-31 17:30:29 -07:00
Stanislav Malyshev 8746163153 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  improve fix for Bug #69545
2015-05-31 17:29:53 -07:00
Stanislav Malyshev 0765623d69 improve fix for Bug #69545 2015-05-31 17:29:00 -07:00
Stanislav Malyshev 07241bbd70 FIx darwin build 2015-05-31 14:52:08 -07:00
Anatol Belski 8e54f91cc9 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix phpize mode for manifest embedding
2015-05-31 23:04:11 +02:00
Anatol Belski 6fea2f1dd7 fix phpize mode for manifest embedding 2015-05-31 23:03:47 +02:00
Anatol Belski 34bcd69f82 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix phpize mode for manifest embedding
2015-05-31 23:02:01 +02:00
Anatol Belski f029a2856b fix phpize mode for manifest embedding 2015-05-31 23:01:21 +02:00
Christoph M. Becker c1401ad7b6 split simplexml tests for 7 2015-05-31 21:35:21 +02:00
Anatol Belski 4309f16614 Merge branch 'PHP-5.6'
* PHP-5.6:
  split the original test to check behaviour diff on 32- and 64-bit
  recovered original meaning of SXE xpath test
2015-05-31 21:32:04 +02:00
Anatol Belski 6f1c006b6d Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  split the original test to check behaviour diff on 32- and 64-bit
  recovered original meaning of SXE xpath test
2015-05-31 21:30:46 +02:00
Christoph M. Becker b24fedbd24 split the original test to check behaviour diff on 32- and 64-bit 2015-05-31 21:28:44 +02:00
Christoph M. Becker e44b040faf recovered original meaning of SXE xpath test 2015-05-31 21:27:02 +02:00
Anatol Belski cbadc05d32 Merge branch 'PHP-5.6'
* PHP-5.6:
  backport the basic code to properly recognize win 8.1 and 10
  backport the manifest changes for makefile
  backport the manifest changes in js
  add default manifest
  add test
2015-05-31 19:33:34 +02:00
Anatol Belski 021effbe97 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  backport the basic code to properly recognize win 8.1 and 10
  backport the manifest changes for makefile
  backport the manifest changes in js
  add default manifest
  add test
2015-05-31 19:32:21 +02:00
Anatol Belski 1e9522021a backport the basic code to properly recognize win 8.1 and 10 2015-05-31 19:01:58 +02:00
Anatol Belski 31d59bf915 backport the manifest changes for makefile 2015-05-31 18:59:00 +02:00
Anatol Belski 50d4ea90b3 backport the manifest changes in js 2015-05-31 18:53:51 +02:00
Anatol Belski 7e731e4d9d add default manifest 2015-05-31 18:17:58 +02:00
Anatol Belski 05351f9ccb add test 2015-05-31 18:13:33 +02:00
Xinchen Hui d2649af6b9 Fixed Bug #69733 (PHP fails to build with --enable-phpdbg-debug) 2015-05-31 13:35:01 +08:00
Stanislav Malyshev 66153ba153 Merge branch 'PHP-5.6'
* PHP-5.6:
  Update PCRE version (bug #69689)
  move test
  NEWS 5.4
  fix new test
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  5.4.42 next
2015-05-30 21:19:05 -07:00
Stanislav Malyshev 60c925fd41 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update PCRE version (bug #69689)
  move test
  NEWS 5.4
  fix new test
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  5.4.42 next
2015-05-30 21:18:50 -07:00
Stanislav Malyshev 930fb8b1f3 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Update PCRE version (bug #69689)
  move test
  NEWS 5.4
  fix new test
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  5.4.42 next

Conflicts:
	configure.in
	main/php_version.h
2015-05-30 21:18:28 -07:00
Stanislav Malyshev f38ca75a3c Update PCRE version (bug #69689) 2015-05-30 21:17:16 -07:00
Anatol Belski 9237a0de1c run credits script 2015-05-30 09:43:10 +02:00
Anatol Belski a71dce77c6 updated UPGRADING 2015-05-30 09:37:08 +02:00
Anatol Belski d361c72168 removed sapi/nsapi 2015-05-30 09:26:40 +02:00
Anatol Belski 042ecad749 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Refactored the fix for bug #66084, by cmb@php.net
  Merge the fix for #69703 to 5.5 per request from Julien
2015-05-29 21:19:31 +02:00
Anatol Belski ff30d0319a updated NEWS 2015-05-29 21:18:37 +02:00
Anatol Belski 8e02be16d7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Refactored the fix for bug #66084, by cmb@php.net
  Merge the fix for #69703 to 5.5 per request from Julien
2015-05-29 21:18:04 +02:00
Anatol Belski 5683b6fa39 Refactored the fix for bug #66084, by cmb@php.net 2015-05-29 21:16:56 +02:00
Hannes Magnusson 8eea193470 Fix typos and add link to the phpng upgrading wiki page 2015-05-29 19:07:14 +00:00
Christoph M. Becker 36eb66692c removed test for unrelated bug #68946 2015-05-29 20:43:40 +02:00
Christoph M. Becker f27b9ead6b fixed whitespace dependend behavior of casting SimpleXMLElements to boolean 2015-05-29 20:43:38 +02:00
Christoph M. Becker 8e5b906459 added tests for bug #61335, bug #67572 and bug #68946 (the latter already passing, but better safe than sorry) 2015-05-29 20:43:36 +02:00
Christoph M. Becker db4a6def47 fixed whitespace depending (mis)behavior of var_dump'ing and print_r'ing SimpleXMLElements 2015-05-29 20:43:34 +02:00
Christoph M. Becker 1a3a674ee6 added failing tests for bug #62639, bug #67116, bug #69169 and bug #69491 2015-05-29 20:43:33 +02:00
Metalaka 5d8055e14d Fix GD tests #69698
May be take a look to [travis/compile.sh](https://github.com/php/php-src/blob/4b9299d155316e4e49d87d3941eab1ca95b2462a/travis/compile.sh#L60)
2015-05-29 19:18:53 +02:00
Antony Dovgal bcd5853a0b NEWS and UPGRADING entries for PR #1309 2015-05-29 18:16:07 +03:00
Antony Dovgal 110a146b88 add tests for proc_open() and pipes 2015-05-29 17:35:12 +03:00
Antony Dovgal ad60549958 remove hardcoded limit on number of pipes in proc_open() 2015-05-29 15:30:06 +03:00
Anatol Belski 6f46fa376b add test 2015-05-29 11:48:00 +02:00
Anatol Belski e76cf8432d fix windows version constants initialization with nts 2015-05-29 11:47:58 +02:00
Nikita Popov 39753fa222 Merge branch 'PHP-5.6'
Preserving HAS_RETURN_TYPE for __invoke() here as well.

Conflicts:
	Zend/zend_alloc.c
2015-05-29 11:11:02 +02:00
Nikita Popov 402f697068 Remove zend_init_list
No longer used - zend_add_to_list already covers this.

Also marked zend_add_to_list as static and dropped it from the header.
2015-05-29 11:07:51 +02:00
Nikita Popov 21a29b4be3 Drop unnecessary checks for op_array->filename
We always require a filename.
2015-05-29 11:07:51 +02:00
Nikita Popov e7d0ca39e5 Preserve VARIADIC flag for Closure::__invoke()
The 13 arguments are for the benefit of PHP 7, where the first
twelve use the bitmask.
2015-05-29 11:07:23 +02:00
Kalle Sommer Nielsen 7dcfdbbee4 Remove T1Lib support (see #69698)
# Also removes imagepscopyfont() which was never available (commented out)
2015-05-29 09:18:36 +02:00
Kalle Sommer Nielsen 0e079f9358 Note getrusage() for Windows in UPGRADING 2015-05-29 09:12:25 +02:00
Xinchen Hui d844e96464 Merge branch 'master' of git.php.net:php-src 2015-05-29 13:51:02 +08:00
Xinchen Hui ed8d1ba7dd Fixed bug #69723 (Passing parameters by reference and array_column) 2015-05-29 13:50:44 +08:00
Anatol Belski 7ab99ed4b0 manifest for the main php dll needs to be copied manually 2015-05-29 00:29:25 +02:00
Anatol Belski 66d57be2b0 pack the default manifest for devel 2015-05-28 23:23:36 +02:00
Anatol Belski 29ca3fad62 add *.manifest to cleanup 2015-05-28 23:23:33 +02:00
Anatol Belski 247fd93de9 correct manifest 2015-05-28 23:23:30 +02:00
Anatol Belski e4ca770f95 using correct manifest, GetVersionEx can recognise versions 2015-05-28 23:23:27 +02:00
Anatol Belski 4bbfa2469e take the default manifest
yet to be reworked for the case some custom manifest were supplied
2015-05-28 23:23:23 +02:00
Anatol Belski f17b732694 add default manifest 2015-05-28 23:23:21 +02:00
Anatol Belski 2802fdaf0c fixup default versions, just for the case 2015-05-28 23:23:17 +02:00
Kalle Sommer Nielsen 0a173501c8 Fix deplister with VC14, noticed by Jan Ehrhardt 2015-05-28 23:06:49 +02:00
Xinchen Hui 50e08d60b6 Attempt to fix #69643 2015-05-29 00:03:19 +08:00
Kalle Sommer Nielsen c4e9651b58 Merge the fix for #69703 to 5.5 per request from Julien 2015-05-28 16:54:02 +02:00
Kalle Sommer Nielsen 424005a301 Shouldn't have been committed, so revert 2015-05-28 14:37:52 +02:00
Kalle Sommer Nielsen de696d851f Fixed bug #69703 (Use __builtin_clzl on PowerPC) -- Patch by dja at axtens dot net
# Julien, even though 5.5 is still non security mode I don't think we should merge this patch but I leave the choice with you
2015-05-28 14:30:18 +02:00
Remi Collet 0437aa2abf Merge branch 'PHP-5.6'
* PHP-5.6:
  Relax a little this test, because random is not reliable
2015-05-28 10:37:52 +02:00
Remi Collet 7611d1c41b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Relax a little this test, because random is not reliable
2015-05-28 10:37:39 +02:00
Remi Collet 09b92a3a54 Relax a little this test, because random is not reliable
Usual values are 3500-3950, but >4000 can happen.
2015-05-28 10:35:19 +02:00
Ferenc Kovacs 864c171899 Merge branch 'PHP-5.6'
* PHP-5.6:
  empty commit to trigger a github mirror
2015-05-28 02:09:46 +02:00
Ferenc Kovacs 482c69bf63 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  empty commit to trigger a github mirror
2015-05-28 02:09:12 +02:00
Ferenc Kovacs 00d8e26d71 empty commit to trigger a github mirror 2015-05-28 02:08:48 +02:00
Ferenc Kovacs db3092d460 Merge branch 'PHP-5.6'
* PHP-5.6:
  move to 5.6.11-dev
2015-05-28 02:06:43 +02:00
Ferenc Kovacs 4d8ae36695 move to 5.6.11-dev 2015-05-28 02:05:50 +02:00
Anatol Belski 58ed12b1a2 update lib versions info 2015-05-27 18:15:43 +02:00
Kalle Sommer Nielsen 0a7f792b6f [16:45] <@bjori> salathe: http://git.php.net/?p=php-src.git;a=commit;h=d4324a5e4ba3ae668cf1a3c2426241fd6ac385a5 && http://git.php.net/?p=php-src.git;a=commit;h=9de8833bea9fe39556066e7ff77b136697652d02
[16:45] <@bjori> you should probably move philip to authors, and yourself out of the author list
2015-05-27 16:50:01 +02:00
Peter Cowburn d47815d5ee updated manual editor 2015-05-27 11:20:21 +01:00
Xinchen Hui 0e438a2783 Remove debug codes 2015-05-27 17:41:38 +08:00
Xinchen Hui c17029315f Fixed sapi/tests (maybe needs some run-test.php people's reviewing) 2015-05-27 17:37:34 +08:00
Xinchen Hui 2b41c04124 Seems useless now 2015-05-27 16:54:32 +08:00
Xinchen Hui 151e52f6eb Fixed the fix in f68dc94aa7 2015-05-27 16:47:15 +08:00
Xinchen Hui 90df7e75e6 Merge branch 'master' into merge-fastcgi
Conflicts:
	sapi/fpm/fpm/fpm_main.c
2015-05-27 16:36:15 +08:00
Reeze Xia f68dc94aa7 Remove useless cast 2015-05-27 10:45:19 +08:00
Xinchen Hui f972e219e4 Merge pull request #2 from weltling/merge-fastcgi
Simplify the windows side
2015-05-27 10:37:48 +08:00
Bob Weinand b73f87b1e4 Add test for memory leak with wrong return type 2015-05-27 01:37:00 +02:00
Bob Weinand f7f7d6e385 Fix memory leak with return types upon failure
TMP/VAR wasn't being freed in VERIFY_RETURN
2015-05-27 01:18:06 +02:00
Bob Weinand 5bec1490f9 Fix phpdbg class fetch / method opcodes 2015-05-27 00:55:26 +02:00
Dmitry Stogov 7dac4d449f Add targets to simplify building PHP with FDO (Feedback Directed Optimisation)
PHP should be built with the folowing steps:

make clean
make -j4 prof-gen
; now php should be trained with some scripts
; for example `sapi/cgi/php -T 1000 /var/www/http/wordpress/index.php > /dev/null`
make prof-clean
make -j4 prof-use

The "properly" trained build may give up to 10% real performance boost!
"Improprly" trained PHP might be even slower.
2015-05-26 17:33:25 +03:00
Reeze Xia ca31711625 Fixed phpdbg exit unexpected after signal SIGCONT on OS X 2015-05-26 22:04:50 +08:00
Anatol Belski 4faf7476f9 fix dir sep in test 2015-05-26 13:09:56 +02:00
Xinchen Hui 438d17e74e Even fake token better to be in upper case 2015-05-26 18:11:07 +08:00
Xinchen Hui 4a728227fc Merge branch 'PHP-5.6' 2015-05-26 16:26:23 +08:00
Xinchen Hui 1f077cc4f4 Merge branch 'PHP-5.5' into PHP-5.6 2015-05-26 16:24:39 +08:00
Xinchen Hui 76a290d0be Fixed C89 2015-05-26 16:24:18 +08:00
Anatol Belski 6d582c6a24 added the shared fcgi imp to sapi/cgi
This is yet a workaround, if another part of the source would need
the same object file, it'll end up producing duplicated nmake target.
Some additional implementation is needed so same object files can be
shared between different modules, to handle this situation better.
2015-05-26 09:44:41 +02:00
Anatol Belski fd256be671 remove fastcgi.c from the dll target 2015-05-26 09:03:52 +02:00
Anatol Belski cf0397ef06 reverted 0512b38 and 1411ca5 2015-05-26 09:02:19 +02:00
Xinchen Hui 49b10ee264 Merge branch 'master' into merge-fastcgi 2015-05-26 14:17:21 +08:00
Xinchen Hui 9f1788f00d Only link fastcgi into fpm and cgi 2015-05-26 13:55:39 +08:00
Xinchen Hui 5f753f9e2e Micro optimizations 2015-05-26 11:47:01 +08:00
Xinchen Hui 770a462943 implicit declaration of function ‘zend_multibyte_yyinput_again’ 2015-05-26 10:36:52 +08:00
Bob Weinand 1a7bf16dd6 Ran wrong tests, fixed bug in impl; simplified 2015-05-26 01:43:56 +02:00
Bob Weinand bb552908a0 Speed up implod()'ing between 5% and 30% (by time)
Significantly speed up implode()'ing on integers now...
Previously I accidentally committed the first part of the patch in 69b54ba926
2015-05-26 01:12:23 +02:00
Bob Weinand 31f3eeb0c5 Fix tokenizer test due to recent changes 2015-05-26 00:17:27 +02:00
Bob Weinand 8cd62071ab Add class to semi_reserved tests 2015-05-25 23:07:37 +02:00
Márcio Almada e67a129ea6 updates grammar tests with class members named as method modifiers \cc @bwoebi 2015-05-25 23:00:39 +02:00
Bob Weinand 69b54ba926 Also unreserve T_CLASS 2015-05-25 22:58:30 +02:00
Bob Weinand 36c3c47434 Set %expect to 0 in parser (Using %prec) 2015-05-25 20:26:57 +02:00
Bob Weinand 306a0f28d0 Merge branch 'master' of https://github.com/php/php-src 2015-05-25 19:00:53 +02:00
Bob Weinand 21ccdf6304 Rebuild scanner, add NEWS/UPGRADING 2015-05-25 19:00:08 +02:00
Dmitry Stogov 03f41f9b4d Prevent op_array->this_var setting when method uses auto globals 2015-05-25 19:59:25 +03:00
Bob Weinand 886cbea94f Merge context sensitive lexer RFC 2015-05-25 18:38:40 +02:00
Dmitry Stogov 18cd4b17cc Fixed typo 2015-05-25 19:20:52 +03:00
Anatol Belski cf50748f2b move S_IFLNK define into header 2015-05-25 18:07:47 +02:00
Anatol Belski c444c4172f further cleanups with S_IF* macros generalized declarations 2015-05-25 18:03:28 +02:00
Anatol Belski cfadcfc734 cleanup more redundant S_IS* declarations 2015-05-25 18:03:26 +02:00
Anatol Belski d713fcc14d cleanup redundant S_IFDIR declaration 2015-05-25 18:03:24 +02:00
Anatol Belski f4c07e7e76 cleanup duplicated stat declarations in ext/phar 2015-05-25 18:03:22 +02:00
Anatol Belski 5d1731b2fb move some stat declarations into zend_virtual_cwd.h
more cleanup to go
2015-05-25 18:03:21 +02:00
Dmitry Stogov c436e25fd5 Fixed bug #69700 (tests/lang/this_assignment.phpt memory errors) 2015-05-25 18:29:31 +03:00
Xinchen Hui 06483a98d6 Fixed va_list double used 2015-05-25 15:40:32 +08:00
Anatol Belski 404360f261 pick up sasl auth plugins if there was any in the deps 2015-05-24 23:49:45 +02:00
Anatol Belski c63467fe6e remove non-applicable comment 2015-05-24 23:49:43 +02:00
Anatol Belski d28ab1cba3 fix datetime tests with vc14
VC14 RC seems to support more format extensions, however some
difrerences do still persist.
2015-05-24 23:49:42 +02:00
Anatol Belski 9770553437 make the test more reliable 2015-05-24 23:49:40 +02:00
Nikita Popov a1ef8b418d Improve phpdbg opcode dump
Don't show <unused>, just don't display anything instead.

Dump nums used in op1/op2/result, e.g. for SEND, RECV etc.

Split the switch into three parts, one for each operand.
2015-05-24 20:29:57 +02:00
Remi Collet fc8143f58a Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  NEWS
  Fixed Bug #69479 GD fails to build with newer libvpx
2015-05-24 09:40:08 +02:00
Remi Collet c630779648 NEWS 2015-05-24 09:39:44 +02:00
Remi Collet 565de1ae64 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  Fixed Bug #69479 GD fails to build with newer libvpx
2015-05-24 09:39:20 +02:00
Remi Collet 4cab20bbb4 NEWS 2015-05-24 09:39:03 +02:00
Remi Collet e807e07bfa Fixed Bug #69479 GD fails to build with newer libvpx
From upstream https://github.com/libgd/libgd/commit/d41eb72cd4545c394578332e5c102dee69e02ee8

Fix build with latest libvpx 1.4.0

These new constants exist at least since 1.0.0
Compatibility ones have been droped in 1.4.0
2015-05-24 09:37:12 +02:00
Xinchen Hui 61f652a179 Merge branch 'master' into merge-fastcgi 2015-05-24 14:23:34 +08:00
Xinchen Hui 231f059d8c fcgi_is_allowed should not log error 2015-05-24 14:21:04 +08:00
Xinchen Hui 9dbf8794bb Merge pull request #1 from weltling/merge-fastcgi
Missing symbols to get it worky on Windows
2015-05-24 10:09:59 +08:00
Anatol Belski 35ba1601f5 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
2015-05-23 23:02:47 +02:00
Anatol Belski 4e002b4412 updated NEWS 2015-05-23 23:02:09 +02:00
Nikita Popov f3dde29394 Fixes for x32 ABI
I'm assuming that we want to have 64bit zend_longs on x32 here.

This fixes two typos in __x86_64__ macros and adds sign-extension
when assigning STREAM_COPY_ALL to zend_long.
2015-05-23 21:18:33 +02:00
Anatol Belski 0512b38309 add the remaining useful symbols to the export 2015-05-23 21:00:47 +02:00
Anatol Belski 1411ca58b1 implement necessary symbol exports 2015-05-23 20:55:20 +02:00
Xinchen Hui f20118aa66 Avoid multipy allocating of request env 2015-05-24 01:07:36 +08:00
Anatol Belski d5f695ce7b Merge branch 'PHP-5.6'
* PHP-5.6:
  increase the internal post data buffer
2015-05-23 18:47:26 +02:00
Anatol Belski f3cec08e65 increase the internal post data buffer
This brings speedup and fixes issues with var parsing. Default BUFSIZ
on Windows is 512 bytes which causes too much reallocation work.
2015-05-23 18:44:39 +02:00
Xinchen Hui 86de98caba Use weak function for fcgi_log 2015-05-23 19:19:48 +08:00
Xinchen Hui 18cf4e0a8a Fixed fpm-side (tests passes) 2015-05-23 19:01:41 +08:00
Levi Morrison e13803d15b Inline zend_find_builtin_type
This function was used only inside of zend_find_builtin_type_by_name,
which is also used only one time.
2015-05-23 11:12:13 +02:00
Levi Morrison e22ceb6e82 Remove duplication 2015-05-23 11:12:13 +02:00
Levi Morrison 339283c523 Rename some variables and functions
The way these are used have little to do with them being scalars;
they are just tuples with names, lengths and IS_* constants. We
will probably reuse these in the future with other types.
2015-05-23 11:12:12 +02:00
Radu Brănișcan 0c7634fcc7 Corrected line comment 5256
From the text "dectupt" to "decrypt"
2015-05-23 11:11:58 +02:00
Nikita Popov 8542befa7b Remove ZEND_BRK/ZEND_CONT from VM
These are no longer used at run-time now, only temporarily during
compilation.
2015-05-23 10:51:33 +02:00
Nikita Popov 7a88d16cf3 Use ZEND_JMP instead of ZEND_BRK/ZEND_CONT
Emit necessary FREEs during compilation, convert to JMP during
pass_two (we may not know target opline beforehand).
2015-05-23 10:51:33 +02:00
Nikita Popov 9325ada725 Embed break/continue depth into opline
Previously a separate lval literal was used - this is probably a
leftover from the time where the break level could still be
specified dynamically.
2015-05-23 10:51:33 +02:00
Nikita Popov 3cbe3903fa Move loop var stack management into begin/end loop
Also set start to -1 in begin_loop already, so the info that a
loop variable is not used is already available at compile-time.
2015-05-23 10:51:33 +02:00
Nikita Popov d0e265392f Drop FREE_ON_RETURN flag, check brk_cont->start instead
Start >= 0 already tells us whether or not the loop has a loop
variable, no need to add extra flags to opcodes.

Also added a test for a case where FREE_ON_RETURN is relevant,
we didn't seem to have any coverage for this.
2015-05-23 10:51:33 +02:00
Nikita Popov 1bee093eca Drop THIS_HASHVAL define
No longer used
2015-05-23 10:51:32 +02:00
Xinchen Hui fef18f4bea Merge branch 'master' into merge-fastcgi 2015-05-23 10:29:45 +08:00
Anatol Belski 8d7003f708 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test
  Add entry for bug #69354, fixed in 5.5.25
  Add CVE for bugs in 5.6.9
  Add entry about PCRE upgrade (rev 95fa7279)
  Add CVE for bugs in 5.5.25

Conflicts:
	ext/phar/tests/bug69441.phpt
2015-05-22 21:32:40 +02:00
Anatol Belski 0bc3a74334 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-05-22 21:27:19 +02:00
Anatol Belski d9c266f4c9 fix test
Sometimes the path is unixified, sometimes not, so better don't
care about the slash in this case.
2015-05-22 21:25:52 +02:00
Lior Kaplan 2e2cbcc926 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add entry for bug #69354, fixed in 5.5.25
  Add entry about PCRE upgrade (rev 95fa7279)
  Add CVE for bugs in 5.5.25
2015-05-22 11:18:32 +03:00
Lior Kaplan 827d2c1415 Add entry for bug #69354, fixed in 5.5.25 2015-05-22 11:17:01 +03:00
Lior Kaplan f736934af0 Add CVE for bugs in 5.6.9 2015-05-22 11:15:36 +03:00
Lior Kaplan 7ecab5d23f Add entry about PCRE upgrade (rev 95fa7279) 2015-05-22 11:02:01 +03:00
Lior Kaplan c9ac441fe8 Add CVE for bugs in 5.5.25 2015-05-22 10:58:28 +03:00
Xinchen Hui 50688e3984 Forgot the test for bug #69688 2015-05-22 11:50:55 +08:00
Xinchen Hui 95da6b76f3 Fixed test 2015-05-22 11:49:15 +08:00
Xinchen Hui 8c0ba65d6a Fixed bug #69688 (segfault with eval and opcache fast shutdown) 2015-05-22 11:48:13 +08:00
Anthony Ferrara ed4052f1d5 Fixed bug #69686 password_verify reports back error on PHP7 will null string.
The deprecation of DES salts created a warning when trying to verify them with password_hash. This bug fix adds a quiet mode to php_crypt() which is used by password_verify.
2015-05-21 17:12:51 -04:00
Nikita Popov 3dba00bc31 Fix scope_is_known() for class constants
Here the active_op_array is still the surrounding file, but we
do know the scope.
2015-05-21 21:07:05 +02:00
Dmitry Stogov f186d4b8b1 Fixed build with DEBUG_COMPACT_LITERALS=1 2015-05-21 17:57:06 +03:00
Dmitry Stogov 58c484a0bb Fixed typo in ZEND_GCC_GLOBAL_REGS configure test (Albert) 2015-05-21 16:34:59 +03:00
Peter Cowburn 474e4220ef removed old news item
This change was introduced in PHP 5.5.21 and 5.6.5
2015-05-21 13:17:27 +01:00
Remi Collet aec039cc6e Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS
  Fixed bug #69680 (phar symlink in binary directory broken).
  Make the phar symlink relative
2015-05-21 14:07:14 +02:00
Remi Collet 68e368ed34 NEWS 2015-05-21 14:07:02 +02:00
Remi Collet 17d5ebe76e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69680 (phar symlink in binary directory broken).
  Make the phar symlink relative
2015-05-21 14:06:26 +02:00
Remi Collet a7de68f98a Fixed bug #69680 (phar symlink in binary directory broken).
Relative symlink are better, as relative to link directory.
2015-05-21 14:05:15 +02:00
ponce c3d983f3af Make the phar symlink relative
or we got a symlink pointing to the build files
thanks also to remicollet
2015-05-21 14:03:18 +02:00
Anatol Belski 5acddf898f Merge branch 'PHP-5.6'
* PHP-5.6:
  remove duplicated declaration, fix build
2015-05-21 10:57:30 +02:00
Anatol Belski 4fe938b0a9 remove duplicated declaration, fix build 2015-05-21 10:56:14 +02:00
Anatol Belski 928e9e980b Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  added missing GLOB_BRACE support check
  added SKIPIF section to test to make sure that GLOB_BRACE is supported
  fix #69628: complex GLOB_BRACE fails on Windows
  added PHPT to check for bug #69628
2015-05-21 09:49:18 +02:00
Anatol Belski e85653051a updated NEWS 2015-05-21 09:47:59 +02:00
Anatol Belski fc94fb3e5b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  added missing GLOB_BRACE support check
  added SKIPIF section to test to make sure that GLOB_BRACE is supported
  fix #69628: complex GLOB_BRACE fails on Windows
  added PHPT to check for bug #69628
2015-05-21 09:47:30 +02:00
Anatol Belski c507c533bd updated NEWS 2015-05-21 09:47:02 +02:00
Christoph M. Becker 96629091a6 added missing GLOB_BRACE support check 2015-05-21 09:44:18 +02:00
Christoph M. Becker 6895ae4553 added SKIPIF section to test to make sure that GLOB_BRACE is supported 2015-05-21 09:44:17 +02:00
Christoph M. Becker 8c6e8e7870 fix #69628: complex GLOB_BRACE fails on Windows 2015-05-21 09:44:15 +02:00
Christoph M. Becker 90aee01c85 added PHPT to check for bug #69628 2015-05-21 09:44:14 +02:00
Anatol Belski eef762d576 Merge branch 'pull-request/1278' 2015-05-21 08:52:41 +02:00
Anatol Belski 360d8fd712 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix handling VAR vs VAR= in putenv
2015-05-21 08:22:30 +02:00
Anatol Belski ad4d022bdf Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix handling VAR vs VAR= in putenv
2015-05-21 08:21:53 +02:00
Anatol Belski 75286ece1a fix handling VAR vs VAR= in putenv
using _putenv_s eliminates behavior diff in TS/NTS
2015-05-21 08:19:54 +02:00
Bob Weinand 9b6bb2d451 Add support for string dictionaries, fix array dictionaries ({de,in}flate) 2015-05-21 04:17:17 +02:00
Dmitry Stogov ca64b41b99 Fixed zend_update_class_constants() to always resolve all constants.
Call zend_update_class_constants() only when necessary.
2015-05-21 04:13:10 +03:00
Adam Harvey 0c50f49710 Add documentation contribution information. 2015-05-20 19:26:20 -05:00
Adam Harvey 81f4a7dfc1 Add a bare bones CONTRIBUTING.md.
I was not at all guilted into this by the open source summit at php[tek]. Not
at all.

(such guilt)

This is based mostly on information already on our Web site, and is primarily a
set of links to other pages. Still, if we can encourage more contributors,
let's do it!
2015-05-20 19:13:52 -05:00
Dmitry Stogov 0da206e4b7 Set proper type_info flags. 2015-05-21 00:51:34 +03:00
Dmitry Stogov cf6ac5c665 Fixed SHM+FILE cache with opcache.protect_memory=1 2015-05-20 23:33:55 +03:00
Dmitry Stogov 5ff5201543 Improved script copyining from SHM to process memory 2015-05-20 23:12:04 +03:00
Dmitry Stogov d6bcf2bf2e Micro optimization 2015-05-20 22:51:45 +03:00
Dmitry Stogov e57aceed42 Fixed access to wrong opline (it may be the last ZEND_THROW in op_array->opcodes) 2015-05-20 22:49:37 +03:00
Christoph M. Becker 99d7852d18 added missing GLOB_BRACE support check 2015-05-20 20:23:21 +02:00
Anatol Belski 5ea429494e add license header 2015-05-20 19:14:09 +02:00
Anatol Belski fad25c9306 add license header 2015-05-20 19:14:07 +02:00
Anatol Belski 514aa4ef53 remove dead code 2015-05-20 19:14:06 +02:00
Anatol Belski a6190359ad add vim modelines 2015-05-20 19:14:05 +02:00
Anatol Belski a233af16b9 add vim modeline 2015-05-20 19:14:04 +02:00
Anatol Belski 5dc7db8ee7 disable unused members in struct rusage 2015-05-20 19:14:02 +02:00
Christoph M. Becker b654aa4606 added SKIPIF section to test to make sure that GLOB_BRACE is supported 2015-05-20 18:39:07 +02:00
Nikita Popov b081da657e Expose pdo stmt ctor args to gc
These very commonly contain a reference to the PDO object itself.
2015-05-20 18:28:09 +02:00
Nikita Popov 4e03ba4a6e Add GC support for ArrayObject
gc_024 test changes because the array that ArrayObject holds is
now counted separately from the ArrayObject.
2015-05-20 18:28:09 +02:00
Nikita Popov 4ea1d8a9c7 Show argument causing TypeException in trace
Not sure why that check was there, did I miss something?
2015-05-20 18:28:09 +02:00
Kalle Sommer Nielsen e60c119695 Merge branch 'master' of https://git.php.net/push/php-src 2015-05-20 16:15:40 +02:00
Kalle Sommer Nielsen 958d9505aa long > zend_long (Thanks Anatol) 2015-05-20 16:15:11 +02:00
Anatol Belski 8dbd39d96e fixed test 2015-05-20 15:56:16 +02:00
Kalle Sommer Nielsen e634f07f1e Merge branch 'master' of https://git.php.net/push/php-src 2015-05-20 15:50:00 +02:00
Kalle Sommer Nielsen 22fc3baa7a Windows support for getrusage()
* See getrusage.c/h for implementation details and limitations
* Tests passes and have had their SKIPIF updated
* psapi.lib is now linked to by default
2015-05-20 15:45:37 +02:00
Remi Collet 88aab478bf move test 2015-05-20 14:03:41 +02:00
Remi Collet e0cd1823ec Merge branch 'PHP-5.6'
* PHP-5.6:
  move test
2015-05-20 14:03:01 +02:00
Remi Collet 59a78d48f0 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  move test
2015-05-20 14:02:25 +02:00
Remi Collet 3be4e5d71a move test 2015-05-20 14:02:13 +02:00
Xinchen Hui c4129694a8 Merge branch 'patch-5' of https://github.com/ovr/php-src 2015-05-20 16:56:28 +08:00
Remi Collet 593c4b9b00 NEWS 5.4 2015-05-20 08:47:04 +02:00
Remi Collet 3ee3066bd0 fix new test 2015-05-20 08:46:14 +02:00
Remi Collet f93d24aa67 Fixed Bug #69667 segfault in php_pgsql_meta_data
Incomplete fix for #68741
2015-05-20 08:46:01 +02:00
Remi Collet f7bfeac419 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix new test
2015-05-20 08:31:46 +02:00
Remi Collet f228bc5230 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix new test
2015-05-20 08:30:44 +02:00
Remi Collet 716fe10d97 fix new test 2015-05-20 08:30:27 +02:00
Remi Collet 8ad4a21c44 Merge branch 'PHP-5.6'
* PHP-5.6:
  NEWS 5.6
  NEWS 5.5
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  fix test output (32bits)

Conflicts:
	ext/pgsql/pgsql.c
2015-05-20 08:14:02 +02:00
Remi Collet 6da4feac35 NEWS 5.6 2015-05-20 08:11:55 +02:00
Remi Collet e41a2009d6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS 5.5
  Fixed Bug #69667 segfault in php_pgsql_meta_data
  fix test output (32bits)
2015-05-20 08:11:24 +02:00
Remi Collet 4bda39b81d NEWS 5.5 2015-05-20 08:11:14 +02:00
Remi Collet 2cc4e69cc6 Fixed Bug #69667 segfault in php_pgsql_meta_data
Incomplete fix for #68741
2015-05-20 08:08:41 +02:00
Anatol Belski 890a28d4b9 Fixed bug #69511 Off-by-one bufferoverflow in php_sys_readlink 2015-05-19 15:44:55 +02:00
Dmitry Patsura b6f8b4e949 [Math] ceil, floor added FAST_ZPP parameters pass 2015-05-19 21:19:13 +08:00
Dmitry Stogov eebab8282b Improved hash table copying 2015-05-19 13:23:13 +03:00
Dmitry Stogov 6c8d49b6b0 Improved hash table copying 2015-05-19 13:22:58 +03:00
Kalle Sommer Nielsen 27b83079fe This shouldn't have been a part of the previous commit 2015-05-19 12:20:25 +02:00
Kalle Sommer Nielsen 7017fcdb38 Merge branch 'master' of https://git.php.net/push/php-src 2015-05-19 12:13:19 +02:00
Kalle Sommer Nielsen dd527806e9 * Make ext/dba compile with newer versions of Oracle's Berkeley (in my case 6.1)
* Make the db3 driver work with 4.3+
2015-05-19 12:12:24 +02:00
Remi Collet a861019b7f Add consistency check in FAST_ZPP call
So ensure Z_PARAM_OPTIONAL is correctly call at the right place
Only in DEBUG build

Will raise 'Assertion `_i > _min_num_args || _optional==0' failed.'
or         'Assertion `_i <= _min_num_args || _optional==1' failed.'
Thus will allow to detect bad code early.
2015-05-19 10:54:10 +02:00
Xinchen Hui ba5ecf355f Use logger pointer 2015-05-19 16:34:08 +08:00
Dmitry Stogov b3d053b036 Eliminated useless check in FAST_ZPP (this also fixed few wrong -Wmaybe-uninitialized compilation warnings) (Remi) 2015-05-19 11:06:01 +03:00
Xinchen Hui e383cb4493 Move fastcgi.c to main 2015-05-19 16:04:35 +08:00
Anatol Belski f378b9a998 fix test title 2015-05-18 22:37:31 +02:00
Anatol Belski 6fe4f18dcd fork test for ICU >= 55.1 compat 2015-05-18 22:37:29 +02:00
Anatol Belski 8af0de914f sync test with exception currently thrown 2015-05-18 22:37:28 +02:00
Anatol Belski d3515bdef0 fork test for ICU >= 55.1 compat 2015-05-18 22:37:26 +02:00
Anatol Belski bb27f4ca8b fork test for ICU >= 55.1 compat 2015-05-18 22:37:25 +02:00
Anatol Belski 83f98277c2 skip test for ICU >= 55.1, a newer test is available and passes 2015-05-18 22:37:23 +02:00
Anatol Belski 3658412814 fork test for ICU >= 55.1 compat 2015-05-18 22:37:22 +02:00
Anatol Belski 30be2e654e fork test for ICU >= 55.1 compat 2015-05-18 22:37:21 +02:00
Anatol Belski 0f766a28cb fix mbrlen prototype availability 2015-05-18 22:37:19 +02:00
Dmitry Stogov fb8891d9fc Reset heap usage statistics on request shutdown 2015-05-18 23:06:23 +03:00
Aaron Piotrowski 5c54bf015d Throwable method signatures. 2015-05-18 14:29:51 -05:00
Aaron Piotrowski 99640cd013 Merge branch 'master' into throwable-interface 2015-05-18 13:34:46 -05:00
Dmitry Stogov cee88571d9 Fixed bug #69649 (segfault with --enable-dtrace) 2015-05-18 12:44:40 +03:00
Reeze Xia 104f6c5ec6 Avoid possible uninitialized value assignment 2015-05-18 12:49:42 +08:00
Xinchen Hui ab680e7f6e Added Test (the lineno should be fixed) 2015-05-18 11:16:57 +08:00
Xinchen Hui a5f408c91b 1. Fixed bug #69640 Unhandled EngineExceptions thrown from userland do not produce any output
2. Fixed Segfault introduced by latest changes
2015-05-18 11:13:55 +08:00
Reeze Xia d02deee677 Prefer isfinite to finite
Since finite() is not part of ANSI C

@see http://bytes.com/topic/c/answers/217761-finite-ansi-c
2015-05-18 10:44:42 +08:00
Aaron Piotrowski e97d5fab35 Update exception names in tests after formatting changes. 2015-05-17 17:31:43 -05:00
Aaron Piotrowski 7e18df82a3 Merge exception formatting changes. 2015-05-17 17:31:06 -05:00
Aaron Piotrowski fb7206e452 Merge branch 'master' into throwable-interface 2015-05-17 16:15:35 -05:00
Nikita Popov 440481fb3e Display TypeExceptions like normal exceptions
We currently don't show the argument at which the error actually
occured in the trace - should probably either add it or don't
display args on incomplete frames altogether, otherwise this'll
probably be confusing.
2015-05-17 19:54:12 +02:00
Aaron Piotrowski 0eba6f597a Merge branch 'master' into throwable-interface 2015-05-17 12:12:02 -05:00
Aaron Piotrowski 26b35cab46 Make zend_get_exception_base static.
Soap extension can use other API functions.
2015-05-17 11:52:41 -05:00
Nikita Popov 3ae995f03c Tweak uncaught exception message display
This implements a reduced variant of #1226 with just the following
change:

-Fatal error: Uncaught exception 'EngineException' with message 'Call to private method foo::bar() from context ''' in %s:%d
+Fatal error: Uncaught EngineException: Call to private method foo::bar() from context '' in %s:%d

The '' wrapper around messages is very weird if the exception
message itself contains ''. Futhermore having the message wrapped
in '' doesn't work for the "and defined" suffix of
TypeExceptions.
2015-05-17 18:47:06 +02:00
Nikita Popov 0df2f470fa Don't write prop if read prop threw exception 2015-05-17 13:46:54 +02:00
Aaron Piotrowski 434a46612e Fix a few missed tests. 2015-05-16 22:04:16 -05:00
Aaron Piotrowski b965bab9f1 Fix handler double copy. 2015-05-16 19:48:59 -05:00
Aaron Piotrowski 64b167d201 Updated tests to reflect exception class changes. 2015-05-16 16:49:14 -05:00
Stanislav Malyshev 2660fb96aa Merge branch 'pull-request/1277'
* pull-request/1277:
  fix typos
2015-05-16 14:20:41 -07:00
Aaron Piotrowski d042d08807 Remodel exceptions based on Throwable interface
Added Throwable interface that exceptions must
implement in order to be thrown. BaseException
was removed, EngineException renamed to
Error, and TypeException and ParseException
renamed to TypeError and ParseError. Exception
and Error no longer extend a common base
class, rather they both implement the Throwable
interface.
2015-05-16 15:30:59 -05:00
Nikita Popov c9f27ee422 Display EngineExceptions like ordinary exceptions
TypeException stays as-is for now because it uses messages that are
incompatible with the way exception messages are displayed.

closure_038.phpt and a few others now show that we're generating
too many exceptions for compound operations on undefined properties
-- this needs to be fixed in a followup.
2015-05-15 23:40:32 +02:00
Bob Weinand 34e6fbbfed Merge branch 'master' of https://github.com/php/php-src 2015-05-15 22:45:35 +02:00
Nikita Popov 230b435ed4 Fix exception leak in interactive console
Shows up there because it throws at E_WARNING severity level and
as such leak detection is not suppressed.
2015-05-15 22:43:13 +02:00
Xinchen Hui 2eab211379 Fixed segfault 2015-05-16 00:33:49 +08:00
Xinchen Hui 249d4c7fdb code standard 2015-05-16 00:19:43 +08:00
Xinchen Hui 7cead987bd Merge branch 'master' of git.php.net:php-src 2015-05-15 22:57:36 +08:00
Xinchen Hui 48f3f44f32 Hint the compiler 2015-05-15 22:57:17 +08:00
Bob Weinand 6868b56e25 Fix unrelated tests and zlib window size 2015-05-15 13:59:47 +02:00
Anatol Belski 2027b949ea remove version check
the cause of the recursive inclusion is fixed, it's not compiler
version dependent
2015-05-15 08:20:33 +02:00
Matteo Beccati 3bbe81286d Updated test to include ReflectionGenerator 2015-05-15 06:52:04 +02:00
Dmitry Stogov a464045726 Improve strtr() 2015-05-15 04:03:30 +03:00
Bob Weinand 00ea48ad43 Minor typo in warning message 2015-05-15 02:42:11 +02:00
Bob Weinand 227a21b297 Add strategy option to deflate_init() 2015-05-15 02:28:38 +02:00
Bob Weinand dd17e18f41 Add dictionary option to {in,de}flate_init() 2015-05-15 02:28:38 +02:00
Bob Weinand a129ded3c1 Add window option to {de,in}flate_init() 2015-05-15 02:28:37 +02:00
Ferenc Kovacs 738c71aa9a Merge branch 'PHP-5.6'
* PHP-5.6:
  fix NEWS
2015-05-15 01:09:45 +02:00
Ferenc Kovacs 4c5efc7456 fix NEWS 2015-05-15 01:08:50 +02:00
Anatol Belski 55f6687237 added the inclusion guard
the vc check can be likely removed, to be checked
2015-05-15 00:15:01 +02:00
Dmitry Stogov 196b951728 Optimized === and !== with NULL, FALSE, TRUE. 2015-05-15 01:11:29 +03:00
Bob Weinand 06693c3d43 Add NEWS/UPGRADING for ReflectionGenerator class 2015-05-14 22:30:01 +02:00
Bob Weinand aa3c7aa438 Add ReflectionGenerator class 2015-05-14 20:10:35 +02:00
Bob Weinand c6a6b9746d Fix memleak in generators using symtable 2015-05-14 17:17:39 +02:00
Dmitry Stogov fc75d07652 Fixed memory leak 2015-05-14 17:07:32 +03:00
Dmitry Stogov 0604df8a82 Fixed phpdbg build 2015-05-14 16:47:22 +03:00
Dmitry Stogov 8e9b4b5aa7 Refactored custom storage API. 2015-05-14 14:56:13 +03:00
Remi Collet 58e5e006e5 fix test output (32bits) 2015-05-14 10:28:59 +02:00
Christoph M. Becker e42aae1e9b fix #69628: complex GLOB_BRACE fails on Windows 2015-05-13 23:47:54 +02:00
Christoph M. Becker 43315f32e7 added PHPT to check for bug #69628 2015-05-13 22:37:33 +02:00
olshevskiy87 8bdec7a248 fix typos
Signed-off-by: olshevskiy87 <olshevskiy87@bk.ru>
2015-05-13 22:28:35 +04:00
Dmitry Stogov abb616ae20 Merged fastcgi.* reated changes from sapi/cgi 2015-05-13 18:54:41 +03:00
Dmitry Stogov f51e4ae42e Fixed build 2015-05-13 18:53:58 +03:00
Julien Pauli 40d8432138 Updated NEWS 2015-05-13 15:43:03 +02:00
Antony Dovgal 2fa4e79e8a fix tests 2015-05-13 15:34:17 +02:00
Antony Dovgal 5c02e7e7fb merge similar if conditions 2015-05-13 15:34:17 +02:00
Antony Dovgal 7e0e88820a add rusage support to wait() and waitpid()
patch by Anton Stepanenko
2015-05-13 15:34:17 +02:00
Ferenc Kovacs 917f292dc4 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix release dates for 5.6.9/5.6.10. spotted by @Jan-E on github
2015-05-13 15:30:01 +02:00
Ferenc Kovacs e09a0b74d9 fix release dates for 5.6.9/5.6.10. spotted by @Jan-E on github 2015-05-13 15:29:08 +02:00
Anatol Belski b312a7ee38 extend libxml exports 2015-05-13 15:20:20 +02:00
Anatol Belski 17d4be0cb7 fix libxml2 headers lookup 2015-05-13 15:20:19 +02:00
Julien Pauli 96d9a5589d Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
  Updated NEWS
2015-05-13 14:30:11 +02:00
Julien Pauli 8fc4c9444f Updated NEWS 2015-05-13 14:29:53 +02:00
Julien Pauli 7c5de1e99e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-05-13 14:29:29 +02:00
Julien Pauli dcd230de11 Updated NEWS 2015-05-13 14:29:02 +02:00
Julien Pauli 420961524d Merge branch 'PHP-5.6'
* PHP-5.6:
  Close fd at the end, otherwise people complain
  Add file descriptor caching to mcrypt_create_iv()

Conflicts:
	ext/mcrypt/mcrypt.c
2015-05-13 14:21:19 +02:00
Julien Pauli c09fad97d6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Close fd at the end, otherwise people complain
  Add file descriptor caching to mcrypt_create_iv()
2015-05-13 14:19:04 +02:00
Leigh f7952b90ca Close fd at the end, otherwise people complain
Even though it's closed when the process terminates!
2015-05-13 14:18:32 +02:00
Leigh c02c4aca00 Add file descriptor caching to mcrypt_create_iv()
This improves performance for applications that make repeated calls to
mcrypt_create_iv()
2015-05-13 14:18:32 +02:00
Julien Pauli 4f5ab6fca4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-05-13 13:06:19 +02:00
Julien Pauli 1b12982d39 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-05-13 13:06:08 +02:00
Julien Pauli 43c24da166 Updated NEWS 2015-05-13 13:05:46 +02:00
Dmitry Stogov d72a94468e Merged FE_FETCH_R[W] with the following ASSIGN[_REF] when assigne to CV. 2015-05-13 12:55:42 +03:00
Anatol Belski 6254184a4d ups, it should have used Zend MM 2015-05-13 11:11:37 +02:00
Dmitry Stogov 0d3a24c3f7 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix build, catch up with linux part for #66048
2015-05-13 10:10:14 +03:00
Dmitry Stogov 7e5aa6b2ea Removed deprecated conditions 2015-05-13 10:09:06 +03:00
Anatol Belski 890d482197 fix build, catch up with linux part for #66048 2015-05-13 09:05:58 +02:00
Dmitry Stogov f69b30eaae Partial revert of 6a819bba40. 2015-05-13 09:43:05 +03:00
Stanislav Malyshev 4ceb7b46ad 5.4.42 next 2015-05-12 22:30:43 -07:00
Stanislav Malyshev 5a1bef8eef Merge branch 'PHP-5.6'
* PHP-5.6:
  fix format
  update NEWS
  Add test for bug #69522
  Update tests
  Fix bug #69522 - do not allow int overflow
  Forgot test file
  Fix bug #69403 and other int overflows
  Fixed bug #69418 - more s->p fixes for filenames
  Fixed bug #69364 - use smart_str to assemble strings
  Fix bug #69453 - don't try to cut empty string
  Fix bug #69545 - avoid overflow when reading list

Conflicts:
	Zend/zend_alloc.c
	Zend/zend_operators.c
	ext/ftp/ftp.c
	ext/pcntl/pcntl.c
	ext/standard/basic_functions.c
	ext/standard/dir.c
	ext/standard/file.c
	ext/standard/pack.c
	ext/standard/string.c
	main/rfc1867.c
2015-05-12 15:00:24 -07:00
Stanislav Malyshev 587ddf6ddc Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix format
  update NEWS
  Add test for bug #69522
  Update tests
  Fix bug #69522 - do not allow int overflow
  Forgot test file
  Fix bug #69403 and other int overflows
  Fixed bug #69418 - more s->p fixes for filenames
  Fixed bug #69364 - use smart_str to assemble strings
  Fix bug #69453 - don't try to cut empty string
  Fix bug #69545 - avoid overflow when reading list

Conflicts:
	ext/standard/pack.c
2015-05-12 14:26:06 -07:00
Stanislav Malyshev c08f9c2c78 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix format
  update NEWS
  Add test for bug #69522
  Update tests
  Fix bug #69522 - do not allow int overflow
  Forgot test file
  Fix bug #69403 and other int overflows
  Fixed bug #69418 - more s->p fixes for filenames
  Fixed bug #69364 - use smart_str to assemble strings
  Fix bug #69453 - don't try to cut empty string
  Fix bug #69545 - avoid overflow when reading list

Conflicts:
	ext/pcntl/pcntl.c
	ext/standard/basic_functions.c
	ext/standard/pack.c
	ext/standard/tests/dir/opendir_variation1-win32.phpt
2015-05-12 14:24:15 -07:00
Stanislav Malyshev f473ea5464 fix format 2015-05-12 12:37:28 -07:00
Stanislav Malyshev 2f83797a0c update NEWS 2015-05-12 12:17:54 -07:00
Julien Pauli 468e37fe02 fix #66048 for PHP7
* fix-66048:
  Fix for #66048
2015-05-12 16:15:10 +02:00
Julien Pauli 6a819bba40 Fix for #66048 2015-05-12 16:15:01 +02:00
Julien Pauli ff66eec482 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
  Fix for #66048
2015-05-12 16:14:07 +02:00
Julien Pauli adbb301a70 Updated NEWS 2015-05-12 16:13:39 +02:00
Julien Pauli 2ddb560c2e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix for #66048
2015-05-12 16:12:51 +02:00
Julien Pauli c117548ea9 Fix for #66048 2015-05-12 16:12:29 +02:00
Nikita Popov c6b986b4e7 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2015-05-12 15:09:25 +02:00
Nikita Popov e1cb22a23e Fix bug #69599 2015-05-12 15:08:12 +02:00
Dmitry Stogov 0586702d32 Mark first call frames of stack segment with ZEND_CALL_ALLOCATED flag to simplify checks on stack deallocation. 2015-05-12 15:56:42 +03:00
Julien Pauli 653e8c58c8 Updated NEWS 2015-05-12 14:34:14 +02:00
Christoph M. Becker c3c87e4996 return FALSE instead of NULL from ZipArchive::getStream when php_stream_zip_open() fails (fixes #67161) 2015-05-12 14:32:05 +02:00
Adil Ilhan c9c2794fe6 HTTP 506 status code added.
HTTP 506 status code added in main http status codes file. Reference: RFC 2295
2015-05-12 14:08:17 +02:00
Matthias Breddin 3b6381125c Update www.conf.in 2015-05-12 13:52:49 +02:00
Matthias Breddin 6bd4c3e17d Detailed information about the strftime access.log format
More descriptive usage of a custom timeformat
2015-05-12 13:52:49 +02:00
Julien Pauli 0f422fc467 Updated NEWS 2015-05-12 13:36:13 +02:00
Aaron Piotrowski 071111ecfc Add support for $callable() sytnax with 'Class::method'
Using the $callable() syntax when used with a string of
the form 'Class::method' would error as an undefined
function, even if the string passed is_callable() or the
callable type-hint. The fix adds support for the $callable()
syntax for any string accepted by is_callable() or the
callable type-hint.

Fix bug 68475 test with deprecated notice

Reduced scope of unit test.

Added tests with arguments.
2015-05-12 13:33:28 +02:00
Julien Pauli f4d6596283 Reworked NEWS for PHP 7 2015-05-12 13:29:29 +02:00
Dmitry Stogov 06ef3aa6b0 Fixed string handling (string cached in SHM marked as permanent, strings stored in CG(arena) as not)
Fixed anonymous class support
2015-05-12 13:45:52 +03:00
Xinchen Hui 3c027e1e4e Merge branch 'phpize-zts-display' of https://github.com/monque/php-src 2015-05-12 17:42:23 +08:00
Yuchen Wang 2bd097c9f6 Fix wrong display in ZTS checking 2015-05-12 17:32:01 +08:00
Julien Pauli 79fc9662a3 Updated NEWS 2015-05-12 11:29:47 +02:00
Mats Lindh 7a57061a1f Add comment about SEARCH HTTP Verb being possible as well 2015-05-12 11:24:27 +02:00
Mats Lindh b6018144cd Add test for the SEARCH HTTP verb in the CLI HTTP server. 2015-05-12 11:24:27 +02:00
Mats Lindh 98d015c5b7 Add "SEARCH" as supported HTTP verb.
The "SEARCH" HTTP request method is described in RFC5323 as part of
WebDAV, and allows a client to initiate a server side search.
2015-05-12 11:24:27 +02:00
Julien Pauli 7ff82e2020 Updated UPGRADING 2015-05-12 11:20:12 +02:00
Julien Pauli 0b22cf04e3 Fixed tests 2015-05-12 11:18:35 +02:00
Stanislav Malyshev ef8bb69a14 Ban rebinding closures to different internal classes 2015-05-12 10:54:59 +02:00
Julien Pauli 649b82ce4c Updated UPGRADING 2015-05-12 10:47:35 +02:00
Christoph M. Becker 613f747579 prohibit empty cookie names for setcookie() 2015-05-12 10:47:35 +02:00
Xinchen Hui 1b9a88ed1c Merge branch 'fpm-trace' of https://github.com/laruence/php-src 2015-05-12 16:38:40 +08:00
Xinchen Hui 16265a59ac Use explicit type here 2015-05-12 16:35:57 +08:00
Andreas Heigl 983b101f8e Implements extended error messages
This commit introduces a new constant that can be used to retrieve more
detailed error messages.

This fixes #47222

The new constant LDAP_OPT_DIAGNOSTIC_MESSAGE is defined in PHP when the
underlying library provides (and understands) it. This is the case in
the current OpenLDAP-implementation.

Tanks to Johnny Willer who provided the solution at http://stackoverflow.com/questions/28765077/get-number-of-ad-errors-with-ldap-and-php-ldap-function-return-unprecise-error/28816473#28816473
2015-05-12 10:06:54 +02:00
Loïck Piera 5cf78b81ea Fix typo in INSTALL 2015-05-12 09:58:08 +02:00
Josef Šimánek 413d23f6f0 Remove MSIE 5-specific Cache-Control fields.
reverts 04daa55
2015-05-12 09:53:17 +02:00
Stanislav Malyshev 9c0813fd48 Add test for bug #69522 2015-05-11 01:10:35 -07:00
Stanislav Malyshev 634aa0a2db Update tests 2015-05-11 00:12:39 -07:00
Stanislav Malyshev ba1d9cc4b7 Fix bug #69522 - do not allow int overflow 2015-05-10 23:06:08 -07:00
Xinchen Hui 81049cdf06 Implemented fpm_trace for PHP7 2015-05-11 11:22:38 +08:00
Anatol Belski 0be37148ad catch more places for libxml headers search 2015-05-10 22:22:05 +02:00
Anatol Belski becfdeb2ff improve searchability for libxml2 headers
and bring the configs inline with the current libxml2 build
2015-05-10 22:22:03 +02:00
Anatol Belski e570bb430d fix snprintf redefinition in libxmlrpc under vc14 2015-05-10 22:22:02 +02:00
Anatol Belski f22a5bd710 fix timezone usage in soap for vc14 2015-05-10 22:22:01 +02:00
Jakub Zelenka 359df4dea8 Tidy up and regenerate json parser with latest bison version 2015-05-10 18:08:16 +01:00
Anatol Belski c93a360661 fix _timezone usage for vc14 2015-05-10 18:17:24 +02:00
Lauri Kenttä cf7e5357a4 random_int: Fix power of two check.
(x & ~x) is always 0.
((x & (~x + 1)) != x) works.
((x & (x - 1)) != 0) works too.
2015-05-10 13:00:45 +02:00
Stanislav Malyshev e2bbf0a2df Forgot test file 2015-05-10 02:24:29 -07:00
Stanislav Malyshev c591f022f8 Fix bug #69403 and other int overflows 2015-05-10 02:20:08 -07:00
Stanislav Malyshev be9b2a95ad Fixed bug #69418 - more s->p fixes for filenames 2015-05-10 02:09:38 -07:00
Stanislav Malyshev 4605d536d2 Fixed bug #69364 - use smart_str to assemble strings 2015-05-09 23:04:25 -07:00
Stanislav Malyshev 8c8889e7d4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #48147 - implement manual handling of  //IGNORE for broken libc

Conflicts:
	ext/iconv/iconv.c
2015-05-09 19:00:40 -07:00
Stanislav Malyshev 1ceacc813a Merge branch 'fix48147'
* fix48147:
  Fix #48147 - implement manual handling of  //IGNORE for broken libc
2015-05-09 18:59:10 -07:00
Stanislav Malyshev 33594b78ec Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix #48147 - implement manual handling of  //IGNORE for broken libc
2015-05-09 18:57:18 -07:00
Stanislav Malyshev 473ec539a1 Fix #48147 - implement manual handling of //IGNORE for broken libc
Conflicts:
	ext/iconv/iconv.c
2015-05-09 18:54:40 -07:00
SammyK dd2692621d Add tests for CSPRNG, fix C99 comments
Also replace one return; with RETURN_FALSE; for consistency.
2015-05-09 22:29:26 +02:00
Leigh 5f1b83e9bb Improve CSPRNG implementation 2015-05-09 21:57:59 +02:00
SammyK bc54d139aa Initial implementation for CSPRNG API 2015-05-09 21:57:50 +02:00
Stanislav Malyshev f8f1d275cf Fix #48147 - implement manual handling of //IGNORE for broken libc 2015-05-08 12:55:39 -07:00
Nikita Popov 8f9f21e8d2 Fix static closure error in call_user_func opcode
I'm assuming this is the only error that is_callable() can generate
with retval=1.

This problem manifested after making closures in static methods
not implicitly static, but would also occur when binding any non-static
closure to a scope without a $this.
2015-05-08 15:17:15 +02:00
Xinchen Hui 9d4465e480 Sorry, missed here should be checked 2015-05-08 14:03:08 +08:00
Xinchen Hui 33097bcff6 Remove not necessary checks 2015-05-08 13:54:28 +08:00
Xinchen Hui f05baec0db Reorder fields of curl 2015-05-08 13:36:55 +08:00
Xinchen Hui 0c92538e6f revert previously change to this 2015-05-08 10:33:19 +08:00
Daniel Lowrey c488172975 Improve ZBLOCK handling with zlib < 1.2.4
The original commit for this issue (62b1293) assumed Z_BLOCK was
only defined in < 1.2.4. However, this flush type *is* defined but
is only unavailable for use with deflate().

This new commit correctly checks the ZLIB_VERNUM constant to
determine if Z_BLOCK flush is available for the current deflate()
operation and triggers an appropriate error as needed.

New ZLIB_VERSION and ZLIB_VERNUM constants are also exposed in
userland to allow testing this behavior in environments running
zlib < 1.2.4 (ZLIB_VERNUM check is needed).
2015-05-07 10:31:41 -04:00
Dmitry Stogov 3cc59b3fa0 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Add some NEWS entries
  Allow self etc in eval / file scope
  fix typo in php.ini
2015-05-07 17:27:29 +03:00
Dmitry Stogov a989c0a1a9 Improved fast path locality 2015-05-07 17:26:35 +03:00
Dmitry Stogov bdbe121098 Fixed $this release 2015-05-07 17:26:01 +03:00
Xinchen Hui d258b7a5e4 Merge branch 'php-ini-typo' of https://github.com/lazysoundsystem/php-src 2015-05-07 22:24:21 +08:00
Nikita Popov 34100be688 Add some NEWS entries 2015-05-07 15:38:16 +02:00
Nikita Popov 6ef8ae65a2 Allow self etc in eval / file scope
This fixes a regression from 16a9bc1ec2.
Together with the recent closure related changes this should allow
all usages of self etc, while previously (in PHP 5) some things like
self::class did not work.
2015-05-07 15:38:16 +02:00
Dmitry Stogov ab4ccffc4c Avoid unnecessary reference counter incrementation on $this when call methods 2015-05-07 16:28:23 +03:00
Daniel Lowrey 62b1293e3d Fix Z_BLOCK breakage when built against zlib < 1.2.4 2015-05-07 09:02:38 -04:00
Xinchen Hui fbd1f1f282 Merge branch 'master' of git.php.net:php-src 2015-05-07 19:25:41 +08:00
Xinchen Hui 460e2e6a04 Fixed test in some cases(for more children, needs more time) 2015-05-07 19:25:04 +08:00
Dmitry Stogov e5ea3f362c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  set ext/zip version to 1.13 (as we have new methods... semver...)
2015-05-07 12:19:33 +03:00
Dmitry Stogov e6976e9ba2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF)
2015-05-07 12:17:55 +03:00
Dmitry Stogov 329513c3a7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF)

Conflicts:
	NEWS
2015-05-07 12:16:40 +03:00
Dmitry Stogov 8026001943 Fixed bug #69549 (Memory leak with opcache.optimization_level=0xFFFFFFFF) 2015-05-07 12:14:14 +03:00
Remi Collet f122cc257c set ext/zip version to 1.13 (as we have new methods... semver...) 2015-05-07 10:41:48 +02:00
Dmitry Stogov 9e9170bd07 Strings and other pointers should be handled differently 2015-05-07 11:36:01 +03:00
Dmitry Stogov e96616739c Fixed redundand internal constructor behavior (they shouldn't return NULL anymore) 2015-05-07 10:38:47 +03:00
Rasmus Lerdorf dd0b602381 Fix build 2015-05-06 22:46:56 -07:00
Xinchen Hui 809616c9da Temporary fix for SIGFPE 2015-05-07 11:25:04 +08:00
Dmitry Stogov 3abde43231 Added experimental (disabled by default) file based opcode cache. 2015-05-06 23:46:49 +03:00
Dmitry Stogov 500b884f17 Fixed return without value 2015-05-06 22:53:48 +03:00
Dmitry Stogov 2a9f9860d7 Fixed bug #69534 (Cycle leaks through declared properties on internal classes) 2015-05-06 21:33:49 +03:00
Nikita Popov ab97606b8a Fix compiler assumptions about self/etc wrt closures
* Don't throw an error if self/parent/static are used in a closure
  (outside a class).
* Don't propagate self:: constants into closures
* Use runtime fetch for self::class in closures

Fixes bug #66811.
2015-05-06 18:13:19 +02:00
Nikita Popov bc2ff4a299 Don't implicitly make closures in static methods static
It makes no sense that you can't write a closure using $this in a
static method, even though you can write one outside a class.

Now only closures that have been marked as static will be considered
to be static.

Fixes bug #65598.
2015-05-06 17:29:05 +02:00
Remi Collet d1363e30fd better fix (also fix i386 build) 2015-05-06 16:59:50 +02:00
Remi Collet 31f95eaefb try to fix build when LONG_MAX not defined 2015-05-06 16:24:21 +02:00
Remi Collet 9f2ce6b685 NEWS 2015-05-06 15:24:41 +02:00
Remi Collet 3a55ea02aa add ZipArchive::setCompressionName and ZipArchive::setCompressionIndex methods 2015-05-06 15:16:43 +02:00
Remi Collet 3638ac2300 don't use deprecated libzip call 2015-05-06 15:16:43 +02:00
Remi Collet 9e0cc7a1d9 update libzip to version 1.0.1 2015-05-06 15:16:43 +02:00
Xinchen Hui 31f516b488 Use fast zpp for frequently used gettext(_) 2015-05-06 14:29:19 +08:00
Xinchen Hui 76fb02123f Optimized json_parser
1. use zend_string in key
2. use faster APIs
3. use ZVAL_COPY_VALUE instead of assignment (save u2 copy)
2015-05-06 11:37:30 +08:00
Xinchen Hui 9f0dbdf6c8 Use Z_ARRVAL_P since we already know it's an array 2015-05-06 11:10:33 +08:00
Xinchen Hui c734587303 Fixed comment 2015-05-06 11:03:44 +08:00
Xinchen Hui 13eb630eeb use zval_get_long 2015-05-06 10:58:01 +08:00
Xinchen Hui 55d94a4532 Merge branch 'master' of git.php.net:php-src 2015-05-06 10:51:52 +08:00
Dmitry Stogov 63282d3321 Fixed returning void instead of NULL 2015-05-05 23:50:50 +03:00
Nikita Popov c0c68a9406 Fix build 2015-05-05 21:40:28 +02:00
Nikita Popov d9c2959c27 Fix LSB handling for closures
Closures will now use the called_scope from their instantiation
site. If they are rebound either the class of $this is used or if
no $this is provided the bound scope is used.

With this change the scope for static closures can be changed back
to use EG(scope) rather than EX(called_scope), thus fixing
bug #69568.
2015-05-05 21:14:03 +02:00
Nikita Popov dc546bdc4d Throw exception from FETCH_CLASS_NAME
Instead of empty strings.

This does not affect the existing case of __CLASS__ in traits as
a scope will always exists in that case.
2015-05-05 21:14:03 +02:00
Nikita Popov dd1fdfb17c Use ZEND_FETCH_CLASS_NAME for dynamic self::class etc
Extend the opcode to support getting the parent and static name and
then use it for dynamic ::class resolution.
2015-05-05 21:14:03 +02:00
Dmitry Stogov d7351a5c74 Use Fast ZPP 2015-05-05 21:38:52 +03:00
Dmitry Stogov f6663c7201 Loop splitting and specialization 2015-05-05 18:51:08 +03:00
Dmitry Stogov a8172353ba Micro optimization 2015-05-05 18:50:47 +03:00
Dmitry Stogov 81dd375b5f Fixed compilation warning 2015-05-05 16:28:54 +03:00
Dmitry Stogov b1d486c7d7 e more efficient zend_hash_*() functions 2015-05-05 16:20:29 +03:00
Dmitry Stogov 70c86732cb Use zend_string to represent pdo_column_data.name and avoid duplication. 2015-05-05 16:19:51 +03:00
Dmitry Stogov 275afbacd1 Use zend heap instead of system 2015-05-05 16:06:10 +03:00
Xinchen Hui 9b3a92a1ca micro optimizations 2015-05-05 18:22:38 +08:00
Dmitry Stogov a610e8c4c6 Use better zend_hash_*() functions. 2015-05-05 12:58:11 +03:00
Dmitry Stogov 17e4c62872 Removed check for count() in SXE class 2015-05-05 12:57:30 +03:00
Xinchen Hui 5f8bc73fc3 fixed comment 2015-05-05 17:37:42 +08:00
Remi Collet d754be166e Merge branch 'PHP-5.6'
* PHP-5.6:
  Relax tests failing on i386 with new zic

Conflicts:
	ext/date/tests/getdate_variation7.phpt
	ext/date/tests/localtime_variation3.phpt
2015-05-05 11:37:03 +02:00
Xinchen Hui 7b9e4e19e1 Unused macros 2015-05-05 17:25:25 +08:00
Xinchen Hui c380b2813a Merge branch 'master' of git.php.net:php-src 2015-05-05 17:24:17 +08:00
Xinchen Hui 8c0ebb4c5d Optimize cast simplexml to IS_BOOL 2015-05-05 17:23:54 +08:00
Remi Collet ac3ca0280a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Relax tests failing on i386 with new zic
2015-05-05 11:23:13 +02:00
Remi Collet 33e2aa452d Relax tests failing on i386 with new zic 2015-05-05 11:22:29 +02:00
Xinchen Hui b6e893c143 Unused var 2015-05-05 17:02:54 +08:00
Remi Collet 204e37ab3a Merge branch 'PHP-5.6'
* PHP-5.6:
  Remove SSLv3 test dependencies SSLv3 is going away. Debian8 already ships with an openssl with no SSLv3 support which was causing these tests to fail.
2015-05-05 10:41:47 +02:00
Rasmus Lerdorf 741382d968 Remove SSLv3 test dependencies
SSLv3 is going away. Debian8 already ships with an openssl
with no SSLv3 support which was causing these tests to fail.

Conflicts:
	ext/openssl/tests/session_meta_capture.phpt
2015-05-05 10:40:55 +02:00
Dmitry Stogov 859aa06205 Avoid repeatable lookups for count() method in the same class entry. 2015-05-05 11:10:21 +03:00
Dmitry Stogov 5fc88a9968 Inline IS_LONG value calculation and avoid strtol() call. 2015-05-05 11:09:18 +03:00
Xinchen Hui c50994dc0b Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/ZendAccelerator.h
2015-05-05 11:07:02 +08:00
Xinchen Hui ba1c78c410 Merge branch 'PHP-5.6' of git.php.net:php-src into PHP-5.6 2015-05-05 11:06:23 +08:00
Xinchen Hui 24992a1422 Merge branch 'PHP-5.5' into PHP-5.6 2015-05-05 11:06:14 +08:00
Xinchen Hui cf3e976c3b Update version 2015-05-05 11:06:04 +08:00
Anatol Belski 8f2b0e64d7 add config vars for phpize where conf opts aren't enabled 2015-05-04 16:07:27 +02:00
Anatol Belski 6f917e279f Merge branch 'PHP-5.6'
* PHP-5.6:
  add config vars for phpize
2015-05-04 16:06:23 +02:00
Anatol Belski c4f8dd9071 add config vars for phpize 2015-05-04 15:59:14 +02:00
Anatol Belski 110ce301e0 fix compiler check for phpize 2015-05-04 15:13:58 +02:00
Xinchen Hui ce9248b6ef Merge branch 'PHP-5.6' 2015-05-04 19:26:07 +08:00
Xinchen Hui 7289981c61 Merge branch 'PHP-5.5' into PHP-5.6 2015-05-04 19:22:22 +08:00
Xinchen Hui 7af9ba23a7 Saving the latter checking in most cases 2015-05-04 19:21:54 +08:00
Xinchen Hui 6b5ca7202f Fixed #69566 in master 2015-05-04 10:35:55 +08:00
Xinchen Hui 02110bdfaa Merge branch 'PHP-5.6' 2015-05-04 10:34:57 +08:00
Xinchen Hui e49a0e17b7 Merge branch 'PHP-5.5' into PHP-5.6 2015-05-04 10:34:48 +08:00
Xinchen Hui fff921d7a3 Update NEWS 2015-05-04 10:34:39 +08:00
John Boehr 9708378d13 Fix uninitialized value with extension traits 2015-05-04 10:33:39 +08:00
John Boehr 56fdae9018 Fix uninitialized value with extension traits 2015-05-04 10:33:26 +08:00
Christopher Jones 7ba353ef69 Add unique prefix to exported function 2015-05-02 10:03:30 -07:00
Christopher Jones 0a02cdf775 First pass migrating PDO_OCI to PHP 7 2015-05-01 18:22:41 -07:00
Christopher Jones be806eba80 Export free_statement to replace php_pdo_stmt_delref which was deleted in 9fe8531309 along with php_pdo_stmt_addref 2015-05-01 18:17:34 -07:00
Andy Footner ed87d16c38 fix typo in php.ini 2015-05-01 12:38:07 +02:00
Márcio Almada c2f3091b98 add missing SKIPIF section on test 2015-04-30 03:03:29 -03:00
Márcio Almada 110759386e ext tokenizer port + cleanup unused lexer states
we basically added a mechanism to store the token stream during parsing
and exposed the entire parser stack on the tokenizer extension through
an opt in flag: token_get_all($src, TOKEN_PARSE).

this change allows easy future language enhancements regarding context
aware parsing & scanning without further maintance on the tokenizer
extension while solves known inconsistencies "parseless" tokenizer
extension has when it handles `__halt_compiler()` presence.
2015-04-30 03:03:29 -03:00
Márcio Almada 02a9eb4f8c fix indentation + remove c++ comments 2015-04-30 03:03:29 -03:00
Márcio Almada a75decd452 implement context sensitive language with lexical feedback
The implementation has no regression risks, has an even smaller footprint
compared to the previous attempt involving a pure lexical approach, is higly
predictable and higly configurable.

To turn a word semi-reserved you only need to edit the "SEMI_RESERVED" parser rule,
it's an inclusive list of all the words that should be matched as T_STRING on specific contexts.
Example:

```
method_modifiers function returns_ref indentifier '(' parameter_list ')' ...
```

instead of:

```
method_modifiers function returns_ref T_STRING '(' parameter_list ')' ...
```

TODO: port ext tokenizer
2015-04-30 03:03:29 -03:00
Márcio Almada a54e1237ec add tests for semi reserved words and remove obsolete ones 2015-04-30 03:03:29 -03:00
Stanislav Malyshev c27f012b7a Fix bug #69453 - don't try to cut empty string 2015-04-29 22:51:43 -07:00
Stanislav Malyshev ac28329354 Fix bug #69545 - avoid overflow when reading list 2015-04-29 22:50:18 -07:00
Stanislav Malyshev 98fe9405e2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Upgrade to PCRE 8.37 due to various bugfixes

Conflicts:
	ext/pcre/config.w32
	ext/pcre/config0.m4
	ext/pcre/pcrelib/pcre_jit_compile.c
	ext/pcre/pcrelib/sljit/sljitConfig.h
	ext/pcre/pcrelib/sljit/sljitConfigInternal.h
	ext/pcre/pcrelib/sljit/sljitLir.c
	ext/pcre/pcrelib/sljit/sljitLir.h
	ext/pcre/pcrelib/sljit/sljitNativeARM_32.c
	ext/pcre/pcrelib/sljit/sljitNativeARM_64.c
	ext/pcre/pcrelib/sljit/sljitNativeARM_T2_32.c
	ext/pcre/pcrelib/sljit/sljitNativeMIPS_common.c
	ext/pcre/pcrelib/sljit/sljitNativePPC_common.c
	ext/pcre/pcrelib/sljit/sljitNativeSPARC_common.c
	ext/pcre/pcrelib/sljit/sljitNativeTILEGX_64.c
	ext/pcre/pcrelib/sljit/sljitNativeX86_32.c
	ext/pcre/pcrelib/sljit/sljitNativeX86_64.c
	ext/pcre/pcrelib/sljit/sljitNativeX86_common.c
	ext/pcre/pcrelib/sljit/sljitUtils.c
2015-04-29 22:34:54 -07:00
Stanislav Malyshev 428d0983cd Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade to PCRE 8.37 due to various bugfixes
2015-04-29 22:28:04 -07:00
Stanislav Malyshev ce6db558f9 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Upgrade to PCRE 8.37 due to various bugfixes
2015-04-29 22:27:21 -07:00
Stanislav Malyshev 95fa727992 Upgrade to PCRE 8.37 due to various bugfixes 2015-04-29 22:27:07 -07:00
Ferenc Kovacs 972e94a24d Merge branch 'PHP-5.6'
* PHP-5.6:
  5.6.10 will be next
2015-04-30 00:03:46 +02:00
Ferenc Kovacs 9c7496e0dd 5.6.10 will be next 2015-04-30 00:01:55 +02:00
Nikita Popov 16a9bc1ec2 Disallow self etc outside classes at compile-time
Also fix a bug with return types where "self" was rejected inside
a class, but not on a method.

Fallout: A couple of tests changed to more generic error messages.
2015-04-29 20:51:08 +02:00
Dmitry Stogov d880ead8a7 Improve fast_is_[not_]identical() functions to teturn value instead of takeing additional arguments.
Pair INSTANCEOF with the following JMPZ/JMPNZ.
2015-04-29 16:43:23 +03:00
Dmitry Stogov 1d718fe859 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  5.5.26 now
2015-04-29 14:21:29 +03:00
Dmitry Stogov 762a774c40 Fixed repeatable opcodes on CALL VM without global registers 2015-04-29 14:20:44 +03:00
Julien Pauli f1fa3c4b92 Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.26 now
2015-04-29 11:22:05 +02:00
Julien Pauli d004c1d5ff Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.26 now

Conflicts:
	configure.in
	main/php_version.h
2015-04-29 11:21:18 +02:00
Julien Pauli 775d0707ca 5.5.26 now 2015-04-29 11:16:06 +02:00
Dmitry Stogov 690440771a Paired instuctions frequientiy used together (e.g. comparisons + conditional jumps) 2015-04-29 04:17:59 +03:00
Derick Rethans c2ef8a9acc Merge branch 'PHP-5.6' 2015-04-29 00:29:04 +01:00
Derick Rethans ce9b6e5ee8 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-29 00:28:56 +01:00
Derick Rethans 6a5798d990 Use new structures for tzdb header here as well 2015-04-29 00:28:50 +01:00
Derick Rethans 0f4d527722 Merge branch 'PHP-5.6' 2015-04-29 00:28:20 +01:00
Derick Rethans 66c7eea659 Merge branch 'PHP-5.5' 2015-04-29 00:28:04 +01:00
Derick Rethans 7d6d8a3369 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-29 00:27:55 +01:00
Derick Rethans df49ce3d5a This doesn't work in PHP 5.5 - sigh, I wish the libs were kept in sync 2015-04-29 00:25:29 +01:00
Derick Rethans f179852f83 Merge branch 'PHP-5.6'
Conflicts:
	ext/date/lib/parse_tz.c
2015-04-29 00:10:40 +01:00
Derick Rethans a1fef89abe Merge branch 'PHP-5.5' into PHP-5.6 2015-04-29 00:09:00 +01:00
Derick Rethans 912e42fc23 Split header reading in 32bit and 64bit variants.
We need to use the 64bit header for the second set of transitions, as there
could be a different amount of transitions. This also opens up the way towards
real 64bit support.
2015-04-29 00:08:28 +01:00
Dmitry Stogov d271d2cf7b Make ZEND_RECV_INIT and ZEND_BIND_GLOBALS opcodes to be "repeatabe" with inner-loop instead of main interpreter loop. 2015-04-29 00:40:43 +03:00
Dmitry Stogov 3057034608 Optimize opcodes for fast path 2015-04-28 23:57:21 +03:00
Dmitry Stogov 388c2cbdbc Micro optimizations 2015-04-28 19:11:45 +03:00
Dmitry Stogov 612de5214f Simplified code 2015-04-28 19:11:23 +03:00
Anatol Belski 27a6ab5bc5 updated NEWS and fixed a typo 2015-04-28 17:08:03 +02:00
Derick Rethans 54f016ad77 Merge branch 'PHP-5.6'
Conflicts:
	ext/date/lib/parse_iso_intervals.re
	ext/date/lib/timelib.h
2015-04-28 15:58:30 +01:00
Derick Rethans 43c69443bb Merge branch 'PHP-5.5' into PHP-5.6 2015-04-28 15:57:35 +01:00
Derick Rethans cdd2b8a79f Merge whitespace changes that have been made to timelib and PHP-5.6 and master 2015-04-28 15:57:26 +01:00
Anatol Belski 25a353f231 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  backported patch for bug #69472
2015-04-28 15:35:01 +02:00
Anatol Belski c4739897e7 updated NEWS 2015-04-28 15:34:11 +02:00
Anatol Belski 4af9ca544e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  backported patch for bug #69472
2015-04-28 15:32:22 +02:00
Anatol Belski 3cd3881574 backported patch for bug #69472 2015-04-28 15:31:47 +02:00
Jan Starke 6e4a1b7862 Fixed bug #69472 php_sys_readlink ignores misc errors from GetFinalPathNameByHandleA 2015-04-28 15:28:57 +02:00
Anatol Belski 7857b8a253 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  Fixed bug #69381 out of memory with sage odbc driver
2015-04-28 15:15:30 +02:00
Anatol Belski 5cfb81d5b0 updated NEWS 2015-04-28 15:14:45 +02:00
Anatol Belski b78f8220e7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  Fixed bug #69381 out of memory with sage odbc driver
2015-04-28 15:13:46 +02:00
Anatol Belski 1c7a902d8a updated NEWS 2015-04-28 15:13:19 +02:00
Frederic Marchal f505d11207 Fixed bug #69381 out of memory with sage odbc driver
This is just a hotfix as there are still drivers with no full
ODBC 3.x support. This patch origins from bug #68350 which was
solved by the proper 3.0 migration, another driver (Sage)
turned out to have the real issue.
2015-04-28 15:08:53 +02:00
Anatol Belski 268eb1999b fix bug #69381
a simpler version is to be backported
2015-04-28 15:02:48 +02:00
Anatol Belski ac275f9e31 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix VC9 build with PCRE
  Revert "Fix segfault in ext/date since 957aa2"
  Revert "Fix segfault in ext/date since 957aa2"
2015-04-28 14:39:30 +02:00
Anatol Belski 7ccafe40c2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix VC9 build with PCRE
  Revert "Fix segfault in ext/date since 957aa2"
2015-04-28 14:38:45 +02:00
Anatol Belski 768bbedf82 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix VC9 build with PCRE
2015-04-28 14:38:21 +02:00
Anatol Belski 9c5c3ff022 fix VC9 build with PCRE 2015-04-28 13:15:39 +02:00
Matteo Beccati e645837ba1 Revert "Fix segfault in ext/date since 957aa2"
This reverts commit b5e5098c50.

A proper fix from Derick is underway. I apologise for stepping on his toes ;)
2015-04-28 12:56:15 +02:00
Matteo Beccati 4cabbf9781 Revert "Fix segfault in ext/date since 957aa2"
This reverts commit b5e5098c50.

A proper fix from Derick is underway. I apologise for stepping on his toes ;)
2015-04-28 12:56:11 +02:00
Matteo Beccati 7778a5a9b4 Revert "Fix segfault in ext/date since 957aa2"
This reverts commit b5e5098c50.

A proper fix from Derick is underway. I apologise for stepping on his toes ;)
2015-04-28 12:56:05 +02:00
Remi Collet f4b2ce08c4 Merge branch 'PHP-5.6'
* PHP-5.6:
  relax tests with huge year (new zic)
  ignore second value for huge timestamp test (new zic)
  relax test for date < INT32_MIN (new zic)
  relax bigbang content (new zic)
  Make date transitions tests more flexible
2015-04-28 12:50:30 +02:00
Remi Collet 4131f6bf39 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  relax tests with huge year (new zic)
  ignore second value for huge timestamp test (new zic)
  relax test for date < INT32_MIN (new zic)
  relax bigbang content (new zic)
  Make date transitions tests more flexible
2015-04-28 12:50:09 +02:00
Remi Collet 97fcbf041a relax tests with huge year (new zic) 2015-04-28 12:48:47 +02:00
Remi Collet c1e84a3bde ignore second value for huge timestamp test (new zic) 2015-04-28 12:48:38 +02:00
Remi Collet 194e64982e relax test for date < INT32_MIN (new zic) 2015-04-28 12:48:30 +02:00
Remi Collet ba41b340c2 relax bigbang content (new zic) 2015-04-28 12:48:23 +02:00
Remi Collet c39e777722 Make date transitions tests more flexible
zic in recent glibc (2.20) introduce a new transitionn
so use a range to avoid failure when total number
of transitions is different (243/244)
2015-04-28 12:48:13 +02:00
Dmitry Stogov 89be15c56d Micro optimizations 2015-04-28 12:41:39 +03:00
Matteo Beccati 94f0b940f9 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix segfault in ext/date since 957aa2
2015-04-28 11:08:46 +02:00
Matteo Beccati df490dcf0c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix segfault in ext/date since 957aa2
2015-04-28 10:57:52 +02:00
Matteo Beccati b5e5098c50 Fix segfault in ext/date since 957aa2 2015-04-28 10:57:18 +02:00
Stanislav Malyshev c34aba472c Merge branch 'PHP-5.6'
* PHP-5.6:
  Upgrade PCRE to 8.36, it fixes some crashes

Conflicts:
	ext/pcre/pcrelib/config.h
	ext/pcre/pcrelib/pcre_ucd.c
2015-04-27 23:41:18 -07:00
Stanislav Malyshev 19ad1389aa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade PCRE to 8.36, it fixes some crashes
2015-04-27 23:30:57 -07:00
Stanislav Malyshev 13c32a102c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Upgrade PCRE to 8.36, it fixes some crashes
2015-04-27 23:25:32 -07:00
Stanislav Malyshev 23917b451b Upgrade PCRE to 8.36, it fixes some crashes
We probably will need to go to 8.37 once it is released.
2015-04-27 23:16:54 -07:00
Xinchen Hui 33e32cbe5b Make it inline 2015-04-28 11:30:25 +08:00
Xinchen Hui 38d79e9449 Drop unused num index 2015-04-28 11:26:58 +08:00
Xinchen Hui e563386582 Fixed interned string leaks after new STATIC_KEY flag is introduced 2015-04-28 11:14:21 +08:00
Nikita Popov 422de8a7a7 Drop compile_class_decl return value
Was introduced for anon classes, but no longer needed.
2015-04-27 22:54:02 +02:00
Dmitry Stogov 98e9296f34 Restored accedently removed line that caused memory leak 2015-04-27 23:05:24 +03:00
hakre 6551f996b9 Minor Typo in Comment 2015-04-27 20:06:55 +02:00
Nikita Popov fc264da0e5 Cleanup substr_replace 2015-04-27 18:58:47 +02:00
Nikita Popov 40e465e357 Clean up some type conversions
While at it also fix some type checks in iconv and drop dead and
unported code in standard/filters.
2015-04-27 18:50:08 +02:00
Dmitry Stogov 1800bed104 Micro optimizations 2015-04-27 18:30:33 +03:00
Dmitry Stogov ecaf49eb29 Added news entry 2015-04-27 17:21:16 +03:00
Dmitry Stogov 5af7743cf5 Merge branch 'anon'
* anon:
  Pass class_entry through IS_VAR to avoid hash lookup in ZEND_NEW.
  Use "safe" anonymous class names. Don't show the mangled names through var_dump().
  Refactored using specialized opcodes
  Fix implementing_class handling
  More cleanup (mainly retab)
  Don't issue FETCH_CLASS for anon classes
  More retab
  Simply anon class name generation
  Retab
  Revert unrelated changes / rebase fixup
  Rebase Joe's anon classes implementation
2015-04-27 17:18:35 +03:00
Dmitry Stogov ffe804a50c Use new hash iteration API. 2015-04-27 16:50:47 +03:00
Dmitry Stogov 0182eb4717 Eliminate useless checks 2015-04-27 15:54:41 +03:00
Dmitry Stogov 8acd7f49da Pass class_entry through IS_VAR to avoid hash lookup in ZEND_NEW. 2015-04-27 14:16:29 +03:00
Dmitry Stogov 2a1b0b1121 Use "safe" anonymous class names. Don't show the mangled names through var_dump(). 2015-04-27 13:08:22 +03:00
Dmitry Stogov 94245bc14c Refactored using specialized opcodes 2015-04-27 12:24:39 +03:00
Nikita Popov 8361893444 Fix implementing_class handling 2015-04-26 16:03:58 +02:00
Nikita Popov f2f890a256 More cleanup (mainly retab) 2015-04-26 15:54:30 +02:00
Nikita Popov 03d7042d5c Don't issue FETCH_CLASS for anon classes 2015-04-26 15:44:48 +02:00
Nikita Popov 929fdc1c1a More retab 2015-04-26 15:28:55 +02:00
Nikita Popov 4a7061b0e3 Simply anon class name generation
Drop dead "parent" code
2015-04-26 15:24:13 +02:00
Nikita Popov f16eca58a2 Retab 2015-04-26 15:17:53 +02:00
Nikita Popov 9a1797d48e Revert unrelated changes / rebase fixup 2015-04-26 15:13:49 +02:00
krakjoe 49608e0608 Rebase Joe's anon classes implementation 2015-04-26 15:04:22 +02:00
Derick Rethans 1a4d3e4855 Merge branch 'PHP-5.6' 2015-04-26 11:04:54 +01:00
Derick Rethans 1e18ffd2f8 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-26 11:04:35 +01:00
Derick Rethans 957aa220aa Fixed location reading due to file format changes 2015-04-26 11:04:16 +01:00
Bob Weinand 49bd5eaabf Print should be in *current* context (stack) 2015-04-25 19:15:08 +02:00
Bob Weinand a9a6799964 Add line_start/end info to main op_array 2015-04-25 19:10:58 +02:00
Nikita Popov 300b1db09f Tweak new deflate/inflate implementations
Return NULL on zpp.
Don't manually cast zvals to long.
2015-04-25 19:00:41 +02:00
Nikita Popov 75b4fa079f Fix bug #69532
Partial revert of ea2fc7f935.
2015-04-25 18:47:26 +02:00
Nikita Popov e0a39eecf1 Respect USE_OTHER in spl_array_is_object
Also a bit of code cleanup in get_hash_table.
2015-04-25 16:13:39 +02:00
Nikita Popov 66ce7cc083 Don't store $this reference for IS_SELF AO
The var_dump output changes in array_022.phpt were wrong previously,
the "storage" that was referenced there was not the actually used
storage.
2015-04-25 16:13:37 +02:00
Nikita Popov 3140d0c0c8 Drop ArrayObject IS_REF flag 2015-04-25 16:13:32 +02:00
Derick Rethans 0cfbdb7200 - Updated to version 2015.4 (2015d) 2015-04-24 22:56:26 +01:00
Derick Rethans 6f3483c8a4 Empty merge 2015-04-24 22:56:26 +01:00
Dmitry Stogov b250f46703 Optimized HashTable copy and cleanup function for cases without holes. 2015-04-24 22:43:50 +03:00
Derick Rethans ad9aaf8093 - Updated to version 2015.4 (2015d) 2015-04-24 17:22:33 +01:00
Derick Rethans 73a07522ef Empty merge 2015-04-24 17:22:32 +01:00
Derick Rethans 53c49994f2 - Updated to version 2015.4 (2015d) 2015-04-24 17:22:31 +01:00
Nikita Popov 2a87a42cd4 Dropped CN_match and SNI_server_name context options 2015-04-24 18:18:18 +02:00
Nikita Popov 4694e1c020 Remove PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT
Use the generic ATTR_EMULATE_PREPARES instead.
2015-04-24 18:08:18 +02:00
Daniel Lowrey 38ea6a827e Fix vim folding block 2015-04-24 09:27:24 -06:00
Daniel Lowrey 3973f5df5c UPGRADING 2015-04-24 09:25:21 -06:00
Daniel Lowrey 32dcbd10ee Update NEWS/UPGRADING 2015-04-24 09:19:58 -06:00
Daniel Lowrey 852904173e Merge branch 'deflate'
* deflate:
  Add inflate_*() test cases
  Add incremental zlib inflate API
  Add deflate_*() test cases
  Several deflate_* changes (more after the jump)
  Add incremental zlib deflate API
2015-04-24 09:02:59 -06:00
Dmitry Stogov ef36d8a91e Optimized zend_hash_rehash(), added some exoectations to generate better code 2015-04-24 13:00:56 +03:00
Yasuo Ohgaki e881017a75 Merge branch 'PHP-5.6'
* PHP-5.6:
  Set NULL after efree
2015-04-24 16:06:41 +09:00
Yasuo Ohgaki 02ff308e27 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Set NULL after efree
2015-04-24 16:05:50 +09:00
Yasuo Ohgaki 4c711200b4 Set NULL after efree 2015-04-24 16:04:01 +09:00
Dmitry Stogov 6265687768 Added HashTable flag HASH_FLAG_STATIC_KEYS that is maintaned to be set if all hash table keys are numbers or interned strings.
Take this flag into account when copy or destroy HashTable to avoud useless checks for each key.
2015-04-24 09:34:50 +03:00
Daniel Lowrey 0e62416101 Add inflate_*() test cases 2015-04-23 23:50:59 -06:00
Daniel Lowrey 585037c196 Add incremental zlib inflate API 2015-04-23 23:50:56 -06:00
Daniel Lowrey 4d5324088c Add deflate_*() test cases 2015-04-23 23:49:41 -06:00
Daniel Lowrey daecc32618 Several deflate_* changes (more after the jump)
- Remove deflate_flush()
- Add ZLIB_FINISH constant for use with deflate_add()
- Use options array at parameter 2 of deflate_add() to insulate
  against future API changes
- Minor bug fixes
- deflate_init() and deflate_add() now always return FALSE in the
  event of an error
2015-04-23 23:49:35 -06:00
Dmitry Stogov 000d5d7ec9 Dont't use DO_ICALL for internal functions returned by reference 2015-04-24 00:34:11 +03:00
Dmitry Stogov fc80305e48 Cleanup comments and add related tests. 2015-04-23 17:52:05 +03:00
Xinchen Hui ea2fc7f935 Slight improvement 2015-04-23 21:50:38 +08:00
Kalle Sommer Nielsen f2435bd252 Fixed compiler warning 2015-04-23 12:31:02 +02:00
Dmitry Stogov 49cf7c5d12 Don't propogate "fake" EX(called_scope) and EX(This) into each internal function.
They need quite seldom and it's cheaper to get them from corresponfing upper stack frame.
2015-04-23 12:16:37 +03:00
Dmitry Stogov 801768f72c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  libpq versions older than 9.3 do not have lo_lseek64
  fix include with vc14
  fix compilation with vc14
  improve zpp readme
2015-04-23 03:43:55 +03:00
Dmitry Stogov 6d4da2db8a Make internal non-static methods to be executed in context of class. Set EG(scope) accordingly. 2015-04-23 03:41:50 +03:00
Rasmus Lerdorf 1ce2206244 libpq versions older than 9.3 do not have lo_lseek64 2015-04-22 16:15:28 -07:00
Anatol Belski 4923d23469 fix include with vc14 2015-04-22 22:26:06 +02:00
Anatol Belski 6a1bf93ad9 fix compilation with vc14 2015-04-22 22:25:33 +02:00
Anatol Belski 64114e405a improve zpp readme 2015-04-22 22:25:00 +02:00
Dmitry Stogov 15a5f61cf4 Use fast method to check if first arguments should be passed by reference (not tested onbig endian). 2015-04-22 21:46:13 +03:00
Dmitry Stogov af33279a6c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix "invalid opcode" error
2015-04-22 20:40:47 +03:00
Lior Kaplan 4fd3c8aebb Add entry for bug #69152 in 5.6.8 2015-04-22 19:40:56 +03:00
Lior Kaplan b35c02e2df Add entry for bug #69152 in 5.5.24 2015-04-22 19:38:26 +03:00
Nikita Popov 62aabf5d9f Fix "invalid opcode" error
Method call can happen on CONST, it'll just throw an error.

Not forbidding this at compile-time, so this can be overridden in
an extension.
2015-04-22 17:46:25 +02:00
Lior Kaplan bfa7e11c9c Format alignment 2015-04-22 18:19:45 +03:00
Lior Kaplan e48305cdb5 Bug #68846 was fixed in 5.6.8 by 934d6ed9 2015-04-22 18:10:37 +03:00
Lior Kaplan 59f6d7cd4f Add merged bug fixes into 5.5.24
Done in commits 25cb6f00 and 363e6ce6
2015-04-22 17:41:34 +03:00
Bob Weinand e0e1d99c71 Add incremental zlib deflate API 2015-04-22 06:04:13 -06:00
Dmitry Stogov d71105b90a Use string primitive 2015-04-22 14:23:22 +03:00
Dmitry Stogov a2d87429d5 Removred temporary code 2015-04-22 13:14:03 +03:00
Dmitry Stogov 8ef7e14117 Improved property inheritance code 2015-04-22 12:53:54 +03:00
Xinchen Hui b59275bac1 Merge branch 'master' of git.php.net:php-src 2015-04-22 16:37:19 +08:00
Xinchen Hui 0b8d6bd9ad Merge branch 'PHP-5.6' 2015-04-22 16:36:29 +08:00
Kalle Sommer Nielsen ceb1ea37ad Windows support for sysvshm
A little background:
* key_t is an int, like ext/shmop
* There is no ftok() (from ext/standard), so tests have a new check to see whether or not it is available. This however means that the 7 tests will all be skipped for Windows. I know we cannot properly implement an ftok() function since there is no inodes for NTFS, maybe we should look into using the GetFileInfoByHandle() or similar to use the system unique ID for a file to get the same functionality, Anatol?
* Despite the lack of phpt's, local testing works flawlessly but we better look into a solution for this if we are to keep this patch
2015-04-22 09:29:45 +02:00
Xinchen Hui 9db4e25927 Since 5.6 stat.cwd using emalloc (Thanks to Remi) 2015-04-22 15:14:00 +08:00
Xinchen Hui af3c72bc80 fixed warning & test pushing 2015-04-22 10:53:49 +08:00
Dmitry Stogov c61bf4bc11 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  FAST_RET opcode also returns
  Also consider specific catches when checking for uncaught
  Break on uncaught exceptions in current frame in phpdbg
2015-04-22 02:30:10 +03:00
Dmitry Stogov 770cb1da71 Keep realpath and PCRE caches in consistency with opcache SHM. 2015-04-22 02:29:06 +03:00
Bob Weinand 0ec3a6ff33 FAST_RET opcode also returns 2015-04-22 01:11:59 +02:00
Bob Weinand e09a0bfc9e Also consider specific catches when checking for uncaught 2015-04-22 01:08:08 +02:00
Bob Weinand 73d31d44e8 Break on uncaught exceptions in current frame in phpdbg 2015-04-22 01:08:07 +02:00
Dmitry Stogov c9da004a18 Slight zend_hash_find() optimization. 2015-04-21 23:27:44 +03:00
Dmitry Stogov a0c07c90f2 Fixed zend_string related inconsistencies 2015-04-21 23:26:34 +03:00
Bob Weinand 76b1d755fc Fix first frame in backtrace 2015-04-21 22:20:11 +02:00
Bob Weinand 4376373da3 Fix yield from with iterator (first element missing) 2015-04-21 19:42:23 +02:00
Bob Weinand 05f896eefd Add next command docs 2015-04-21 19:42:23 +02:00
Nikita Popov d2607a0110 Move more stuff to file_context
Introduce helper macro FC(x) for CG(file_context).x.

end_compilation() now handled by file_context_end().

While at it, dropped zval wrapper for ticcks.
2015-04-21 17:39:07 +02:00
Xinchen Hui a18c4c99ea Merge branch 'PHP-5.6' 2015-04-21 22:45:19 +08:00
Xinchen Hui 29c449ce98 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-21 22:44:45 +08:00
Xinchen Hui a508693874 Remove tail blank which is committed by accident 2015-04-21 22:44:22 +08:00
Xinchen Hui a090977419 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_compile.c
2015-04-21 22:39:46 +08:00
Xinchen Hui ceb992501b Update NEWS 2015-04-21 22:37:25 +08:00
Xinchen Hui 9d9ba493a2 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-21 22:37:00 +08:00
Xinchen Hui c667c26f61 Fixed Bug #69467 (Wrong checked for the interface by using Trait) 2015-04-21 22:36:32 +08:00
Xinchen Hui e121ccaaad Fixed warnings and folder marks mess 2015-04-21 21:53:12 +08:00
Xinchen Hui 8362aebdbf Fixed mem leak in assign_to_obj with reference 2015-04-21 21:04:20 +08:00
Bob Weinand f83ee6a05d Add next command / Fix recursion/exceptions with u/F/L 2015-04-21 12:31:57 +02:00
Dmitry Stogov ca76a86fe6 Removed deprecated code 2015-04-21 11:48:43 +03:00
Dmitry Stogov 81a9505742 Compact HashTables to reduce SHM usage 2015-04-21 00:27:21 +03:00
Bob Weinand 54018ada7d Adapt test for new format 2015-04-20 21:05:10 +02:00
Bob Weinand 5f10e84208 Shrink phpdbg opcode dump output a bit more 2015-04-20 20:59:13 +02:00
Nikita Popov 0381c1b79e Fixed bug #69388
Renamed compiler_context to oparray_context. Introduced per-file
file_context. Moved import tables into the file_context.

context_stack no longer exists, instead keeping backups of contexts
on C stack. Same for file contexts.

TODO: Move more things out of CG into file_context. There should be
a number of other things that we should not try to reuse in nested
compilations.
2015-04-20 18:18:52 +02:00
Dmitry Stogov b99174136c Fixed reference counting 2015-04-20 18:49:17 +03:00
Dmitry Stogov b1a03d7d39 Removed invalid code 2015-04-20 16:48:49 +03:00
Bob Weinand 61ba269f4c Show full stacktraces for exceptions in phpdbg 2015-04-20 14:12:47 +02:00
Bob Weinand 890212866d Fix uncaught exception in phpdbg 2015-04-20 13:55:09 +02:00
Bob Weinand 5f35e571fa show opcode count 2015-04-20 13:04:56 +02:00
Bob Weinand 1a249bd674 Shorten opline dump lines and show literals 2015-04-20 12:23:11 +02:00
Xinchen Hui 1c3b99c4ff Throw exception will override EX(opline) 2015-04-20 11:58:23 +08:00
Xinchen Hui d66045fe73 Fixed bug #69485 (Double free on zend_list_dtor). 2015-04-20 11:48:21 +08:00
Xinchen Hui a819404e9e Refix opline usage 2015-04-20 10:53:58 +08:00
Bob Weinand b1bd6f502f Properly define ZEND_OP_DATA in zend_vm_def.h
This allows zend_vm_gen.php to define them in zend_vm_opcodes.{c,h} without further hacks.
2015-04-19 23:21:57 +02:00
Bob Weinand 31e98386db Provide method to access opcodes via command line argument 2015-04-19 21:54:09 +02:00
Anatol Belski 4a38f51857 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  fix more dir separators
2015-04-19 20:34:36 +02:00
Anatol Belski 160bf9c072 updated NEWS 2015-04-19 20:33:09 +02:00
Anatol Belski 0ec5477fbd Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  fix more dir separators
2015-04-19 20:32:37 +02:00
Anatol Belski 35baf71466 updated NEWS 2015-04-19 20:30:43 +02:00
Anatol Belski a0accfa59f fix more dir separators 2015-04-19 20:27:28 +02:00
Bob Weinand 2c2d1a79ce Hmm, zend.assertions is not really on/off, but -1/0/1 2015-04-19 14:42:31 +02:00
Bob Weinand 306f9123d6 Add zend.assertions and assert.exception to php.ini-* 2015-04-19 13:27:28 +02:00
Bob Weinand 740c86bcbd Stabilize watchpoints 2015-04-19 12:53:29 +02:00
Stanislav Malyshev 4eb375320e Merge branch 'pull-request/1239'
* pull-request/1239:
  fixes confusing SQLDescribeParam error message
2015-04-18 20:45:16 -07:00
Stanislav Malyshev dd56598d0d Merge branch 'pull-request/1238'
* pull-request/1238:
  apply a patch
2015-04-18 19:51:22 -07:00
Stanislav Malyshev 80bd148cc9 Merge branch 'pull-request/1235'
* pull-request/1235:
  modify skeleton confirm_extname_compiled
  modify skeleton.c function
2015-04-18 19:36:37 -07:00
Stanislav Malyshev cb9f58d046 Merge branch 'pull-request/1203'
* pull-request/1203:
  Update openssl.c
2015-04-18 19:32:14 -07:00
Stanislav Malyshev 8fa7800ce1 Merge branch 'PHP-5.6'
* PHP-5.6:
  Remove unused code from ext/json.

Conflicts:
	ext/json/config.m4
	ext/json/config.w32
	ext/json/json.dsp
	ext/json/package.xml
2015-04-18 17:57:18 -07:00
Stanislav Malyshev d66cb721d4 Merge remote-tracking branch 'github/pr/637' into PHP-5.6
* github/pr/637:
  Remove unused code from ext/json.
2015-04-18 17:56:33 -07:00
Stanislav Malyshev 494870fded Restore fix for bug #69337 2015-04-18 15:48:09 -07:00
Nikita Popov aef96d5169 Partially enable leak reports for objects
Cycle leaks are currently not reported, because this needs further
work.

The last GC run has been moved to run earlier (before the object
store free), so that array cycles that hold references to objects
don't show up as leaks. Fingers crossed that this doesn't adversely
affect anything else.
2015-04-18 17:31:11 +02:00
Nikita Popov f616a6f1eb Fix intdiv() test 2015-04-18 17:30:28 +02:00
Bob Weinand a302d51695 Better throw an exception in intdiv() for PHP_INT_MIN/-1 2015-04-18 15:50:29 +02:00
Nikita Popov 9f0f93b00f Fix CALL_TRAMPOLINE without global regs
The opline needs to be loaded here in any case. However
LOAD_OPLINE() is a no-op if global VM registers are not used.
2015-04-18 15:44:04 +02:00
Remi Collet 1f0a6241b4 Merge branch 'PHP-5.6'
* PHP-5.6:
  relax tests with huge year (new zic)
2015-04-18 10:00:24 +02:00
Remi Collet 1302eb7f72 relax tests with huge year (new zic) 2015-04-18 10:00:15 +02:00
Remi Collet 982cfd3db9 Merge branch 'PHP-5.6'
* PHP-5.6:
  ignore second value for huge timestamp test (new zic)

Conflicts:
	ext/date/tests/getdate_variation7.phpt
2015-04-18 09:41:49 +02:00
Remi Collet 3bbfb96e1a ignore second value for huge timestamp test (new zic) 2015-04-18 09:37:06 +02:00
Remi Collet 81d01809a2 Merge branch 'PHP-5.6'
* PHP-5.6:
  relax test for date < INT32_MIN (new zic)
2015-04-18 09:28:39 +02:00
Remi Collet 3c81e945a3 relax test for date < INT32_MIN (new zic) 2015-04-18 09:28:29 +02:00
Remi Collet f877bdac72 Merge branch 'PHP-5.6'
* PHP-5.6:
  relax bigbang content (new zic)
2015-04-18 09:11:48 +02:00
Remi Collet 984f4b09e0 relax bigbang content (new zic) 2015-04-18 09:11:39 +02:00
Remi Collet 971441cfe5 Merge branch 'PHP-5.6'
* PHP-5.6:
  Make date transitions tests more flexible
2015-04-18 07:50:31 +02:00
Remi Collet cd93b120c3 Make date transitions tests more flexible
zic in recent glibc (2.20) introduce a new transitionn
so use a range to avoid failure when total number
of transitions is different (243/244)
2015-04-18 07:47:47 +02:00
Nikita Popov 9a0cb734a3 Fix memory error when throwing into a generator
throw_exception_internal will access opline+1, which is not always
defined at the current opline of the generator. To avoid this
decrement the opline before throwing (so the throw occurs at the
YIELD opcode instead of one after it).
2015-04-17 22:19:41 +02:00
Nikita Popov ffa285ca73 Fix filter_var leak of object without __toString() 2015-04-17 21:51:49 +02:00
Nikita Popov 38da85f313 Initialize VAR_FLAGS for generators 2015-04-17 21:51:49 +02:00
Hannes Magnusson cac2f7ebaa Merge branch 'PHP-5.6'
* PHP-5.6:
  phpweb now publishes SHA256s -- and please don't cc php-announce@ - make it seperate mail
  Fixed res leak
2015-04-17 10:14:31 -07:00
Hannes Magnusson ffb788800f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  phpweb now publishes SHA256s -- and please don't cc php-announce@ - make it seperate mail
  Fixed res leak
2015-04-17 10:14:12 -07:00
Hannes Magnusson b5b8cd5074 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  phpweb now publishes SHA256s -- and please don't cc php-announce@ - make it seperate mail
  Fixed res leak
2015-04-17 10:06:31 -07:00
Hannes Magnusson 983f155e1c phpweb now publishes SHA256s -- and please don't cc php-announce@ - make it seperate mail 2015-04-17 10:05:32 -07:00
Dmitry Stogov 736b7cf419 Added test 2015-04-17 18:45:46 +03:00
Dmitry Stogov 3e203ecea5 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix column name attribute with ODBC 3.0
  migrate SQLAllocStmt for ODBC 3.0 compliance
2015-04-17 18:38:03 +03:00
Dmitry Stogov 6718b56e45 Change the GC approach to inner-loops handling. Switch to less efficient but more robust algorithm. Destructors handling is still not completely accurate. 2015-04-17 18:35:57 +03:00
Anatol Belski 8192d645db Merge branch 'PHP-5.6'
* PHP-5.6:
  fix column name attribute with ODBC 3.0
  migrate SQLAllocStmt for ODBC 3.0 compliance
2015-04-17 17:14:18 +02:00
Anatol Belski 042fa25896 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix column name attribute with ODBC 3.0
  migrate SQLAllocStmt for ODBC 3.0 compliance
2015-04-17 17:13:45 +02:00
Anatol Belski e09febb286 fix column name attribute with ODBC 3.0 2015-04-17 17:10:46 +02:00
Anatol Belski db1596c8b1 migrate SQLAllocStmt for ODBC 3.0 compliance 2015-04-17 17:06:00 +02:00
Remi Collet 9340c5b347 Merge branch 'PHP-5.6'
* PHP-5.6:
  skip test when xml not available
2015-04-17 15:21:03 +02:00
Remi Collet 342acbe1c6 skip test when xml not available 2015-04-17 15:20:22 +02:00
Nikita Popov e74b84a9fe Fix Intl constructor leaks
Drop the Z_OBJ(return_value) = NULL hack and return status code
from ctor function instead.
2015-04-17 10:33:59 +02:00
Nikita Popov 25affa8a0f Fix leak in transliterator_transliterate() 2015-04-17 10:33:58 +02:00
Nikita Popov 8138756295 Fix leak in IntlDateFormatter::getTimeZone() 2015-04-17 09:28:38 +02:00
Nikita Popov 4e2be45309 Fix leak in IntlCalendar::fromDateTime() 2015-04-17 09:28:36 +02:00
Dmitry Stogov 276080ec3a Added GC checks and improvements 2015-04-17 03:55:37 +03:00
Dmitry Stogov 10d4fdb34a Fixed memory-leak 2015-04-17 01:27:54 +03:00
Nikita Popov 6202e2860d Fix leak of Pdo object if query() fails
Decref the DBH object when storing the errored query statement --
the DBH owns the stmt, so it will live long enough.
2015-04-16 21:08:29 +02:00
Nikita Popov 32ab26182b Fix leak of FETCH_INTO object 2015-04-16 21:08:29 +02:00
Nikita Popov 3d7959c87b Fix PdoRow leak
PdoStatement should only hold a weakref to the PdoRow.
2015-04-16 21:08:29 +02:00
Dmitry Stogov 5b0d86edcc Safe destruction (variables and arguments may need to be cuptured by exception) 2015-04-16 21:45:40 +03:00
Dmitry Stogov e44ccde39a "C" is the default locale 2015-04-16 21:44:50 +03:00
Kalle Sommer Nielsen 3159a967d8 Merge branch 'master' of https://git.php.net/push/php-src 2015-04-16 16:37:56 +02:00
Kalle Sommer Nielsen 4e41decdf2 Fixed Windows build after Dmitry's smart_str change 2015-04-16 16:37:00 +02:00
Nikita Popov c669aaac71 Merge branch 'PHP-5.6'
Conflicts:
	ext/gmp/gmp.c
2015-04-16 16:31:53 +02:00
Nikita Popov 25e45a9350 Run gmp_random tests more quickly 2015-04-16 16:29:57 +02:00
Nikita Popov 7e049b0427 Normalize gmp_remroot() behavior to GMP 5.1 2015-04-16 16:27:42 +02:00
Nikita Popov 8e167a2a00 Fix leak in gmp_pow() 2015-04-16 16:04:19 +02:00
Nikita Popov feaabd09d0 Fix leak in gmp_pow() 2015-04-16 16:00:47 +02:00
Nikita Popov c77d97f356 Implement GC for spl dll
As far as I can discern this should be safe, because the rc on the
linked list elements is only > 1 if an iterator points to it and
the iterator will also hold a reference to the list object.

The implementation for mangagement of the GC array is the same as
with the spl object storage.
2015-04-16 15:46:28 +02:00
Nikita Popov 018bcc6388 Use temporary debug_info for closures 2015-04-16 15:33:47 +02:00
Nikita Popov 6c98024f87 Drop unused is_self member 2015-04-16 15:33:47 +02:00
Dmitry Stogov 2ca2d0938b Micro optimizations for the more frequently paths 2015-04-16 14:46:54 +03:00
Dmitry Stogov e38ed4c28f Changed zend_smart_str allocation granularity to do the better job together with Zend MM and avoid useless calls to erealloc().
The actual reallocation routiones are seprated from inlined code to reduce code size.
2015-04-16 14:45:08 +03:00
Dmitry Stogov 05232cc810 Revert "Changed zend_smart_str allocation granularity to do the better job together with Zend MM and avoid useless calls to erealloc()." That commit significantly increased the code size because of intensive inlining and more expensive reallocation code.
This reverts commit 5275e5560b.
2015-04-16 13:11:54 +03:00
Dmitry Stogov 5275e5560b Changed zend_smart_str allocation granularity to do the better job together with Zend MM and avoid useless calls to erealloc(). 2015-04-16 12:32:56 +03:00
Dmitry Stogov a759967dd1 Mark call frames to closures with ZEND_CALL_CLOSURE flag to avoid expensive check at zend_leave_helper() 2015-04-16 12:16:03 +03:00
Xinchen Hui ec8671d429 Remove duplicated assignment 2015-04-16 11:58:50 +08:00
Christoph M. Becker d9de707311 fixes confusing SQLDescribeParam error message 2015-04-16 04:12:11 +02:00
Nikita Popov 685ccd61c2 Add list of reserved classes to UPGRADING 2015-04-15 22:38:50 +02:00
Nikita Popov 5c214fc10d Add test for recursive __debugInfo()
This also got fixed by switching to object apply count.
2015-04-15 22:38:50 +02:00
Bob Weinand 7c2fbdf58d Remove some redundant exception checking/continuing VM instructions 2015-04-15 22:18:05 +02:00
Nikita Popov 86152b18a3 Add GC support to SPL heap and PQ
ctor/dtor are now no longer called for insert/delete_top operations,
only for cloning and freeing of the object. Otherwise elements will
have a minimum rc of 2 and GC won't be able to free them.
2015-04-15 22:00:12 +02:00
Nikita Popov dc764bf644 Use object apply count in var_dump / print_r
Instead of using the array apply count on the debug_info array, use
the object apply count for recursion detection when dumping. This
handles recursion in a more generic way and does not require each
debug_info handler to deal with this.

This allows returning a temporary debug_info array, instead of
having to store it in the object (thus delaying destruction of the
values).

Switch SPL debug_info handlers to use a temporary array.
2015-04-15 22:00:12 +02:00
Bob Weinand 3dcad2eea2 Fix bug #69458 2015-04-15 21:56:11 +02:00
Bob Weinand 4e76d58b2b Fix object leak for yield from (added proper refcounting) 2015-04-15 21:42:27 +02:00
Bob Weinand 27033f9818 Forgot to transform some errors to engine exceptions 2015-04-15 21:42:26 +02:00
Nikita Popov eed18f0ee8 Return null on zpp failure in Array::exchangeArray()
Method was still returning a value despite zpp failing previously...
2015-04-15 20:43:41 +02:00
Nikita Popov e10be0d0fd Remove unnecessary retval members in SPL
This is what the rv params are for. Avoid holding onto values
longer than necessary.
2015-04-15 20:39:08 +02:00
Ferenc Kovacs 47590aba9b Merge branch 'PHP-5.6'
* PHP-5.6:
  this was reverted
2015-04-15 20:04:47 +02:00
Ferenc Kovacs 60830f49c0 this was reverted 2015-04-15 20:04:03 +02:00
Nikita Popov b4b872f4c9 Fix leak in RecursiveRegexIterator::getChildren() 2015-04-15 20:03:15 +02:00
Ferenc Kovacs 26d995fa8e Merge branch 'PHP-5.6'
* PHP-5.6:
  66550 will be part of 5.6.8
  66550 will be part of 5.5.24
2015-04-15 20:01:13 +02:00
Dmitry Stogov 92f2ee0973 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix leaks in recursive iterator construction
2015-04-15 20:55:38 +03:00
Ferenc Kovacs 4ddb92be45 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  66550 will be part of 5.5.24
2015-04-15 19:54:30 +02:00
Ferenc Kovacs ef5f4ef81f 66550 will be part of 5.6.8 2015-04-15 19:54:25 +02:00
Ferenc Kovacs b75e30c667 66550 will be part of 5.5.24 2015-04-15 19:53:38 +02:00
Dmitry Stogov d5d2032898 eliminate unnecessary EX(opline) <-> opline reloading 2015-04-15 20:53:27 +03:00
Nikita Popov 7605e02e3b Fix leaks in recursive iterator construction 2015-04-15 19:51:02 +02:00
Ferenc Kovacs 08e1174139 Merge branch 'PHP-5.6'
* PHP-5.6:
  reorder entries, Core is always the first block
2015-04-15 18:53:39 +02:00
Ferenc Kovacs 272805c898 reorder entries, Core is always the first block 2015-04-15 18:53:22 +02:00
Ferenc Kovacs 481b3338ca Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing NEWS entry
  add missing space to the NEWS entries to align properly
2015-04-15 18:39:30 +02:00
Ferenc Kovacs ad5723acf2 add missing NEWS entry 2015-04-15 18:39:16 +02:00
Ferenc Kovacs a07f3ed2a6 add missing space to the NEWS entries to align properly 2015-04-15 18:38:48 +02:00
Ferenc Kovacs a03089ac45 Merge branch 'PHP-5.6'
* PHP-5.6:
  add missing space to the NEWS entries to align properly
2015-04-15 18:37:20 +02:00
Ferenc Kovacs 7abb318beb add missing space to the NEWS entries to align properly 2015-04-15 18:36:52 +02:00
Anatol Belski b9732a37c5 fix possible int overflow 2015-04-15 17:57:27 +02:00
Anatol Belski 7a88cfe44d fix datatype mismatches 2015-04-15 17:57:26 +02:00
Anatol Belski 0c6753bf6b optimize structs 2015-04-15 17:57:25 +02:00
Anatol Belski a01e8c1fe9 fix data type and 64-bit compat 2015-04-15 17:57:23 +02:00
Remi Collet c48bf6e55c Merge branch 'PHP-5.6'
* PHP-5.6:
  bump zip release to match pecl version
2015-04-15 17:38:01 +02:00
Remi Collet 60b3526bfb bump zip release to match pecl version 2015-04-15 17:37:12 +02:00
Dmitry Stogov 6aee1ee4a1 Optimization of stack-frame construction 2015-04-15 17:02:21 +03:00
Julien Pauli 696c64503c Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-04-15 14:41:41 +02:00
Julien Pauli d3d5e3db2c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-04-15 14:40:33 +02:00
Julien Pauli 8827a56cb4 Updated NEWS 2015-04-15 14:40:00 +02:00
Dmitry Stogov ec077328fd Make valgrind happy 2015-04-15 14:20:59 +03:00
Dmitry Stogov 8144795133 Avoid double refcounting 2015-04-15 13:34:23 +03:00
Anatol Belski b816266223 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix dir separator in test
2015-04-15 11:10:29 +02:00
Anatol Belski e53947609a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix dir separator in test
2015-04-15 11:09:54 +02:00
Anatol Belski 8947c7aa0d fix dir separator in test 2015-04-15 11:07:13 +02:00
Xinchen Hui 0d562a8f44 Fixed res leak 2015-04-14 21:15:50 -07:00
Xinchen Hui 556e6f6cb1 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_exceptions.c
2015-04-15 10:44:51 +08:00
Xinchen Hui caf4beab2d Merge branch 'PHP-5.5' into PHP-5.6 2015-04-15 10:39:17 +08:00
Xinchen Hui 82ec0d5fc5 Fixed res leak 2015-04-15 10:38:55 +08:00
Xinchen Hui be504995c3 Fixed warnings 2015-04-15 10:37:35 +08:00
Nikita Popov 108ae7961e Fix leak when calling ->get() on tmp property 2015-04-14 22:16:18 +02:00
Nikita Popov 10756522a7 Fix leak in timezone_open when instantiation fails 2015-04-14 21:44:33 +02:00
Nikita Popov a5f2be38d4 Regenerate tokenizer data 2015-04-14 21:36:17 +02:00
Nikita Popov 38eb3cdf67 Drop ??? for AST_ZNODE in ast pretty printer 2015-04-14 21:35:38 +02:00
Stanislav Malyshev 6c39ce2bf2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed recently introduced memory leak
  Fix Bug #69402: Reading empty SSL stream hangs until timeout
2015-04-14 11:13:17 -07:00
Stanislav Malyshev 9d7b5e30eb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed recently introduced memory leak
  Fix Bug #69402: Reading empty SSL stream hangs until timeout
2015-04-14 11:12:58 -07:00
Stanislav Malyshev df33731812 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed recently introduced memory leak
2015-04-14 11:12:48 -07:00
Dmitry Stogov cee9722028 Fixed recently introduced memory leak 2015-04-14 11:08:38 -07:00
Nikita Popov acd61be985 Add "yield from" support to ast pretty printer 2015-04-14 19:15:40 +02:00
Dmitry Stogov 7bf5b341e4 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Add NEWS/UPGRADING and some implementation notes
2015-04-14 19:54:30 +03:00
Dmitry Stogov 00445ba22d Fixed bug #69446 (GC leak relating to removal of nested data after dtors run) 2015-04-14 19:53:56 +03:00
Bob Weinand a029ec9ee0 Add NEWS/UPGRADING and some implementation notes 2015-04-14 18:35:47 +02:00
Bob Weinand 2256dbfb21 Merge branch 'master' of https://github.com/php/php-src 2015-04-14 18:02:18 +02:00
Bob Weinand f3e124d58d Merge branch 'coroutineDelegation' of https://github.com/bwoebi/php-src 2015-04-14 17:58:58 +02:00
Levi Morrison dad622bf42 Fix bug #69448
ReflectionClass::newInstanceWithoutConstructor should not call
object_init_ex when the class is internal and final. This is because
the class dtor may rely on the ctor being called and in some cases
this will cause a segfault.
2015-04-14 09:45:41 -06:00
Daniel Lowrey 8dfb35eae0 Merge branch 'PHP-5.6'
* PHP-5.6:
  Update NEWS
2015-04-14 09:42:01 -06:00
Daniel Lowrey b9940ab1bd Update NEWS 2015-04-14 09:37:17 -06:00
Daniel Lowrey 4f07330e79 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix Bug #69402: Reading empty SSL stream hangs until timeout

Conflicts:
	ext/openssl/xp_ssl.c
2015-04-14 09:27:37 -06:00
Daniel Lowrey 81f356b4ae Fix Bug #69402: Reading empty SSL stream hangs until timeout 2015-04-14 09:25:11 -06:00
Daniel Lowrey 601d60a978 Fix Bug #69402: Reading empty SSL stream hangs until timeout 2015-04-14 09:24:40 -06:00
Nikita Popov a7059f1eac Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2015-04-14 16:38:09 +02:00
Nikita Popov ed7e6d4758 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-14 16:36:36 +02:00
Nikita Popov 95650d0942 Fixed bug #69419 2015-04-14 16:35:23 +02:00
Dmitry Stogov 65baab7741 Merge branch 'PHP-5.6'
* PHP-5.6:
  Bug #63336 is not a bug
  fix test

Conflicts:
	Zend/tests/bug63336.phpt
2015-04-14 17:18:55 +03:00
Dmitry Stogov e8fb5201ba Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Bug #63336 is not a bug
2015-04-14 17:16:57 +03:00
Dmitry Stogov dc024f0bdc Bug #63336 is not a bug 2015-04-14 17:15:50 +03:00
Dmitry Stogov b7d8edca1f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix test
2015-04-14 16:42:35 +03:00
Dmitry Stogov 3037665f04 Fixed use after free 2015-04-14 16:42:02 +03:00
Anatol Belski 63c92a6e96 fix test 2015-04-14 15:24:46 +02:00
Anatol Belski bc63491da8 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-04-14 15:21:47 +02:00
Anatol Belski 3803bbde24 fix test 2015-04-14 15:20:44 +02:00
Dmitry Stogov 6762fcfa90 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed recently introduced memory leak
2015-04-14 15:49:44 +03:00
Dmitry Stogov e1821090ef Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed recently introduced memory leak
2015-04-14 15:48:20 +03:00
Dmitry Stogov dfffa0ba5b Fixed recently introduced memory leak 2015-04-14 15:47:26 +03:00
Dmitry Stogov 753fa0c593 Partial revert of 1a7798c786 that introduced wrong memory access 2015-04-14 15:35:33 +03:00
Masaki Kagaya 8d219f5307 apply a patch 2015-04-14 21:17:08 +09:00
Xinchen Hui 5db1a56705 Merge branch 'master' of https://git.php.net/repository/php-src 2015-04-14 19:50:03 +08:00
Xinchen Hui a4d5a78f89 Fixed test in PHP7 2015-04-14 19:49:00 +08:00
Dmitry Stogov 28011fd14f Fixed recently introduced memory leak 2015-04-14 14:46:26 +03:00
Xinchen Hui e68b851217 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_exceptions.c
2015-04-14 19:33:46 +08:00
Xinchen Hui 5fc635548e Merge branch 'PHP-5.5' into PHP-5.6 2015-04-14 19:32:28 +08:00
Xinchen Hui 4b27569dc3 codes standard 2015-04-14 19:32:01 +08:00
Dmitry Stogov 26a6d707a1 Fixed memory leak in ext/standard/tests/array/compact_variation1.phpt 2015-04-14 13:45:05 +03:00
Dmitry Stogov 0d18aa8610 Use Z_TYPE_INFO_P() instead Z_TYPE_P() when we check for few scalar types. This allow C compiler to generate the better code. 2015-04-14 13:09:31 +03:00
Derick Rethans 66bd59225b - Updated to version 2015.3 (2015c) 2015-04-14 10:51:15 +01:00
Derick Rethans 9f815c9201 Empty merge 2015-04-14 10:51:15 +01:00
Derick Rethans d887ef5a04 - Updated to version 2015.3 (2015c) 2015-04-14 10:51:12 +01:00
Derick Rethans 8f384473b4 Empty merge 2015-04-14 10:51:11 +01:00
Derick Rethans 043f8ac51e - Updated to version 2015.3 (2015c) 2015-04-14 10:51:10 +01:00
Stanislav Malyshev a6f5fb0120 Merge remote-tracking branch 'origin/master'
* origin/master:
  What should we version the bundled opcache?
2015-04-14 01:30:59 -07:00
Stanislav Malyshev b3709bfc52 Merge branch 'PHP-5.6'
* PHP-5.6: (27 commits)
  fix non-standard C
  update NEWS
  5.4.41 next
  fix CVE num
  update NEWS
  Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode)
  fix test
  fix type in fix for #69085
  fix memory leak & add test
  Fix tests
  fix CVE num
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  ...

Conflicts:
	Zend/zend_exceptions.c
	ext/curl/interface.c
	ext/dom/document.c
	ext/fileinfo/libmagic/softmagic.c
	ext/gd/gd.c
	ext/hash/hash.c
	ext/pgsql/pgsql.c
	ext/phar/phar.c
	ext/phar/phar_internal.h
	ext/standard/http_fopen_wrapper.c
	ext/standard/link.c
	ext/standard/streamsfuncs.c
	ext/xmlwriter/php_xmlwriter.c
	ext/zlib/zlib.c
2015-04-14 01:28:06 -07:00
Xinchen Hui 5255ea42b5 What should we version the bundled opcache? 2015-04-14 16:20:01 +08:00
Stanislav Malyshev 5776fceb16 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: (27 commits)
  fix non-standard C
  update NEWS
  5.4.41 next
  fix CVE num
  update NEWS
  Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode)
  fix test
  fix type in fix for #69085
  fix memory leak & add test
  Fix tests
  fix CVE num
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  ...

Conflicts:
	ext/standard/http_fopen_wrapper.c
2015-04-14 01:05:01 -07:00
Stanislav Malyshev 4782ceea80 Merge branch 'PHp-5.4' into PHP-5.5
* PHp-5.4:
  fix non-standard C
2015-04-14 00:49:23 -07:00
Stanislav Malyshev 9af582bbe0 fix non-standard C 2015-04-14 00:46:47 -07:00
Stanislav Malyshev 7b3cce0ba0 update NEWS 2015-04-14 00:43:19 -07:00
Stanislav Malyshev e21f87e957 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  5.4.41 next
  fix CVE num
  update NEWS
  Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode)
  fix type in fix for #69085
  fix CVE num

Conflicts:
	configure.in
	main/php_version.h
2015-04-14 00:34:02 -07:00
Stanislav Malyshev 100614da27 Merge branch 'PHP-5.5.24' into PHP-5.5
* PHP-5.5.24:
  fix test
  fix memory leak & add test
  Fix tests
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  Fixed bug #68901 (use after free)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  Updated NEWS
  Fixed bug #69336 (Issues with "last day of <monthname>").
  5.5.24RC1
2015-04-14 00:33:04 -07:00
Stanislav Malyshev e10272c628 5.4.41 next 2015-04-14 00:30:58 -07:00
Stanislav Malyshev d3aeb8a204 Merge branch 'PHP-5.4.40' into PHP-5.4
* PHP-5.4.40:
  update NEWS
  Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode)
  fix memory leak & add test
  Fix tests
  fix CVE num
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
2015-04-14 00:26:53 -07:00
Stanislav Malyshev ae46d1ce19 fix CVE num 2015-04-14 00:25:55 -07:00
Stanislav Malyshev d734e75599 update NEWS 2015-04-14 00:22:09 -07:00
Stanislav Malyshev aa2eca2e48 Merge branch 'PHP-5.4' into PHP-5.4.40
* PHP-5.4:
  fix CVE num
2015-04-14 00:08:57 -07:00
Stanislav Malyshev f59b67ae50 Fix bug #69441 (Buffer Overflow when parsing tar/zip/phar in phar_set_inode) 2015-04-14 00:03:50 -07:00
Stanislav Malyshev be34c82bfd fix test 2015-04-13 16:10:05 -07:00
Dmitry Stogov cddb5eb3e9 Fixed memory leak 2015-04-14 00:57:45 +03:00
Dmitry Stogov 9806a62545 GC improved to support inner-cycles. 2015-04-14 00:16:27 +03:00
Dmitry Stogov b8fa90f10f GC tweaks 2015-04-13 18:53:02 +03:00
Remi Collet 5216da2f01 fix merge 2015-04-13 14:49:43 +02:00
Remi Collet ff70b40dc9 fix type in fix for #69085 2015-04-13 14:41:39 +02:00
Remi Collet dc0f2a5bad Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix type in fix for #69085
2015-04-13 14:40:43 +02:00
Remi Collet c61ceef779 fix type in fix for #69085
(cherry picked from commit 085e9ddc26f37ce556b8fd787044746e726264b2)
2015-04-13 14:40:05 +02:00
Lauri Kenttä 533c4be0d5 Fix compile error when oniguruma is not available 2015-04-13 10:11:38 +02:00
Stanislav Malyshev ba15e8dfd0 Merge branch 'PHP-5.4.40' into PHP-5.5.24
* PHP-5.4.40:
  fix memory leak & add test
  Fix tests
2015-04-12 23:49:16 -07:00
Stanislav Malyshev 45facd15fb fix memory leak & add test 2015-04-12 22:38:34 -07:00
Stanislav Malyshev a643ccfb90 Fix tests 2015-04-12 20:55:35 -07:00
Stanislav Malyshev 9bed19a1e0 fix CVE num 2015-04-12 20:47:27 -07:00
Stanislav Malyshev ed7d4977bb Merge branch 'PHP-5.4.40' into PHP-5.5.24
* PHP-5.4.40:
  Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability)
  Fix test
2015-04-12 20:13:00 -07:00
Stanislav Malyshev 9bbd995679 Merge branch 'PHP-5.5-security' into PHP-5.5.24
* PHP-5.5-security: (22 commits)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  updated NEWS
  added test for bug #69354
  revert skipif, this should run everywhere
  further ODBC 3.0 compliance
  more compliance with the ODBC 3.0
  test fixes
  Prevent GC from changing zval or object 'color' before they are actually inserted into possible roots buffer.
  sigh, can't even copypaste without screwing up
  oop, put both the error number and message for both db object to the error message
  test fixes
  Fixed bug #69281 (opcache_is_script_cached no longer works)
  Fix typo: unitialized -> uninitialized
  Fix typo: unitialized -> uninitialized
  Fixed bug #68739 (Missing break / control flow). Fixed bug #68740 (NULL Pointer Dereference). Fixed bug #68677 (Use After Free).
  Fixed bug #68739 (Missing break / control flow in curl)
  Fixed bug #68740 (NULL Pointer Dereference)
  Fixed bug #68677 (Use After Free in OPcache)
  ...

Conflicts:
	configure.in
	ext/curl/tests/bug69316.phpt
	main/php_version.h
2015-04-12 20:12:38 -07:00
王星星 73a0c96ac3 modify skeleton confirm_extname_compiled 2015-04-12 20:59:11 +08:00
王星星 22bef96315 modify skeleton.c function 2015-04-12 20:35:48 +08:00
Stanislav Malyshev d82d68742c Fix bug #69337 (php_stream_url_wrap_http_ex() type-confusion vulnerability) 2015-04-12 01:30:33 -07:00
Stanislav Malyshev 1defbb25ed Fix test 2015-04-12 00:56:02 -07:00
Xinchen Hui 0981345734 Merge branch 'PHP-5.6' 2015-04-12 12:12:38 +08:00
Xinchen Hui dd50ec1538 Remove failing test
<nikic> [19:57:28] debian has a libmcrypt patch that makes it work
<nikic> [19:57:43] but not all other distros have it
2015-04-12 12:12:16 +08:00
Stanislav Malyshev 0cb9d75cb6 Merge branch 'PHP-5.4.40' into PHP-5.5.24
* PHP-5.4.40:
  Additional fix for bug #69324
  More fixes for bug #69152
  Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions)
  Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar)
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  Fixed bug #68901 (use after free)
  Fixed bug #68740 (NULL Pointer Dereference)
  Fix bug #66550 (SQLite prepared statement use-after-free)
  Better fix for #68601 for perf https://bitbucket.org/libgd/gd-libgd/commits/81e9a993f2893d651d225646378e3fd1b7465467
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
  Fixed bug #69293
  Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable.
2015-04-11 16:56:12 -07:00
Stanislav Malyshev 12d3bdee3d Additional fix for bug #69324
Not so happy about duplication but needed due to bug #69429
2015-04-11 16:53:22 -07:00
Stanislav Malyshev a894a8155f More fixes for bug #69152 2015-04-11 16:53:22 -07:00
Stanislav Malyshev 4435b9142f Fixed bug #69353 (Missing null byte checks for paths in various PHP extensions) 2015-04-11 16:53:22 -07:00
Stanislav Malyshev 9faaee66fa Fixed bug #69324 (Buffer Over-read in unserialize when parsing Phar) 2015-04-11 16:53:21 -07:00
Stanislav Malyshev 0ea75af9be Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER) 2015-04-11 16:53:21 -07:00
Stanislav Malyshev 809610f5ea Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4) 2015-04-11 16:53:21 -07:00
Stanislav Malyshev f938112c49 Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault) 2015-04-11 16:53:21 -07:00
Xinchen Hui 920a0afbf8 Fixed bug #68901 (use after free) 2015-04-11 16:28:07 -07:00
Nikita Popov 71ccbf77a0 Add support for more debug output during CC
Compile with ZEND_DEBUG_GC=2
2015-04-11 18:29:36 +02:00
Xinchen Hui cefad04f0d Fixed bug #69427 (Segfault on magic method __call of private method in superclass) 2015-04-11 23:57:42 +08:00
Xinchen Hui 5da41790f7 Improve words 2015-04-11 17:48:05 +08:00
Xinchen Hui f08414ce1d Temporary fix inifite loop in gc 2015-04-11 17:40:29 +08:00
Xinchen Hui 45c3112726 Add some missed entry 2015-04-11 09:48:09 +08:00
Dmitry Stogov 5e8133f453 Squashed commit of the following:
commit 2399fc84c541da9c2176c5b7f6dd039a3c84dc64
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 12:38:08 2015 +0300

    Removed useless assignment

commit 796b6338174348eee0d74a67706d77b7ce1a60c3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 12:35:31 2015 +0300

    Fixed execution with overriden zend_execute_ex()

commit 4a9fb125aa999059f8bc42ebb6ee573c7866b35b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 02:02:58 2015 +0300

    Fixed executor without global registers

commit d456c30e00589ccda35a4b57ae903ef2d3c07d95
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 01:30:35 2015 +0300

    Restored original behavior for tests/classes/__call_004.phpt

commit 479646d37fef050536f1afb12b082618f1f1a3d0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 00:32:17 2015 +0300

    Fixed test. We don't keep stack frame for fake function anymore.

commit 9ae61e33e24b2c811d4ab1ca4ab22847c64a780e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 00:30:09 2015 +0300

    Use ZEND_ACC_CALL_VIA_TRAMPOLINE instead of ZEND_ACC_CALL_VIA_HANDLER. Keep ZEND_ACC_CALL_VIA_HANDLER for compatibility.

commit 0a8403a2a0c27aa3db271774f8559739a6b8400e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Apr 10 00:05:43 2015 +0300

    Rename PROXY_CALL into CALL_TRAMPLINE.
    Generalize API to allow reuse EG(trampline) for other purposes.

commit 4ea0525c10554e36185a0b8b6303106813b6a1c2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Apr 9 23:22:25 2015 +0300

    Reuse EG(proxy_call_op) for all proxy. Move proxy related functions from zend_objects_API to zend_object_handlers.

commit 529bf737ca388ad56fb4ae20ccb81e6276f25ec0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Apr 9 21:42:23 2015 +0300

    Accurate use of proxy_call

commit 5d62837d5ba3855743fe1981786ebd65d9da0b63
Merge: 83e749f 690843f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Apr 9 19:40:00 2015 +0300

    Merge branch 'master' into opcodefy-call

    * master:
      Fixed GOTO executor
      Fixed typo
      Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack.

commit 83e749ff3b6623e39b236a72e9b907d5b788ae5e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Apr 9 19:39:10 2015 +0300

    Improved ZEND_PROXY_CALL

commit 0c829afc534e6d5ff27a0dea3a4815da303bd1ef
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Apr 9 15:14:49 2015 +0300

    Reverted white-space changes

commit df65144488afa3e9020d75e1ada5529b138afc5a
Merge: 5fd2f97 97756d9
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Apr 9 14:37:07 2015 +0300

    Merge branch 'opcodefy-call' of github.com:laruence/php-src into opcodefy-call

    * 'opcodefy-call' of github.com:laruence/php-src:
      Ready for PR
      Fixed static call
      Improve performance by using prealloated op_arrray
      Respect called_scope
      Support internal magical __call/__callStatic
      opcode-fy magical __callStatic
      Opcode-fy magical __call

commit 97756d9190e07a072a7b48135304dc25a964845f
Author: Xinchen Hui <laruence@gmail.com>
Date:   Thu Apr 9 19:07:59 2015 +0800

    Ready for PR

commit 74f993084627061e783645a866390b68e2981698
Author: Xinchen Hui <laruence@gmail.com>
Date:   Thu Apr 9 19:03:00 2015 +0800

    Fixed static call

commit ec1d9eb592db0c3b7b0e3d21e7f445ed8bccfd4d
Author: Xinchen Hui <laruence@gmail.com>
Date:   Thu Apr 9 18:23:17 2015 +0800

    Improve performance by using prealloated op_arrray

commit df7fbbf949c99f2c5ae3da2a1199235651c7cc82
Author: Xinchen Hui <laruence@gmail.com>
Date:   Thu Apr 9 15:10:02 2015 +0800

    Respect called_scope

commit 769d1d59fb48b6f7f93d7412eefbf26135fa3e59
Author: Xinchen Hui <laruence@gmail.com>
Date:   Thu Apr 9 12:19:23 2015 +0800

    Support internal magical __call/__callStatic

commit a980fedd5b0e0683713dd4f6eaad62adf4b4732f
Author: Xinchen Hui <laruence@gmail.com>
Date:   Wed Apr 8 18:35:41 2015 +0800

    opcode-fy magical __callStatic

commit 73855f7d53baa2efc2b8a88314f51c784c81b59d
Author: Xinchen Hui <laruence@gmail.com>
Date:   Wed Apr 8 14:21:55 2015 +0800

    Opcode-fy magical __call
2015-04-10 23:01:00 +03:00
Dmitry Stogov 8eaa09887c Added GC debug code and some small optimizations. 2015-04-10 22:06:01 +03:00
Xinchen Hui c5903e79be Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_compile.c
2015-04-10 22:50:15 +08:00
Xinchen Hui 8ebc443120 Update NEWs 2015-04-10 22:48:48 +08:00
Xinchen Hui fa0608077b Merge branch 'PHP-5.5' into PHP-5.6 2015-04-10 22:48:36 +08:00
Xinchen Hui 429f411eb3 Fixed bug #69420 (Invalid read in zend_std_get_method) 2015-04-10 22:47:06 +08:00
Nikita Popov 94bea670de Fix bug #69413 2015-04-10 09:49:07 +02:00
Anthony Ferrara 858ca975c4 Add NEWS file for password_hash salt deprecation 2015-04-09 16:01:12 -04:00
Anthony Ferrara 94e222c14d Deprecate password_hash salt option 2015-04-09 15:51:04 -04:00
Kalle Sommer Nielsen 156ac232cb Fix test for systems where openssl's time_t have an offset set 2015-04-09 19:57:44 +02:00
Di Wu c7492ed224 Fix undeclared identifier 'PHP_STREAM_KEEP_RSRC'
Identifier named `PHP_STREAM_FREE_KEEP_RSRC`  but use `PHP_STREAM_KEEP_RSRC`

Reference Line 131
2015-04-09 18:16:53 +02:00
Dmitry Stogov 690843fa37 Fixed GOTO executor 2015-04-09 18:18:10 +03:00
Dmitry Stogov ea0b14fe22 Fixed typo 2015-04-09 15:47:34 +03:00
Dmitry Stogov 2b6a568df1 Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in Fix "foreach" behavior. Removed "Array was modified outside object and internal position is no longer valid" hack. 2015-04-09 15:40:17 +03:00
Xinchen Hui 5fd2f975ee Unnecessary UNDEF 2015-04-09 14:16:04 +08:00
Kalle Sommer Nielsen 8d3c4e5988 Fix test on systems where EOL isn't "\n", like Windows 2015-04-08 23:56:29 +02:00
Dmitry Stogov 5ba72e5f80 Fixed resource leak 2015-04-08 23:37:05 +03:00
Dmitry Stogov 851a219226 Fixed typo 2015-04-08 23:15:43 +03:00
Dmitry Stogov 7c86ea88fb Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix leak of closure used as generator
2015-04-08 22:19:24 +03:00
Dmitry Stogov e1d6b24da8 Addef test for bug #63734 (Garbage collector can free zvals that are still referenced) 2015-04-08 22:18:10 +03:00
Nikita Popov fc378a609a Fix leak of closure used as generator
Also remove obsolete code for copying the closure op_array. It
should no longer be possible for the closure object to be destroyed
while the generator is still live.
2015-04-08 21:11:42 +02:00
Dmitry Stogov 91e84bb168 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer)

Conflicts:
	NEWS
	Zend/zend_execute_API.c
2015-04-08 21:26:45 +03:00
Dmitry Stogov 1f5f78d4aa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer)
  Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer)
2015-04-08 21:24:24 +03:00
Dmitry Stogov 741c5e4c0c Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer) 2015-04-08 21:22:25 +03:00
Dmitry Stogov 174b9ee634 Fixed bug #67314 (Segmentation fault in gc_remove_zval_from_buffer) 2015-04-08 21:20:35 +03:00
Ferenc Kovacs efa6a2657b Merge branch 'PHP-5.6'
* PHP-5.6:
  fix irc notification for build failure/recover
2015-04-08 19:00:35 +02:00
Ferenc Kovacs f5c8a79fa5 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix irc notification for build failure/recover
2015-04-08 19:00:21 +02:00
Ferenc Kovacs 923102230b fix irc notification for build failure/recover 2015-04-08 19:00:03 +02:00
Rasmus Lerdorf 32484e3f5f Remove SSLv3 test dependencies
SSLv3 is going away. Debian8 already ships with an openssl
with no SSLv3 support which was causing these tests to fail.
2015-04-08 09:55:55 -07:00
Dmitry Stogov 151b4ea3cd Fixed unsigned underflow 2015-04-08 17:06:03 +03:00
Dmitry Stogov b71fbade32 Fixed test 2015-04-08 16:29:29 +03:00
Dmitry Stogov 7649a35d52 Fixed access to uninitialized value (in case of exception) 2015-04-08 16:01:22 +03:00
Dmitry Stogov bf7d3e0c23 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed typo
2015-04-08 15:54:47 +03:00
Dmitry Stogov ec0b888a82 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed typo
2015-04-08 15:54:10 +03:00
Dmitry Stogov 1955403ed5 Fixed typo 2015-04-08 15:53:28 +03:00
Dmitry Stogov fa348dcdfa Fixed reference counting 2015-04-08 15:47:31 +03:00
Dmitry Stogov 4d9a1883aa Fixed bug #68887 (resources are not freed correctly) 2015-04-08 13:29:42 +03:00
Xinchen Hui fa795b0553 Fixed bug #69325 (php_copy_file_ex does not pass the argument) 2015-04-08 14:33:01 +08:00
Xinchen Hui f23f7dfed0 Use new macros 2015-04-08 14:30:47 +08:00
Xinchen Hui 54e8c91614 Merge branch 'master' of https://github.com/bixuehujin/php-src 2015-04-08 14:26:57 +08:00
matason 52145ef8c6 Fix zend_hash_find documentation. 2015-04-07 22:26:16 +01:00
Andrey Hristov 871ff65fd1 Rename prefixed mysqlnd functions - prefixed with undescore, which were
accessible through a macro. Also removing the access macros.
These prefixed functions were used, similarly to many functions in Zend2,
because of TSRMLS - the macro was adding the the tsrm pointer to the call.
However, as in Zend3 no TSRM pointers are passed down the stack, because of
the usage of cached TSRM pointer in a real thread local variable, these
macros and prefixed naming have lost their purpose.
2015-04-07 21:48:08 +02:00
Andrey Hristov ed0f134a64 Split mysqlnd_stmt::execute in 2 logical parts :
- mysqlnd_stmt::send_execute() which just creates the wire message by using
  an aux function and sends it to the server
- mysqlnd_stmt::parse_execute_respose() which is responsible for handling
  the bytes sent from the server in response to COM_EXECUTE.
This makes it possible to implement finer method overwriting in mysqlnd
plugins.
2015-04-07 21:39:29 +02:00
Andrey Hristov a970ae76e2 Add more info to the calls:
- let the callee knows whether it was called directly or indirectly
- two NULL zval * parameters for future extension in a pecl plugin
2015-04-07 20:45:17 +02:00
Jin Hu 1f28da0225 Added RETURN_ARR and RETVAL_ARR macros 2015-04-08 00:33:11 +08:00
Reeze Xia 4e2afbc1a0 Fixed phpdbg build broken when dtrace enabled
This also fixed a zend_string related warning
2015-04-07 23:04:34 +08:00
Reeze Xia 624552c3d7 Fixed implicit declaration of function warning 2015-04-07 22:22:42 +08:00
Dmitry Stogov b8ba3203e5 Cleanup 2015-04-07 14:19:12 +03:00
Dmitry Stogov 55cdde3dd6 Fixed bug #69376 (Wrong ref counting). 2015-04-07 02:35:52 +03:00
Dmitry Stogov 5bd71e9713 Avoid reallocation 2015-04-07 02:35:21 +03:00
Nikita Popov f53e20e595 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_compile.c
	Zend/zend_compile.h
	Zend/zend_language_parser.y
2015-04-06 22:09:22 +02:00
Nikita Popov 7e9a1c1e3f Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	Zend/zend_compile.c
	Zend/zend_compile.h
2015-04-06 22:06:48 +02:00
Nikita Popov cc70a46525 Fix bug #60022 2015-04-06 22:03:04 +02:00
Nikita Popov 23c7f19e41 Undef results for new arithmetic exceptions
For the compound assing case (e.g. $a <<= $b) the result is going
to be dtored, so we have to set *some* value.
2015-04-06 21:52:20 +02:00
Nikita Popov 78e1885b7d Merge branch 'PHP-5.6' 2015-04-06 21:45:42 +02:00
Nikita Popov d819b45597 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-06 21:44:52 +02:00
Nikita Popov 160dbe91a9 Fix static member destruction 2015-04-06 21:37:19 +02:00
Dmitry Stogov 1cfc9db0d6 Fixed test 2015-04-06 22:07:18 +03:00
Dmitry Stogov 5820be029a 0.0 / 0.0 = NaN 2015-04-06 22:03:44 +03:00
Dmitry Stogov 9a57379024 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68652 (segmentation fault in destructor)

Conflicts:
	NEWS
2015-04-06 18:19:07 +03:00
Dmitry Stogov 812106d0c6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68652 (segmentation fault in destructor)

Conflicts:
	NEWS
2015-04-06 18:16:08 +03:00
Dmitry Stogov 21bb33cc72 Fixed bug #68652 (segmentation fault in destructor) 2015-04-06 18:11:41 +03:00
Dmitry Stogov a62896783f Removed wrong error messages 2015-04-06 18:10:45 +03:00
Dmitry Stogov d77950902e Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  catch up with INF handling under VS
2015-04-06 18:10:34 +03:00
Anatol Belski d3f1abc27d catch up with INF handling under VS 2015-04-06 17:01:19 +02:00
Dmitry Stogov 9e2c14c121 Fixed error messages 2015-04-06 17:24:32 +03:00
Anatol Belski f0c533f421 fix build 2015-04-06 13:56:47 +02:00
Dmitry Stogov cae0147ed3 Fixed weird operators behavior. Division by zero now emits warning and returns +/-INF, modulo by zero and intdid() throws an exception, shifts by negative offset throw exceptions. Compile-time evaluation of division by zero is disabled. 2015-04-06 14:30:05 +03:00
Nikita Popov caf9219dea Fix EH_THROW replacement in PDO constructor
Needs to happen for the "goto options" case as well, otherwise
will try to restore error handling that was never replaced.
2015-04-06 12:15:04 +02:00
Nikita Popov 122d759618 Always throw TypeException on throwing zpp failures
Introduces a ZEND_PARSE_PARAMS_THROW flag for zpp, which forces to
report FAILURE errors using a TypeException instead of a Warning,
like it would happen in strict mode.

Adds a zend_parse_parameters_throw() convenience function, which
invokes zpp with this flag.

Converts all cases I could identify, where we currently have
throwing zpp usage in constructors and replaces them with this API.
Error handling is still replaced to EH_THROW in some cases to handle
other, domain-specific errors in constructors.
2015-04-06 11:27:34 +02:00
Stanislav Malyshev 884b0365db Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68740 (NULL Pointer Dereference)
2015-04-05 22:49:06 -07:00
Stanislav Malyshev 6a7a03644a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68740 (NULL Pointer Dereference)
2015-04-05 22:48:37 -07:00
Stanislav Malyshev 890195f85c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #68740 (NULL Pointer Dereference)
2015-04-05 22:48:27 -07:00
Xinchen Hui 9a404df382 Fixed bug #68740 (NULL Pointer Dereference)
(cherry picked from commit 124fb22a13)
2015-04-05 22:48:10 -07:00
Stanislav Malyshev ff740f16f9 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #66550 (SQLite prepared statement use-after-free)

Conflicts:
	ext/sqlite3/sqlite3.c
2015-04-05 22:45:16 -07:00
Stanislav Malyshev 2a81733c87 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #66550 (SQLite prepared statement use-after-free)
2015-04-05 22:38:20 -07:00
Stanislav Malyshev 66b853d426 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #66550 (SQLite prepared statement use-after-free)
2015-04-05 22:37:51 -07:00
Stanislav Malyshev 5ae20c6247 Fix bug #66550 (SQLite prepared statement use-after-free) 2015-04-05 22:36:26 -07:00
Stanislav Malyshev 8976e8d9f0 Merge branch 'PHP-5.6'
* PHP-5.6:
  Better fix for #68601 for perf https://bitbucket.org/libgd/gd-libgd/commits/81e9a993f2893d651d225646378e3fd1b7465467
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
  Fixed bug #69293
  Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable.
2015-04-05 17:37:44 -07:00
Stanislav Malyshev c167029eb6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Better fix for #68601 for perf https://bitbucket.org/libgd/gd-libgd/commits/81e9a993f2893d651d225646378e3fd1b7465467
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
  Fixed bug #69293
  Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable.
2015-04-05 17:37:12 -07:00
Stanislav Malyshev 96f5be53f6 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Better fix for #68601 for perf https://bitbucket.org/libgd/gd-libgd/commits/81e9a993f2893d651d225646378e3fd1b7465467
  Fix bug #68601 buffer read overflow in gd_gif_in.c
  Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
  Fixed bug #69293
  Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable.
2015-04-05 17:36:52 -07:00
Remi Collet bd31cb7563 Better fix for #68601 for perf
https://bitbucket.org/libgd/gd-libgd/commits/81e9a993f2893d651d225646378e3fd1b7465467
2015-04-05 17:36:47 -07:00
Remi Collet afbf725e73 Fix bug #68601 buffer read overflow in gd_gif_in.c 2015-04-05 17:33:52 -07:00
Ferenc Kovacs f1aa1dcb54 Merge branch 'PHP-5.6'
* PHP-5.6:
  add travis failure/recover notification for our irc room
2015-04-05 22:55:28 +02:00
Ferenc Kovacs e78552f3aa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add travis failure/recover notification for our irc room
2015-04-05 22:54:57 +02:00
Ferenc Kovacs 829ea23d34 add travis failure/recover notification for our irc room 2015-04-05 22:54:30 +02:00
Ferenc Kovacs a978a5eb49 fix build 2015-04-05 22:45:58 +02:00
Anatol Belski 92324b2719 fix nts windows_version_info and reorganize 2015-04-05 19:46:38 +02:00
Xinchen Hui b6aeab1b91 Fixed bug #69371 (Hash table collision leads to inaccessible array keys) 2015-04-05 18:45:14 +08:00
Stanislav Malyshev d19842f613 Merge branch 'PHP-5.4.40' into PHP-5.5-security
* PHP-5.4.40:
  Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER)
  Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4)
  Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault)
  Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
  Fixed bug #69293
  Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable.
2015-04-05 00:45:58 -07:00
Stanislav Malyshev cb0d325066 Fixed bug #69316 (Use-after-free in php_curl related to CURLOPT_FILE/_INFILE/_WRITEHEADER) 2015-04-05 00:32:13 -07:00
Stanislav Malyshev af1cd45d17 Fix bug #68486 and bug #69218 (segfault in apache2handler with apache 2.4) 2015-04-04 15:09:34 -07:00
Stanislav Malyshev 80e2632776 Fix bug #68819 (Fileinfo on specific file causes spurious OOM and/or segfault) 2015-04-04 15:01:37 -07:00
Kalle Sommer Nielsen a5a7db8a6a Fix build 2015-04-04 22:11:37 +02:00
Kalle Sommer Nielsen fe58896638 Merge branch 'master' of https://git.php.net/push/php-src 2015-04-04 22:05:21 +02:00
Kalle Sommer Nielsen 118a2fa8d9 This part here was moved to the EG constructor by Anatol in f51a9c71dd 2015-04-04 22:04:32 +02:00
Anatol Belski 7263297121 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
  added test for bug #69354
  revert skipif, this should run everywhere
  further ODBC 3.0 compliance
  more compliance with the ODBC 3.0
  test fixes
2015-04-04 21:52:35 +02:00
Anatol Belski c585b4845c updated NEWS 2015-04-04 21:50:50 +02:00
Anatol Belski b1997278fd Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  added test for bug #69354
  revert skipif, this should run everywhere
  further ODBC 3.0 compliance
  more compliance with the ODBC 3.0
  test fixes
2015-04-04 21:50:18 +02:00
Anatol Belski 8751e0fe71 updated NEWS
fixes for bug #69354 was cherrypicked from master
2015-04-04 21:49:09 +02:00
Anatol Belski 7eda18514d added test for bug #69354 2015-04-04 21:42:51 +02:00
Anatol Belski 0ae0d0bc53 revert skipif, this should run everywhere 2015-04-04 21:42:43 +02:00
Anatol Belski d27d9158c9 further ODBC 3.0 compliance 2015-04-04 21:42:33 +02:00
Anatol Belski 5c2aa71e0c more compliance with the ODBC 3.0 2015-04-04 21:42:17 +02:00
Anatol Belski a5bb37117c test fixes 2015-04-04 21:42:08 +02:00
Anatol Belski 69c2e53419 no more winxp, but really 2015-04-04 20:39:04 +02:00
Anatol Belski f51a9c71dd initialize EG(windows_version_info)
there are more places refering to this, but seems it was never
initialized
2015-04-04 20:28:58 +02:00
Nikita Popov 30d59aed1c Try fixing PDO MySQL pconnect test
Use less aggressive conversion to exceptions, in particular
do not convert warnings that happen during check_liveness. If the
server has gone away this will just reconnect and we still end up
with a valid connection, so it shouldn't throw.

Also drop some unnecessary checks for malloc returning NULL.
2015-04-04 16:00:17 +02:00
Nikita Popov f3e3d85bb2 Drop now unnecessary start parameter 2015-04-04 13:10:29 +02:00
Nikita Popov 9a4b7ad9bb Fix parameter parsing for mysqli_stmt_bind_result()
Also drops one unnecessary arg allocation
2015-04-04 13:05:05 +02:00
Nikita Popov fa15ac4c37 Fix separation in array_multisort
This manifested in Zend/tests/bug52939.phpt when running without
opcache (no immutablization).
2015-04-04 10:52:43 +02:00
Nikita Popov 86906d6a7b Fix typo 2015-04-04 10:38:00 +02:00
Nikita Popov f920f974c4 Clarify that some zpp errors are just for debugging
These occur when the extension author messed up, not during normal
script execution.

Make these core errors and show them even with PARAMS_QUIET.
2015-04-04 10:28:37 +02:00
Dmitry Stogov dcaa79546b Don't relay on reference-counter when parameter expected to be a reference, but value given. 2015-04-03 16:35:06 +03:00
Xinchen Hui 75551c3f59 Unused var 2015-04-03 15:55:39 +08:00
Dmitry Stogov 52eac6bf11 Improved "fust shutdown". 2015-04-03 10:48:55 +03:00
Dmitry Stogov adcf0c6052 Improved reference counting 2015-04-03 01:32:20 +03:00
Anatol Belski f26592846f added test for bug #69354 2015-04-02 20:19:51 +02:00
Anatol Belski b244fdfb2f revert skipif, this should run everywhere 2015-04-02 20:19:42 +02:00
Anatol Belski 899362db6e further ODBC 3.0 compliance 2015-04-02 20:19:23 +02:00
Anatol Belski b3a027d610 more compliance with the ODBC 3.x 2015-04-02 20:18:11 +02:00
Anatol Belski 48447da836 test fixes 2015-04-02 20:16:01 +02:00
Nikita Popov a8bf1c5d8f Throw ParseException from lexer
Primarily to avoid getting fatal errors from token_get_all().

Implemented using a magic E_ERROR token, which the lexer emits to
force a parser failure.
2015-04-02 16:31:17 +02:00
Dmitry Stogov 83a15801cc Use PHP memory manager for mysqlnd memory pools. 2015-04-02 14:28:39 +03:00
Dmitry Stogov ad863c1740 Convert fatal errors into EngineException 2015-04-02 14:19:52 +03:00
Dmitry Stogov bf259db82e Recalssify some E_ERROR into E_CORE_ERROR 2015-04-02 13:07:17 +03:00
Dmitry Stogov a764214b02 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix tests
2015-04-02 12:38:16 +03:00
Dmitry Stogov 7c2956d15c Merge branch 'PHP-5.6'
* PHP-5.6:
  Prevent GC from changing zval or object 'color' before they are actually inserted into possible roots buffer.

Conflicts:
	NEWS
	Zend/zend_gc.c
2015-04-02 12:37:34 +03:00
Anatol Belski bdf315f5f3 fix tests 2015-04-02 11:37:02 +02:00
Dmitry Stogov baf5fdf598 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Prevent GC from changing zval or object 'color' before they are actually inserted into possible roots buffer.
2015-04-02 12:30:58 +03:00
Dmitry Stogov f29c98c128 Prevent GC from changing zval or object 'color' before they are actually inserted into possible roots buffer. 2015-04-02 12:29:15 +03:00
Stanislav Malyshev caecd88237 Revert "Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4"
This reverts commit fe0ca2745f, reversing
changes made to 968fbc6acf.
2015-04-01 23:43:33 -07:00
Xinchen Hui 97123042a2 Merge branch 'PHP-5.6' of https://git.php.net/repository/php-src into PHP-5.6 2015-04-02 09:06:46 +08:00
Xinchen Hui 3645a80b38 Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into PHP-5.5 2015-04-02 09:06:38 +08:00
Xinchen Hui 0d240c3c56 Unused var 2015-04-02 09:05:04 +08:00
Xinchen Hui f8461d4aa3 Merge branch 'master' of https://git.php.net/repository/php-src 2015-04-02 09:03:48 +08:00
Dmitry Stogov 53d20140fb Fixed performance degradation introduced with lateast EnfineException related changes.
Restore original errors order in executor.
2015-04-02 03:56:42 +03:00
Dmitry Stogov ea09a9fa32 Convert fatal errors into EngineExceptions
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
2015-04-02 02:05:25 +03:00
Ferenc Kovacs 956fa034e3 Merge branch 'PHP-5.6'
* PHP-5.6:
  sigh, can't even copypaste without screwing up
2015-04-02 00:07:20 +02:00
Ferenc Kovacs 9806a37a79 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  sigh, can't even copypaste without screwing up
2015-04-02 00:07:13 +02:00
Ferenc Kovacs 9991b8ecee sigh, can't even copypaste without screwing up 2015-04-02 00:07:00 +02:00
Ferenc Kovacs 6923f081b7 Merge branch 'PHP-5.6'
* PHP-5.6:
  oop, put both the error number and message for both db object to the error message
2015-04-01 23:06:32 +02:00
Ferenc Kovacs e70e2d8310 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  oop, put both the error number and message for both db object to the error message
2015-04-01 23:06:22 +02:00
Ferenc Kovacs 7c1a1189be oop, put both the error number and message for both db object to the error message 2015-04-01 23:06:04 +02:00
Ferenc Kovacs 0328a60eec Merge branch 'PHP-5.6'
* PHP-5.6:
  test fixes
2015-04-01 22:08:29 +02:00
Ferenc Kovacs faab430141 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  test fixes
2015-04-01 22:08:11 +02:00
Ferenc Kovacs 0a41af216e test fixes 2015-04-01 22:07:52 +02:00
Stanislav Malyshev 4975019dd7 Merge branch 'PHP-5.6'
* PHP-5.6:
  Revert "Merge branch 'PHP-5.5' into PHP-5.6"

Conflicts:
	ext/date/php_date.c
	ext/date/tests/DateTime_verify.phpt
2015-04-01 12:50:40 -07:00
Stanislav Malyshev 2d9399af35 Revert "Merge branch 'PHP-5.5' into PHP-5.6"
This reverts commit aa22e80b1a, reversing
changes made to 3e7f47cb03.

Conflicts:
	ext/date/php_date.c
2015-04-01 12:49:25 -07:00
Dmitry Stogov ec760d8fff Convert fatal errors into EngineExceptions 2015-04-01 20:01:57 +03:00
Ferenc Kovacs 0295d89d45 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix typo: unitialized -> uninitialized
2015-04-01 18:06:12 +02:00
Ferenc Kovacs 978128b446 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix typo: unitialized -> uninitialized
2015-04-01 18:05:57 +02:00
Ferenc Kovacs 9ec3e7d98c Merge branch 'pr-1212' into PHP-5.5
* pr-1212:
  Fix typo: unitialized -> uninitialized
2015-04-01 18:05:36 +02:00
Xinchen Hui ed43b7a548 Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/zend_accelerator_module.c
2015-04-02 00:04:30 +08:00
Xinchen Hui 9433b33ac1 Update NEWS 2015-04-02 00:01:57 +08:00
Xinchen Hui 2533fde199 Merge branch 'PHP-5.5' into PHP-5.6 2015-04-01 23:59:45 +08:00
Danack 86f983bd3e Fixed bug #69281 (opcache_is_script_cached no longer works) 2015-04-01 23:58:22 +08:00
Lior Kaplan 3b8b1435ad Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix typo: unitialized -> uninitialized
  Fix typo: unitialized -> uninitialized

Conflicts:
	ext/xmlwriter/php_xmlwriter.c
2015-04-01 18:30:55 +03:00
Lior Kaplan 3409d87eab Fix typo: unitialized -> uninitialized 2015-04-01 18:21:01 +03:00
Lior Kaplan 2fd74c7f03 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix typo: unitialized -> uninitialized
2015-04-01 18:20:26 +03:00
Lior Kaplan 87cc7caa10 Fix typo: unitialized -> uninitialized 2015-04-01 18:19:09 +03:00
Lior Kaplan 59c2a55ec7 Fix typo: unitialized -> uninitialized 2015-04-01 18:17:53 +03:00
Dmitry Stogov 780a8123fe Convert fatal errors into EngineExceptions 2015-04-01 16:48:15 +03:00
Dmitry Stogov 0cad725886 Convert fatal errors into EngineExceptions 2015-04-01 15:54:03 +03:00
Dmitry Stogov 8c031a3f95 Handle incorrect break/continue statements at compile-time 2015-04-01 15:52:26 +03:00
Dmitry Stogov 4fd93a4da6 Converted fatal errors into EngineExceptions 2015-04-01 14:50:09 +03:00
Anatol Belski a0eaa37afe missing includes 2015-04-01 13:39:25 +02:00
Anatol Belski e271ace5f8 fix extern "C"
now, it shouldn't matter where intl_common.h is included,
not need for extra putting it into extern C
2015-04-01 13:18:52 +02:00
Anatol Belski ca1ef2749d C89 compat 2015-04-01 13:18:51 +02:00
Anatol Belski 056f8265a1 add ext/odbc note to UPGRADING 2015-04-01 13:18:50 +02:00
Dmitry Stogov 18f3d5490a Convert fatal error into EngineException 2015-04-01 13:49:11 +03:00
Dmitry Stogov 3ba4c7a137 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove datefmt_set_timezone_id and OO variant
2015-04-01 13:39:11 +03:00
Dmitry Stogov 1d75953a86 We don't need this protection anymore (now reference counting on closures is accurate). 2015-04-01 13:38:05 +03:00
Nikita Popov cf0ffa8e4c Remove datefmt_set_timezone_id and OO variant 2015-04-01 12:34:28 +02:00
Dmitry Stogov acfc31c0f8 Use zend_error_noreturn() for fatal errors 2015-04-01 13:32:23 +03:00
Nikita Popov ac470ddf1c More UPGRADING 2015-04-01 11:50:46 +02:00
Nikita Popov 085774997b Drop support for static calls from incompatible context
Implemented by NULLing $this.
2015-04-01 11:42:05 +02:00
Nikita Popov 7c67727082 Add some notes to UPGRADING 2015-04-01 11:17:55 +02:00
Nikita Popov 8d00385871 Reclassify E_STRICT notices
Per RFC https://wiki.php.net/rfc/reclassify_e_strict

While reviewing this, found that there are still three E_STRICTs
left in libraries - need to discuss those.
2015-04-01 11:17:55 +02:00
Dmitry Stogov 4796e0242b Merge branch 'InternalClassClean'
* InternalClassClean:
  Fixed test
  Patch improvement:
  Fixed indentation. Fixed comment style. Fixed commented out code.
  Reverted change to function name and added note of why it is different from the class it is actually changing.
  Made UConverter throw an exception if the constructor fails.
  Fixed PDO constructor to not return null.
  Fixed fileinfo behaviour.
  Made Phar throw exception on bad constructor.
  Converted intl extension to use IntlException in constructors.
  Fixed SplFixedArray and tests.
  Fixed ReflectionExtension and ReflectionProperty.
  Fixed ReflectionFunction, ReflectionMethod and ReflectionParameter.
  Fixed PDORow behaviour and message.
2015-04-01 12:11:13 +03:00
Nikita Popov 52fcc74875 Fix 32bit test failures due to ctor deprecation 2015-04-01 09:36:43 +02:00
Xinchen Hui fd0baec2e9 Merge branch 'master' of https://git.php.net/repository/php-src 2015-04-01 13:06:38 +08:00
Xinchen Hui af812eac4c Micro opt 2015-04-01 12:05:19 +08:00
Xinchen Hui ed772e1a99 Fixed test 2015-04-01 09:56:55 +08:00
Ferenc Kovacs a2752faaa8 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix release date
2015-04-01 01:42:26 +02:00
Ferenc Kovacs 8de838dc26 fix release date 2015-04-01 01:42:12 +02:00
Ferenc Kovacs 7a84967ba7 Merge branch 'PHP-5.6'
* PHP-5.6:
  5.6.9 is up next
2015-04-01 01:31:48 +02:00
Ferenc Kovacs a5e68f72a7 5.6.9 is up next 2015-04-01 01:30:51 +02:00
Lior Kaplan 9df685ef90 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68739 (Missing break / control flow in curl)
  Fixed bug #68740 (NULL Pointer Dereference)
  Fixed bug #68677 (Use After Free in OPcache)

Conflicts:
	ext/ereg/regex/regcomp.c
2015-04-01 01:59:21 +03:00
Lior Kaplan 04c9271805 Add changelog entries for #68677, #68739 & #68740 2015-04-01 01:55:35 +03:00
Lior Kaplan c22543b3f3 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68739 (Missing break / control flow in curl)
  Fixed bug #68740 (NULL Pointer Dereference)
  Fixed bug #68677 (Use After Free in OPcache)
2015-04-01 01:54:53 +03:00
Lior Kaplan a32c8ba719 Fixed bug #68739 (Missing break / control flow).
Fixed bug #68740 (NULL Pointer Dereference).
Fixed bug #68677 (Use After Free).
2015-04-01 01:45:34 +03:00
Xinchen Hui 1add8401a3 Fixed bug #68739 (Missing break / control flow in curl)
(cherry picked from commit 124fb22a13)
2015-04-01 01:24:26 +03:00
Xinchen Hui 059e774db0 Fixed bug #68740 (NULL Pointer Dereference)
(cherry picked from commit 124fb22a13)
2015-04-01 01:24:26 +03:00
Xinchen Hui 0a8f28b432 Fixed bug #68677 (Use After Free in OPcache)
(cherry picked from commit 777c39f404)
2015-04-01 01:24:16 +03:00
Dmitry Stogov 2bf8f29d16 Converted most object handlers fatal errors into EngineExceptions 2015-04-01 00:37:59 +03:00
Nikita Popov 6ef9216269 Finish PHP 4 constructor deprecation 2015-03-31 17:55:27 +02:00
Andrea Faulds db76b708cf Deprecate PHP 4 constructors 2015-03-31 17:55:27 +02:00
Julien Pauli b56f8022c8 Updated NEWS 2015-03-31 17:46:23 +02:00
Derick Rethans 30123005ff Fixed bug #69336 (Issues with "last day of <monthname>"). 2015-03-31 17:44:08 +02:00
Derick Rethans d252c9f832 Merge branch 'PHP-5.6'
Conflicts:
	ext/date/lib/parse_date.c
	ext/date/php_date.c
2015-03-31 16:36:51 +01:00
Derick Rethans 2d3868984c Merge branch 'PHP-5.5' into PHP-5.6 2015-03-31 16:35:10 +01:00
Derick Rethans ffbd380e44 Fixed bug #69336 (Issues with "last day of <monthname>"). 2015-03-31 16:35:03 +01:00
Julien Pauli 8e3e034469 5.5.24RC1 2015-03-31 16:03:52 +02:00
Julien Pauli 1737e44dec Merge branch 'PHP-5.6'
* PHP-5.6:
  5.5.25 now
2015-03-31 16:00:17 +02:00
Julien Pauli 133c57198e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.25 now
2015-03-31 15:57:44 +02:00
Julien Pauli 97a1b34300 5.5.25 now 2015-03-31 15:51:47 +02:00
Dmitry Stogov 463ca30c8c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  force ext/odbc to be shared in snapshot build
2015-03-31 16:36:26 +03:00
Dmitry Stogov 685ab95add Convert fatal errors on improper access to static properties into EngineExceptions 2015-03-31 16:35:27 +03:00
Anatol Belski b13df7327f force ext/odbc to be shared in snapshot build 2015-03-31 12:54:10 +02:00
Dmitry Stogov e8672deefc Convert "Unsupported operands" fatal error into EngineException (exceptions can't be thrown at compile-time yet, so unsuported operands in constant expressions are still lead to fatal error). 2015-03-31 13:25:26 +03:00
Derick Rethans f9d1a47f24 Merge branch 'PHP-5.6' 2015-03-31 11:09:31 +01:00
Derick Rethans 346c8f7331 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-31 11:09:23 +01:00
Derick Rethans 2c117a40a7 Export date_get_immutable_ce() so that extensions can make use of it too. 2015-03-31 11:08:56 +01:00
Xinchen Hui 9203608878 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-31 16:52:43 +08:00
Xinchen Hui ceb77b6472 Revert "Better to taverse reversely"
This reverts commit 51451ab84a.
2015-03-31 16:52:30 +08:00
Lior Kaplan 5417f22e99 Merge branch 'PHP-5.6'
* PHP-5.6:
  Align entries format
  Update CVE for Bug #68976 to CVE-2015-2787 instead of reusing CVE for #68710
  Add CVE for bug #69207
  Align NEWS entries with 5.6.7
  Align entries format
  Update CVE for Bug #68976 to CVE-2015-2787 instead of reusing CVE for #68710
  Add CVE for bug #69207
2015-03-31 09:28:22 +03:00
Lior Kaplan 0c1c7c7ecb Align entries format 2015-03-31 09:26:34 +03:00
Lior Kaplan b3d4790976 Update CVE for Bug #68976 to CVE-2015-2787 instead of reusing CVE for #68710 2015-03-31 09:24:56 +03:00
Lior Kaplan 96e33a7e98 Add CVE for bug #69207 2015-03-31 09:23:34 +03:00
Lior Kaplan e5fd3fc99d Align NEWS entries with 5.6.7 2015-03-31 09:20:29 +03:00
Lior Kaplan 90329a32dc Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Align entries format
  Update CVE for Bug #68976 to CVE-2015-2787 instead of reusing CVE for #68710
  Add CVE for bug #69207
2015-03-31 09:17:13 +03:00
Lior Kaplan 1bc77559f3 Align entries format 2015-03-31 09:14:06 +03:00
Lior Kaplan 8654fdd884 Update CVE for Bug #68976 to CVE-2015-2787 instead of reusing CVE for #68710 2015-03-31 09:12:05 +03:00
Lior Kaplan 639f92275a Add CVE for bug #69207 2015-03-31 09:11:21 +03:00
Xinchen Hui d7835ee224 Using int32_t opposite of uint32_t 2015-03-31 12:40:29 +08:00
Xinchen Hui b72fd9c258 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-31 11:54:08 +08:00
Xinchen Hui fd1a7c5f2d Add XFAIL test 2015-03-31 11:53:52 +08:00
Nikita Popov 53a40386bc Implement additional type reservations
* The class names false, true and null are now reserved.
 * The code dealing with reserved class names is now decoupled
   from scalar type hint handling. It also includes self, parent,
   and static, which are class names which were already reserved
   previously.
 * Reuse existing messages for reserved class names.

Fallout: class_alias() can no longer alias self, parent and static.
However this never really worked in the first place, as the test
which was testing this shows.
2015-03-30 22:59:06 +02:00
Dmitry Stogov 2afca9f179 Fixed test 2015-03-30 21:48:54 +03:00
Kalle Sommer Nielsen 607b7d662a Added missing zend_parse_parameters_none() to restore_error_handler() and restore_exception_handler() (Ferenc) 2015-03-30 17:57:32 +02:00
Dmitry Stogov 1018f462d8 Patch improvement:
Removed the corresponding core code.
Fixed ext/com_dotnet and ext/date.
Refactored ext/intl changes.
Improved ext/fileinfo and ext/pdo changes.
Fixed tests.
2015-03-30 18:53:38 +03:00
Michael Wallner 3ec9d9f3b6 Merge branch 'PHP-5.6'
* PHP-5.6:
  BFN
  Fixed bug #64931
2015-03-30 16:29:18 +02:00
Michael Wallner b7389f0f07 BFN 2015-03-30 16:27:08 +02:00
Michael Wallner a4490bb0a2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #64931
2015-03-30 16:25:47 +02:00
Michael Wallner 6480725007 Fixed bug #64931
phar_add_file is too restrive on filename

Check for any of '/', '\\', '\0' after ".phar".
2015-03-30 16:24:19 +02:00
Michael Wallner 8994a5eb1d Merge branch 'PHP-5.6'
* PHP-5.6:
  BFN
  Fixed Bug #65467
2015-03-30 15:41:53 +02:00
Michael Wallner a24aefaac2 BFN 2015-03-30 15:41:36 +02:00
Michael Wallner 3c22449649 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed Bug #65467
2015-03-30 15:41:03 +02:00
Michael Wallner 6de25c155e Fixed Bug #65467
Call to undefined method cli_arg_typ_string

Use cli_arg_typ_filecontent instead.
2015-03-30 15:39:30 +02:00
Michael Wallner e148fff61d Merge branch 'PHP-5.6'
* PHP-5.6:
  BFN
  fix bug #67761
2015-03-30 14:45:38 +02:00
Michael Wallner 64d9c98fa9 BFN 2015-03-30 14:43:02 +02:00
Michael Wallner 90a8b59e9c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix bug #67761
2015-03-30 14:42:37 +02:00
Michael Wallner 8f7e378b9f fix bug #67761
Phar::mapPhar fails for Phars inside a path containing ".tar".

Strengthen the silly .tar file extension check.
2015-03-30 14:41:30 +02:00
Xinchen Hui 74090539c1 It's lowercase now 2015-03-30 20:32:02 +08:00
Xinchen Hui ab4f120c6a Merge branch 'PHP-5.6'
Conflicts:
	NEWS
	ext/opcache/Optimizer/pass1_5.c
2015-03-30 20:20:55 +08:00
Michael Wallner 3a660bf3a5 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug 64343

; Lesson learned: do not rebase on a merge commit
2015-03-30 13:48:57 +02:00
Michael Wallner ef52e44053 Fixed bug 64343
PharData::extractTo fails for tarball created by BSD tar

Phar did not know about PAX style global/file headers.
Skip them, to be able to read the contents of those archives.
2015-03-30 13:20:09 +02:00
Michael Wallner f4264ebc64 Fixed bug 64343
PharData::extractTo fails for tarball created by BSD tar

Phar did not know about PAX style global/file headers.
Skip them, to be able to read the contents of those archives.
2015-03-30 13:11:06 +02:00
Dmitry Stogov 9155a267ad Merge branch 'InternalClassClean' of github.com:Danack/php-src into InternalClassClean
* 'InternalClassClean' of github.com:Danack/php-src:
  Fixed indentation. Fixed comment style. Fixed commented out code.
  Reverted change to function name and added note of why it is different from the class it is actually changing.
  Made UConverter throw an exception if the constructor fails.
  Fixed PDO constructor to not return null.
  Fixed fileinfo behaviour.
  Made Phar throw exception on bad constructor.
  Converted intl extension to use IntlException in constructors.
  Fixed SplFixedArray and tests.
  Fixed ReflectionExtension and ReflectionProperty.
  Fixed ReflectionFunction, ReflectionMethod and ReflectionParameter.
  Fixed PDORow behaviour and message.
2015-03-30 12:14:43 +03:00
Xinchen Hui 3ad9ff197d Fixed typos 2015-03-30 16:56:12 +08:00
Xinchen Hui 97956a5d08 Fixed tests 2015-03-30 16:25:41 +08:00
Xinchen Hui 51451ab84a Better to taverse reversely 2015-03-30 15:26:59 +08:00
Xinchen Hui c71c97e101 Fixed test 2015-03-30 14:18:23 +08:00
Kalle Sommer Nielsen 298a0554a7 This check here is not needed anymore for Windows (Unsupported Windows version check) 2015-03-30 04:13:43 +02:00
Eric F 321bafccde Update openssl.c
Adding additional checks for sslv3.
2015-03-30 01:30:09 +02:00
Kalle Sommer Nielsen 6a8ab3d7c6 Fix additional NULL byte added to string keys in get_header(), spotted by Ferenc 2015-03-30 00:52:28 +02:00
Anatol Belski a7e6687df6 updated libmagic.patch 2015-03-29 18:22:42 +02:00
Anatol Belski 5b6427c40f further sync with libmagic.orig 2015-03-29 18:17:02 +02:00
Anatol Belski f51d78a35d catch up with libmagic.orig
that'll simplify future merges
2015-03-29 18:11:11 +02:00
Anatol Belski 662c439087 fix typo 2015-03-29 17:59:28 +02:00
Anatol Belski 5e773b4ce5 catch up with libmagic.orig 2015-03-29 17:57:22 +02:00
Anatol Belski a935c02210 added test for bug #69320 2015-03-29 17:52:38 +02:00
Anatol Belski aeabea4aa9 Fixed bug #69320 libmagic crash when running laravel tests
Basically reverted the part of the new patch to what we have in 5.6
as the current change seems to have bad side effects. Hovere the
in buffer used for PCRE is still doubled (1 << 14), this might or
might not be optimal, so lets observe.
2015-03-29 17:42:59 +02:00
Anatol Belski 2accf544cb ifdef win only api 2015-03-29 13:18:25 +02:00
Kalle Sommer Nielsen 19bc9a8dd8 Update credits 2015-03-29 10:15:43 +02:00
Kalle Sommer Nielsen de2d244f8e We can re-use the already existing EG(windows_version_info) here and save a little bit of memory too! 2015-03-29 09:47:14 +02:00
Kalle Sommer Nielsen c48611772d Remove the special disabled functions on Windows, since we don't even support those versions of Windows anymore hence it makes no sense to even check for it 2015-03-29 09:41:47 +02:00
Kalle Sommer Nielsen a141ccb4ff Another minor cleanup, drop ENFORCE_SAFE_MODE (all except pdo_pgsql have #if's for checking already) 2015-03-29 09:34:05 +02:00
Kalle Sommer Nielsen 7845bcd827 Shameless self credit for the Windows support for contributions in the almost past decade (How time flies when you are having fun) 2015-03-29 08:11:08 +02:00
Kalle Sommer Nielsen a7b4f32519 This should be the last of the old VC stuff in the Windows build system, also up the check to require VC11 now 2015-03-29 08:05:42 +02:00
Kalle Sommer Nielsen 0ca8ffa2b8 Forgot this one in the last commit, removes old VC support from ext/fileinfo 2015-03-29 07:54:18 +02:00
Kalle Sommer Nielsen 60cbef19a2 Drop the VC6 portable version of strtoi64, as it is no longer needed 2015-03-29 07:49:35 +02:00
Kalle Sommer Nielsen 88b9d485d6 Drop old VC support for ext/fileinfo.
@Anatol, I generated the updated patch file against file 5.22, since you are the one that usually updates it, can you please confirm it works?
2015-03-29 07:48:48 +02:00
Kalle Sommer Nielsen 75e86b44fc Drop this redundant check, since the minimum version of VC we support is VC11 (_MSC_VER == 1700) in ext/date 2015-03-29 07:14:54 +02:00
Kalle Sommer Nielsen 313d01f30a Drop old VC support in Zend Engine, this also kills the remaining MessageBox fix for Windows 9x that Anatol changed a while back 2015-03-29 07:10:39 +02:00
Kalle Sommer Nielsen 43457f960f Drop old VC support (VC <= 9), for dns.c, this means that DNS_TYPE_NAPTR always is available 2015-03-29 06:57:11 +02:00
Kalle Sommer Nielsen 3d4aad5e27 Remove this VC8 check as our minimum target version of VC is higher 2015-03-29 06:50:09 +02:00
Kalle Sommer Nielsen a75e8d1fe6 Drop this VC8+ check, since our bare minimum of required VC version is higher anyway, meaning that CRT warnings are always supported. 2015-03-29 06:45:40 +02:00
Kalle Sommer Nielsen ca0a2e7a3c Drop VC6 support in sapi/apache2handler 2015-03-29 06:37:07 +02:00
Kalle Sommer Nielsen 169ed3257b Drop VC6 support in ext/calendar 2015-03-29 06:35:23 +02:00
Kalle Sommer Nielsen f8590f7100 Drop this struct (it was only used for VC6 which we don't support anyway) 2015-03-29 06:20:30 +02:00
Kalle Sommer Nielsen 1a0534077f Merge branch 'master' of https://git.php.net/push/php-src 2015-03-29 06:09:02 +02:00
Kalle Sommer Nielsen be2111e05e Enable all compiler warnings and linker warnings for debug builds on Windows. This is a slightly modified version of the patch in #55709 2015-03-29 06:06:24 +02:00
Xinchen Hui 1646e0e9d7 Fixed typo 2015-03-28 18:51:57 +08:00
Xinchen Hui 5c31c8c6e5 Fixed is_callable/function_exists with disable_functions 2015-03-28 17:07:11 +08:00
Xinchen Hui 193de2a679 Fixed memleak
ext/standard/tests/serialize/bug69210.phpt
2015-03-28 14:35:14 +08:00
Xinchen Hui e60b380c55 Merge branch 'bug69315' of https://github.com/laruence/php-src 2015-03-28 14:10:41 +08:00
Xinchen Hui 4328999d2c Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-28 11:02:23 +08:00
Kalle Sommer Nielsen 8153286efe Drop zend_indent() as it was never used, complete or working 2015-03-27 20:04:46 +01:00
Dmitry Stogov 75f40ae1f3 Fixed bug #69293 2015-03-27 18:40:58 +03:00
Nikita Popov c64f5e3332 Disallow direct incdec of function return value
Matching PHP 5 behavior.

We may want to support this for by-reference returns, but that
requires implementing further checks.
2015-03-27 16:40:04 +01:00
Kalle Sommer Nielsen f678519a63 Merge branch 'master' of https://git.php.net/push/php-src 2015-03-27 15:21:52 +01:00
Kalle Sommer Nielsen dd601e661c Remove these CFLAGS for ereg in opcache, we don't use them anymore (as opcache uses PCRE) together with ereg being gone 2015-03-27 15:01:31 +01:00
Leigh 456f4a78d2 Add RAND_egd check for compiling against LibreSSL 2015-03-27 13:33:22 +01:00
Leigh a04ab4b54b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add RAND_egd check for compiling against LibreSSL
2015-03-27 13:26:48 +01:00
Leigh 1b2d58a364 Add RAND_egd check for compiling against LibreSSL 2015-03-27 13:24:36 +01:00
Xinchen Hui 84d9426730 Fixed bug #69315 2015-03-27 17:50:36 +08:00
K b3962ab940 zend_hash_do_resize: amortizing the cost of compaction
New implementation of hashtables introduced a compaction step which is
triggered when a hashtable is full but it contains at least one deleted
bucket. Therefore there is a possibility that a cleverly crafted code can
trigger this compaction step (which takes time proportional to the size of
hashtabe) by executing constatnt number of operations. When the hashtable
is full, deletion and subsequent addition or single element triggers a
table compaction and these two steps can be repeated ad infinitum. This
might be avenue for a DOS attack.

This patch allows compaction to be performed only if the hashtable contains
at least 1/32 deleted elements, otherwise the hashtable is doubled in size.
Linear amount of work caused by compaction is amortized over multiple
malicious additions and deletions.
2015-03-26 19:05:38 +01:00
Xinchen Hui 4ef3f4e76a Useless comment 2015-03-26 13:50:43 +08:00
Kalle Sommer Nielsen d9d74d37ac Fix test on Windows 2015-03-26 03:29:18 +01:00
Kalle Sommer Nielsen 9dfe033ae4 Fix test on Windows 2015-03-26 03:22:57 +01:00
Kalle Sommer Nielsen 5e9036a2a1 Another CRLF test fix 2015-03-26 03:18:42 +01:00
Kalle Sommer Nielsen 71734d64c8 Fix tests on Windows
CRLF takes +2 bytes when running the tests, making it yield 13 instead of 11
2015-03-26 03:13:50 +01:00
Kalle Sommer Nielsen 10e1b13ac5 Minor cosmetics for our test functions in the debug build 2015-03-26 02:03:55 +01:00
Kalle Sommer Nielsen 1c5994184f Added tests for the naming collision error message to handle all possible conditions 2015-03-26 01:59:23 +01:00
Kalle Sommer Nielsen 67b907f059 Change the error message for colliding class/interface/trait names to be a little more clearer.
C:\> php -r "interface stdClass { }"
  Error: Cannot declare interface stdClass, because the name is already in use in Command Line Code on line 1
2015-03-26 01:44:23 +01:00
Anatol Belski 2cd07c377d remove recognition for no more supported OSes 2015-03-25 19:31:50 +01:00
Lior Kaplan ebce0d5d5a Add CVE for bug #68901 2015-03-25 19:32:25 +02:00
Lior Kaplan 67c5ad6b6a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add CVE for bug #68901
2015-03-25 19:31:05 +02:00
Lior Kaplan bc0e5051e3 Add CVE for bug #68901 2015-03-25 19:26:40 +02:00
Xinchen Hui d55d10c7fd Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7) 2015-03-25 23:50:54 +08:00
Xinchen Hui 6aaee5fc14 Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/Optimizer/pass1_5.c
2015-03-25 23:35:56 +08:00
Xinchen Hui d380d1cb1b Fixed Bug #69297 (function_exists strange behavior with OPCache on disabled function)
is_callable returns true for disable_functions, but function_exists
return false for it.
2015-03-25 23:34:02 +08:00
Xinchen Hui c7da95e5ab Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-25 23:29:31 +08:00
Xinchen Hui e46e9a3d22 Fixed Bug #69297 (function_exists strange behavior with OPCache on disabled function)
is_callable returns true for disable_functions, but function_exists
return false for it.
2015-03-25 23:29:18 +08:00
Anatol Belski 1f84e29506 integrate static tsrm_ls cache for ext/odbc 2015-03-25 15:32:36 +01:00
Anatol Belski 774b113b32 fix datatype mismatches 2015-03-25 15:32:36 +01:00
Anatol Belski fe36285de2 fix datatype mismatches 2015-03-25 15:32:35 +01:00
Michael Wallner 0ae011f3a7 RFC:continue_ob accepted 2015-03-25 15:22:49 +01:00
Remi Collet 2fe6acd8f5 expose destroy_uploaded_files_hash in the API (used by apfd extension) 2015-03-25 14:33:47 +01:00
Anatol Belski d16a900731 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed bug #69287 upgrade bundled sqlite to 3.8.8.3
  fix dir separator in test
2015-03-25 13:17:19 +01:00
Anatol Belski c87aee8a8a updated bundled libsqlite to 3.8.8.3 2015-03-25 13:16:56 +01:00
Anatol Belski 7461c52248 updated NEWS 2015-03-25 13:14:42 +01:00
Anatol Belski c9550e81da Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69287 upgrade bundled sqlite to 3.8.8.3
  fix dir separator in test
2015-03-25 13:13:42 +01:00
Anatol Belski 1b41dcf9c5 Fixed bug #69287 upgrade bundled sqlite to 3.8.8.3 2015-03-25 13:13:03 +01:00
Anatol Belski 8f9cb39cad fix dir separator in test 2015-03-25 13:11:27 +01:00
Remi Collet 23336d77a6 Merge branch 'PHP-5.6'
* PHP-5.6:
  revert a4157423934edf7b8fdbcee163cced9bfd5748a, fix build odbc as shared
  Fixed typo
  Fixed typo
2015-03-25 10:33:39 +01:00
Remi Collet 3924548bcb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  revert a4157423934edf7b8fdbcee163cced9bfd5748a, fix build odbc as shared
2015-03-25 10:33:31 +01:00
Remi Collet 1174b399ad revert a4157423934edf7b8fdbcee163cced9bfd5748a, fix build odbc as shared 2015-03-25 10:33:08 +01:00
Kalle Sommer Nielsen 02be73b5fa Constness to zend_get_object_type(), thanks Michael! 2015-03-25 07:01:04 +01:00
Xinchen Hui f2e6b86fdc Merge branch 'PHP-5.6' 2015-03-25 13:54:49 +08:00
Xinchen Hui eb98366642 Fixed typo 2015-03-25 13:54:42 +08:00
Xinchen Hui 3ab1513ac9 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-25 13:54:30 +08:00
Xinchen Hui 23520d7957 Fixed typo 2015-03-25 13:54:12 +08:00
Kalle Sommer Nielsen c340b186f8 Merge branch 'master' of https://git.php.net/push/php-src 2015-03-25 06:32:29 +01:00
Kalle Sommer Nielsen 927d53fda4 Change "Cannot redeclare class X" into "Cannot redeclare class/interface/trait X", meaning that the following:
C:\> php -r "trait A { } trait A { }"

Will now properly print "Cannot redeclare trait A" instead of "Cannot redeclare class A" to make error messages a tiny bit clearer. Admittedly, a better solution can most likely be made by actually telling what the colliding object is a type of.

Internally this adds a new function:
 zend_get_object_type()
2015-03-25 06:31:11 +01:00
Xinchen Hui fe0ca2745f Merge branch 'PHP-5.4' of https://git.php.net/repository/php-src into PHP-5.4 2015-03-25 13:05:08 +08:00
Kalle Sommer Nielsen a3d2f9b600 The error message is actually "Cannot", not "Can't" 2015-03-25 05:20:58 +01:00
Xinchen Hui db76b8c01f Merge branch 'PHP-5.6'
Conflicts:
	ext/soap/php_encoding.c
2015-03-25 12:10:54 +08:00
Xinchen Hui 3eb893396a Update NEWS 2015-03-25 12:10:25 +08:00
Xinchen Hui 86bbacfd53 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-25 12:09:35 +08:00
Xinchen Hui 0e1024f25a UPdate NEWS 2015-03-25 12:09:21 +08:00
Xinchen Hui 76c1ec5e96 Bug #69293 NEW segfault when using SoapClient::__setSoapHeader (bisected, regression)
This was a typo introduced in c8eaca013a
2015-03-25 12:07:25 +08:00
Dmitry Stogov 550b07ae1b cleanup 2015-03-25 01:57:05 +03:00
Anatol Belski 18e0393b71 robuster read/write for mod ps_files 2015-03-24 22:02:34 +01:00
Anatol Belski 512429ffc5 fix datatype mismatches 2015-03-24 22:02:33 +01:00
Anatol Belski 1a00554aaf fix datatype mismatches 2015-03-24 22:02:31 +01:00
Anatol Belski 3066851dab fix datatype mismatches 2015-03-24 22:02:29 +01:00
Anatol Belski 62b51668e2 ensure the test uses correct SAPI 2015-03-24 22:02:28 +01:00
Anatol Belski e1f706e3f4 fix typo 2015-03-24 22:02:26 +01:00
Anatol Belski 2192e96ef5 replace this version as it's unchanged since 5.4 at least 2015-03-24 22:02:25 +01:00
Dmitry Stogov 0ce7b4c8c6 Removed unused functions 2015-03-24 23:40:20 +03:00
Dmitry Stogov e37e9d2986 Reverted part committed by mistake 2015-03-24 22:56:07 +03:00
Dmitry Stogov 23c33b1483 Optimized strings concatenation.
ZEND_ADD_STRING/VAR/CHAR are replaced with ZEND_ROPE_INTI, ZEND_ROPE_ADD, ZEND_ROPE_END.
Instead of reallocation and copying string on each ZEND_ADD_STRING/VAR/CAHR, collect all the strings and then allocate and construct the resulting string once.
2015-03-24 22:47:21 +03:00
Dmitry Stogov bdf7fc67d8 We can't stay zend_string->h to be zero, because it may lead to hash value recalculation and update.
But in general zend_string may be put and read-only memory, that would lead to crash.
Always set the high bit of hash_value to prevent recaclulation.
2015-03-24 16:28:26 +03:00
Nikita Popov d659ee24ab Fix VERIFY_RETURN separation
a) The SAME_FAKE_TYPE check should always occur on the dereferenced
value, otherwise we'll end up separating large referenced arrays.
b) For by-val return with an rc=1 reference, the SEPARATE_ZVAL
wouldn't do anything. Add a ZVAL_UNREF for this case.

I don't like this fix - there must be some better way to express
this.
2015-03-24 10:51:28 +01:00
Dmitry Stogov 4be8d798b6 Add some assumptions. 2015-03-24 12:22:11 +03:00
Dmitry Stogov e1ab2cfe1c Introduce ZEND_ASSUME() macro to help optimizing code.
Reuse ZEND_ASSERT() conditions for optimization.
2015-03-24 12:21:06 +03:00
Anatol Belski fc28ae2786 fix test 2015-03-23 22:21:30 +01:00
Anatol Belski 663074b6b1 cleanup mod version macros and mod defs, round x 2015-03-23 21:30:22 +01:00
Anatol Belski 19360f386e cleanup mod version macros, round 3 2015-03-23 20:54:55 +01:00
Anatol Belski 2d78023244 cleanup the mod version macros, round 2 2015-03-23 20:33:54 +01:00
Anatol Belski ec89c85054 cleaning up the version macros 2015-03-23 20:13:59 +01:00
Anatol Belski 88b2a2d405 export useful symbols from ext/simplexml 2015-03-23 18:33:37 +01:00
Anatol Belski 4dc69709e2 some more UPGRADING INTERNALS notes 2015-03-23 15:50:13 +01:00
Anatol Belski 429c8715b2 some UPGRADING.INTERNALS notes 2015-03-23 15:27:26 +01:00
Anatol Belski 0313394fe4 revert yet unready stuff 2015-03-23 15:09:10 +01:00
Anatol Belski 567565b24f more fixes to the shared compilation 2015-03-23 15:09:09 +01:00
Anatol Belski c0adad5557 fix exports and shared compilation 2015-03-23 15:09:07 +01:00
Anatol Belski ffabfc703d fix exports 2015-03-23 15:09:06 +01:00
Anatol Belski 5539cb5972 indicate if an ext was forced shared globally 2015-03-23 15:09:04 +01:00
Anatol Belski 7a13715459 fix shared compilation 2015-03-23 15:09:03 +01:00
Anatol Belski f195870a9e implemented --with-all-shared option 2015-03-23 15:09:01 +01:00
Dmitry Stogov bdc96afbdd Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Also add preg_replace_callback_array in NEWS
  update NEWS with group use declarations implementation
2015-03-23 12:01:19 +03:00
Dmitry Stogov f596c953e4 Fixed PHP_CHECK_BUILTIN_EXPECT setting 2015-03-23 12:00:37 +03:00
Xinchen Hui eaf394e9e3 Also add preg_replace_callback_array in NEWS 2015-03-23 16:51:06 +08:00
Xinchen Hui d96ff5105e Merge branch 'master' of https://github.com/marcioAlmada/php-src 2015-03-23 16:49:46 +08:00
Anatol Belski 44fd3902c0 added UPGRADING notes to ext/ftp changes 2015-03-23 08:42:06 +01:00
Anatol Belski 585a5748e8 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated libs versions
  updated libs versions
2015-03-23 08:39:33 +01:00
Anatol Belski c2ec4f90d2 updated libs versions 2015-03-23 08:38:58 +01:00
Anatol Belski 8fe9715d05 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated libs versions
2015-03-23 08:38:25 +01:00
Márcio Almada c9f29f143e update NEWS with group use declarations implementation 2015-03-23 04:36:29 -03:00
Anatol Belski a52385fc02 updated libs versions 2015-03-23 08:35:36 +01:00
Stanislav Malyshev 28fdf6a131 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed #68021 - get_browser() browser_name_regex
2015-03-22 22:13:21 -07:00
Stanislav Malyshev 3342a248a2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed #68021 - get_browser() browser_name_regex
2015-03-22 22:13:08 -07:00
Tjerk Meesters 5b5742c016 Fixed #68021 - get_browser() browser_name_regex
Replaced expression delimiter with tilde (~) and escape where necessary.
2015-03-22 22:12:26 -07:00
Stanislav Malyshev ec8dd442f5 Merge branch 'pull-request/1191'
* pull-request/1191:
  Print checking message for all ODBC drivers
  Change default option of ODBC drivers to no to enable bulding standalone ODBC
2015-03-22 22:05:23 -07:00
Stanislav Malyshev 32bd6568d3 Merge branch 'PHP-5.6'
* PHP-5.6:
  Print checking message for all ODBC drivers
  Change default option of ODBC drivers to no to enable bulding standalone ODBC
2015-03-22 22:05:12 -07:00
Stanislav Malyshev a1bca171d2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Print checking message for all ODBC drivers
  Change default option of ODBC drivers to no to enable bulding standalone ODBC

Conflicts:
	ext/odbc/config.m4
2015-03-22 22:04:41 -07:00
Lior Kaplan 6f5ed34d20 Print checking message for all ODBC drivers
This makes the output more readble in case no ODBC driver was selected
2015-03-22 22:03:38 -07:00
Lior Kaplan 7a41574239 Change default option of ODBC drivers to no to enable bulding standalone ODBC 2015-03-22 22:03:29 -07:00
Stanislav Malyshev 081a812b49 Merge branch 'PHP-5.6'
* PHP-5.6:
  oops, forgot TSRMLS_CC

Conflicts:
	ext/date/php_date.c
2015-03-22 21:56:40 -07:00
Stanislav Malyshev 57f835e148 oops, forgot TSRMLS_CC 2015-03-22 21:55:34 -07:00
Stanislav Malyshev 6929089db0 fix warning & improve error handling in CURL 2015-03-22 21:51:58 -07:00
Stanislav Malyshev 62859309b0 silence warning 2015-03-22 21:43:05 -07:00
Stanislav Malyshev 012e525044 Merge branch 'pull-request/1188'
* pull-request/1188:
  Reduce downstream patches
2015-03-22 21:34:13 -07:00
Stanislav Malyshev 736afd48cf Merge branch 'PHP-5.6'
* PHP-5.6:
  Reduce downstream patches
2015-03-22 21:33:52 -07:00
lesniewskister c12e031530 Reduce downstream patches
As per http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/php/5.6/patches/patch-ext_gd_libgd_gdcache_h?rev=1.1&content-type=text/x-cvsweb-markup
2015-03-22 21:33:45 -07:00
Stanislav Malyshev 941989fa31 Merge branch 'pull-request/1186'
* pull-request/1186:
  Move check for __builtin_expect to configure
2015-03-22 21:11:43 -07:00
Stanislav Malyshev dc6d8f7838 Merge branch 'PHP-5.6'
* PHP-5.6:
  Adding a new `createFromImmutable` method to the `DateTime` class to mirror the current `DateTime::createFromMutable()`

Conflicts:
	ext/date/php_date.c
2015-03-22 21:09:00 -07:00
Stanislav Malyshev cc2fd00942 Merge branch 'pull-request/1145'
* pull-request/1145:
  Putting whitespace back to the way it was.
  Updating the `DateTime_verify` test to include the new method in the reflected method list
  Whoops! String length....
  Adding a new test for the new method
  Adding a new `createFromImmutable` method to the `DateTime` class to mirror the current `DateTime::createFromMutable()`
2015-03-22 21:04:41 -07:00
Stanislav Malyshev aa22e80b1a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Adding a new `createFromImmutable` method to the `DateTime` class to mirror the current `DateTime::createFromMutable()`
2015-03-22 21:03:46 -07:00
Trevor Suarez c2e22556ba Adding a new createFromImmutable method to the DateTime class to mirror the current DateTime::createFromMutable() 2015-03-22 20:54:25 -07:00
Stanislav Malyshev 3b9fcc4d0d Merge branch 'PHP-5.6'
* PHP-5.6:
  Renamed test case to match with reported bug
  Fixed serialization of non string values on __sleep

Conflicts:
	ext/standard/var.c
2015-03-22 20:35:35 -07:00
Juan Basso 3e7f47cb03 Renamed test case to match with reported bug 2015-03-22 20:34:59 -07:00
Juan Basso 4076a4d2a9 Fixed serialization of non string values on __sleep
Returning just N; (null) on the __sleep makes the number of fields/values be incomplete and corrupting the generated value from serialize, making impossible to unserialize it.

Conflicts:
	ext/standard/var.c
2015-03-22 20:31:40 -07:00
Stanislav Malyshev b62eec67df Merge branch 'pull-request/1057'
* pull-request/1057:
  Renamed test case to match with reported bug
  Fixed serialization of non string values on __sleep
2015-03-22 20:27:35 -07:00
Stanislav Malyshev ad51c459f7 Merge branch 'pull-request/1192'
* pull-request/1192:
  add CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2
2015-03-22 18:56:12 -07:00
Stanislav Malyshev be2e0b39ba Merge branch 'PHP-5.6'
* PHP-5.6:
  add CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2
2015-03-22 18:55:04 -07:00
Stanislav Malyshev c6384a7908 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2
2015-03-22 18:54:48 -07:00
Masaki Kagaya 1badfd8171 add CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 2015-03-22 18:52:42 -07:00
Stanislav Malyshev cd5802e1b3 Merge branch 'PHP-5.6'
* PHP-5.6:
  Bacport fix bug #68741 - Null pointer dereference
  Check that the type is correct

Conflicts:
	ext/standard/incomplete_class.c
2015-03-22 18:33:39 -07:00
Stanislav Malyshev fce9a856e7 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Bacport fix bug #68741 - Null pointer dereference
  Check that the type is correct
2015-03-22 18:32:16 -07:00
Stanislav Malyshev 723ffe2e89 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Bacport fix bug #68741 - Null pointer dereference
  Check that the type is correct
2015-03-22 18:30:56 -07:00
Stanislav Malyshev 968fbc6acf Bacport fix bug #68741 - Null pointer dereference 2015-03-22 18:30:05 -07:00
Stanislav Malyshev fb83c76dee Check that the type is correct 2015-03-22 18:17:47 -07:00
Stanislav Malyshev 5a5b63774b Merge branch 'pull-request/1091'
* pull-request/1091:
  Stop trying to call the callback after it has thrown an exception. Also, as an exception has been thrown, there is no need to have a separate error message.
  Fix freeing null segfault. Added test for behaviour.

Conflicts:
	ext/sqlite3/tests/bug68760.phpt
2015-03-22 16:48:54 -07:00
Stanislav Malyshev 574b9a4e60 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix #68760: Fix freeing null segfault. Added test for behaviour.
  Fix #68760: Fix freeing null segfault. Added test for behaviour.

Conflicts:
	ext/sqlite3/sqlite3.c
2015-03-22 16:47:54 -07:00
Stanislav Malyshev 40037f1474 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix #68760: Fix freeing null segfault. Added test for behaviour.

Conflicts:
	ext/sqlite3/tests/bug68760.phpt
2015-03-22 16:46:30 -07:00
Danack 0c27a8eb61 Fix #68760: Fix freeing null segfault. Added test for behaviour. 2015-03-22 16:46:02 -07:00
Danack 1ec430d4ed Fix #68760: Fix freeing null segfault. Added test for behaviour. 2015-03-22 16:44:06 -07:00
Masaki Kagaya c5f7a57eaf add CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 2015-03-23 08:10:06 +09:00
Anatol Belski 65bd595789 Merge branch 'PHP-5.6'
* PHP-5.6:
  cosmetic fix to default odbcver
  Remove extraneous strlen() call
  Remove extraneous strlen() call
2015-03-23 00:08:11 +01:00
Anatol Belski 63d7cd7d5b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  cosmetic fix to default odbcver
  Remove extraneous strlen() call
2015-03-23 00:07:43 +01:00
Anatol Belski a759c40872 cosmetic fix to default odbcver 2015-03-23 00:07:09 +01:00
Anatol Belski 6b01927126 cosmetic fix to default odbcver 2015-03-23 00:06:00 +01:00
Stanislav Malyshev c8aec7665c Merge branch 'pull-request/1182'
* pull-request/1182:
  Treat NetBSD the same as FreeBSD wrt. TCP_INFO usage.
2015-03-22 15:29:38 -07:00
Lior Kaplan db25479d45 Print checking message for all ODBC drivers
This makes the output more readble in case no ODBC driver was selected
2015-03-23 00:29:05 +02:00
Lior Kaplan 7110bf3c2d Change default option of ODBC drivers to no to enable bulding standalone ODBC 2015-03-23 00:28:51 +02:00
Nikita Popov a34f81deee Allow adding return type during inheritance
This is allowed as per the return types RFC. The test for this
behavior happened to use an internal class without arginfo, which
is why this was not properly implemented.
2015-03-22 18:56:14 +01:00
Levi Morrison 017f89e871 Move check for __builtin_expect to configure
This allows __builtin_expect to be used more accurately
2015-03-22 10:31:14 -06:00
Nikita Popov a50e9d87f2 Partially revert "Fix uninitialized value condition"
This reverts commit e874f76096,
which broke zpp quite mode.

Only the initialization of the "severity" variable is retained.
2015-03-22 09:25:32 +01:00
Nikita Popov ccfd53886f Revert "Use E_ERROR | E_EXCEPTION in FAST_ZPP mode too"
This reverts commit d4da7c20d2.

The argument passed to this function refers to the weak mode
severity, strict mode will get an exception in any case.
2015-03-22 09:17:42 +01:00
Bob Weinand d4da7c20d2 Use E_ERROR | E_EXCEPTION in FAST_ZPP mode too 2015-03-22 00:17:33 +01:00
Bob Weinand e874f76096 Fix uninitialized value condition 2015-03-22 00:14:47 +01:00
Bob Weinand 278adf99de Fix parent command offsets 2015-03-21 23:19:12 +01:00
Bob Weinand ea643307db Put info to info and made print always output opcodes 2015-03-21 23:16:53 +01:00
Bob Weinand 2ed0085833 Add phpdbg -h for help 2015-03-21 23:16:53 +01:00
Bob Weinand 97887e3716 Stabilize (simple) watchpoints with IS_INDIRECT/IS_REFERENCE situations 2015-03-21 23:16:53 +01:00
Rasmus Lerdorf d33636f764 Remove extraneous strlen() call 2015-03-21 08:29:12 -07:00
Rasmus Lerdorf 7fce3607ea Remove extraneous strlen() call 2015-03-21 08:28:40 -07:00
Rasmus Lerdorf f01071f55f Remove extraneous strlen() call 2015-03-21 08:26:06 -07:00
Derick Rethans a86a871bd0 - Updated to version 2015.2 (2015b) 2015-03-21 14:51:14 +01:00
Derick Rethans 6b6297238d Empty merge 2015-03-21 14:51:14 +01:00
Derick Rethans a73d0b0fb3 - Updated to version 2015.2 (2015b) 2015-03-21 14:51:11 +01:00
Derick Rethans d025f8e019 Empty merge 2015-03-21 14:51:10 +01:00
Derick Rethans b98a486606 - Updated to version 2015.2 (2015b) 2015-03-21 14:51:09 +01:00
Xinchen Hui 784c60ab6d Improve test scripts 2015-03-21 21:11:14 +08:00
Xinchen Hui a4529cc0e5 Fixed memleak 2015-03-21 20:17:04 +08:00
Xinchen Hui 8aa76a5bdd Fixed test 2015-03-21 17:50:50 +08:00
Xinchen Hui 4180226117 More error conditions 2015-03-21 16:54:45 +08:00
Xinchen Hui cda8e60638 Added note about preg_replace_callback_array in UPGRADING 2015-03-21 15:59:12 +08:00
Xinchen Hui 5f845cdc48 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-21 15:56:52 +08:00
Xinchen Hui 2f6dbfc26b Improved impelmentation(and cleanup behaviro with errors conditions) 2015-03-21 15:56:42 +08:00
Rasmus Lerdorf 4d10e15845 Fix a couple of warnings 2015-03-20 23:32:07 -07:00
Xinchen Hui c524dd6d1e Merge branch 'rfc-preg-replace-callback-array' of https://github.com/zxcvdavid/php-src
Conflicts:
	Zend/zend_vm_gen.php
	ext/pcre/php_pcre.c
2015-03-21 14:01:11 +08:00
Xinchen Hui 775a257cef Only used in ZTS 2015-03-21 13:58:29 +08:00
lesniewskister dea7e4d467 Reduce downstream patches
As per http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/php/5.6/patches/patch-ext_gd_libgd_gdcache_h?rev=1.1&content-type=text/x-cvsweb-markup
2015-03-20 20:39:49 -02:30
Anthony Ferrara 595e46fdeb Add news file for merge of scalar typehints RFC 2015-03-20 18:04:35 -04:00
Dmitry Stogov 430266edfa Merge branch 'scalar_type_hints_v5'
* scalar_type_hints_v5: (65 commits)
  Fixed in-place modification of IS_CONST operand
  Changed SKIPIF messages
  ZPP changed to lazely check for "strict/weak" only if it's really necessary. Cleanup.
  cleanup
  Fixed return type hint handling for constants
  Fixed tests
  Imroved ZPP rules (condititins reoredered to prevent duplicate checks)
  Fixed comments
  Fixed error messages
  Improved type hinting:
  Fixed white spaces
  Add check for maintaining reference all the way through both type and return values
  Reduce the number of times that the zval needs to be separated in return type checking to those that are necessary
  Add test to ensure namespaced code can't use scalar types as class names
  Disallow relative namespace type declarations
  Add support and tests for null constant default values. Refactor complex conditionals into an extracted function for clarity and code-reuse
  Refactor as to not use call info, but add the flag to the op_array.
  Fix severity issues with callbacks, start work porting ZEND_STRLEN opcode to work with strict mode, more refactoring to come
  Fix C89 compatibility by moving a misplaced if statement
  Refactor gotos into more elaborate ifs to eliminate goto failure
  ...
2015-03-21 01:00:00 +03:00
Dmitry Stogov 1f408af03c Fixed in-place modification of IS_CONST operand 2015-03-21 00:22:25 +03:00
Dmitry Stogov 3a886a0c90 Changed SKIPIF messages 2015-03-20 23:19:51 +03:00
Dmitry Stogov 35f9b90bb8 ZPP changed to lazely check for "strict/weak" only if it's really necessary.
Cleanup.
2015-03-20 23:18:52 +03:00
Dmitry Stogov 4e5767b5d7 cleanup 2015-03-20 20:43:23 +03:00
Anatol Belski a43a9c9137 use correct api 2015-03-20 17:11:36 +01:00
Dmitry Stogov 1cfa4db338 Fixed return type hint handling for constants 2015-03-20 18:36:43 +03:00
Dmitry Stogov 139c6c644c Fixed tests 2015-03-20 17:56:32 +03:00
Dmitry Stogov 054591ab9a Imroved ZPP rules (condititins reoredered to prevent duplicate checks) 2015-03-20 17:27:03 +03:00
Dmitry Stogov 66f16c6cfb Fixed comments 2015-03-20 17:26:38 +03:00
Dmitry Stogov 7cf05ce8da Fixed error messages 2015-03-20 17:26:12 +03:00
Ferenc Kovacs b88f1d5b9b Merge branch 'PHP-5.6'
* PHP-5.6:
  this already had an entry
2015-03-20 14:41:22 +01:00
Ferenc Kovacs b5d7bcf0db this already had an entry 2015-03-20 14:40:58 +01:00
Dmitry Stogov 5935612666 Improved type hinting:
EX_PREV_USES_STRICT_TYPES() and family changed/renamed to fit with other macros
Optimized zend_verify_internal_arg_type() and family (they don't need "strict" argument anymore)
Standerd ZPP is called from VM only for weak type check or strict exception (int -> double)
Fixed ZEND_RECV_VARIADIC
Fixed ZEND_STRLEN

TODO: should we accept IS_NULL for non-nullable arguments?
2015-03-20 16:04:04 +03:00
Ferenc Kovacs 4b9299d155 reverting pear/install-pear-nozlib.phar as this mass php 5 -> php 7 string replace broke the file signature(phar files are binary) 2015-03-20 13:35:07 +01:00
Ferenc Kovacs 8f244220b5 Merge branch 'PHP-5.6'
* PHP-5.6:
  add pear to the travis build
2015-03-20 13:34:55 +01:00
Ferenc Kovacs 95c3a4798f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add pear to the travis build
2015-03-20 13:34:35 +01:00
Ferenc Kovacs 9ff99059b1 add pear to the travis build 2015-03-20 13:34:16 +01:00
Julien Pauli 028c9187ee Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-03-20 10:53:44 +01:00
Julien Pauli d55b42bd61 Updated NEWS 2015-03-20 10:53:33 +01:00
Julien Pauli 5516099ddc Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-03-20 10:53:13 +01:00
Julien Pauli b70ba86781 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-03-20 10:45:54 +01:00
Julien Pauli ceb4cb6976 Updated NEWS 2015-03-20 10:45:36 +01:00
Dmitry Stogov 44669e8f41 Fixed white spaces 2015-03-20 11:10:29 +03:00
Dmitry Stogov aee2985f35 Merge branch 'scalar_type_hints_v5' of github.com:ircmaxell/php-src into scalar_type_hints_v5
* 'scalar_type_hints_v5' of github.com:ircmaxell/php-src: (54 commits)
  Add check for maintaining reference all the way through both type and return values
  Reduce the number of times that the zval needs to be separated in return type checking to those that are necessary
  Add test to ensure namespaced code can't use scalar types as class names
  Disallow relative namespace type declarations
  Add support and tests for null constant default values. Refactor complex conditionals into an extracted function for clarity and code-reuse
  Refactor as to not use call info, but add the flag to the op_array.
  Fix severity issues with callbacks, start work porting ZEND_STRLEN opcode to work with strict mode, more refactoring to come
  Fix C89 compatibility by moving a misplaced if statement
  Refactor gotos into more elaborate ifs to eliminate goto failure
  Fix return type separation with references. It now includes a check in the opcode handler and properly separates the value in both cases
  Add error case with invalid type declaration default value
  Add tests for using constants as defaults with scalar type declarations
  Refactor error messages to only append defined in the event of rendering as a fatal error. Fix relative typehints to not work
  Revert gd and mysqli to former calls for arg count errors. Fix first identified issues with zend_compile.c from nikic. Add tests for generator returns prior to first yield
  Style cleanup, as well as fixing bug with missing argument for WRONG_PARAM_COUNT_WITH_RETVAL
  Clean up API renames for zend_wrong_param_count to maintain BC, introducing a zend_wrong_param_count_ex() function when you know strict value
  Fix executor issue with ignoring strict types, which cleans up a bunch of errors. Additionally fix the expected error of 2 unrelated tests that was caused by a change to the core error messages
  Fix more tests, improve error messages in failure output for thrown exception
  Refactor error implementation significantly to centralize error mode behavior. Add zend_internal_type_error() function
  Refactor declare placement detection, allow encoding declares before type declares
  ...
2015-03-20 10:51:41 +03:00
Stanislav Malyshev 288424fa4a Merge branch 'PHP-5.6'
* PHP-5.6:
  add CVEs
2015-03-19 23:06:19 -07:00
Stanislav Malyshev eebd7c66ee Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add CVEs
2015-03-19 23:05:49 -07:00
Stanislav Malyshev 72c19d8260 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  add CVEs
2015-03-19 23:05:34 -07:00
Stanislav Malyshev 95b9c34f02 add CVEs 2015-03-19 22:54:48 -07:00
Dmitry Stogov 0a6bb2dfd4 Fixed optimization patterns 2015-03-20 05:24:04 +03:00
Dmitry Stogov d146d15003 Optimize zend_string_realloc() add more specialized versions zend_string_extend() and zend_string_truncate() 2015-03-20 02:02:42 +03:00
Anthony Ferrara 8c76c331a5 Add check for maintaining reference all the way through both type and return values 2015-03-19 17:51:19 -04:00
Anthony Ferrara 2e4401512f Reduce the number of times that the zval needs to be separated in return type checking to those that are necessary 2015-03-19 17:47:43 -04:00
Anatol Belski 184793b5c1 fix condition 2015-03-19 22:33:16 +01:00
Anatol Belski 9bcd64fd83 fix condition 2015-03-19 22:33:15 +01:00
Anatol Belski 49fdb8a91d fix include 2015-03-19 22:33:14 +01:00
Anatol Belski d3ab945d9c using zend_stat_t 2015-03-19 22:33:13 +01:00
Anatol Belski 743541b311 fix datatype mismatch warnings 2015-03-19 22:33:12 +01:00
Dmitry Stogov 452a5d8e6b String reference counters may be increased when string copied 2015-03-19 23:42:39 +03:00
Anthony Ferrara c11cab3255 Add test to ensure namespaced code can't use scalar types as class names 2015-03-19 14:11:48 -04:00
Anthony Ferrara aaf0c8b594 Disallow relative namespace type declarations 2015-03-19 14:07:03 -04:00
Anthony Ferrara 62fc556764 Add support and tests for null constant default values. Refactor complex conditionals into an extracted function for clarity and code-reuse 2015-03-19 13:51:24 -04:00
Anthony Ferrara 7044f9c6df Refactor as to not use call info, but add the flag to the op_array. 2015-03-19 13:30:11 -04:00
Anthony Ferrara 0ef80ac351 Fix severity issues with callbacks, start work porting ZEND_STRLEN opcode to work with strict mode, more refactoring to come 2015-03-19 12:26:34 -04:00
Lior Kaplan ed9d3f9a50 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add CVE ID for #68735
  Add CVE ID for #68735
2015-03-19 18:25:57 +02:00
Lior Kaplan a0927357a3 Add CVE ID for #68735 2015-03-19 18:25:01 +02:00
Lior Kaplan b20b0ffe4e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add CVE ID for #68735
2015-03-19 18:24:28 +02:00
Lior Kaplan 8f18444cd9 Add CVE ID for #68735 2015-03-19 18:23:34 +02:00
Xinchen Hui ecd6de157d Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-19 17:03:44 +08:00
Dmitry Stogov ca783218e7 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69152

Conflicts:
	ext/soap/soap.c
2015-03-19 11:54:56 +03:00
Xinchen Hui 61e31b6e29 Fixed global register checking 2015-03-19 16:54:13 +08:00
Dmitry Stogov 0c3de98368 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69152
2015-03-19 11:48:10 +03:00
Dmitry Stogov 9bdbc7490f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #69152
2015-03-19 11:42:49 +03:00
Havard Eidnes 36e251ade3 Treat NetBSD the same as FreeBSD wrt. TCP_INFO usage. 2015-03-19 09:39:54 +01:00
Dmitry Stogov 51856a76f8 Fixed bug #69152 2015-03-19 11:36:01 +03:00
Lior Kaplan 9c5ded46d7 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add CVE to bug #69253
  Align entries format
  Add CVE assigned to 5.6.6 bugs after the release
  Add CVE to bug #69248
  Align entries format
  Add CVE to bug #69248
  Add CVE assigned to 5.5.22 bugs after the release
2015-03-19 02:47:22 +02:00
Lior Kaplan 56cda02e11 Add CVE to bug #69253 2015-03-19 02:44:45 +02:00
Lior Kaplan 9bbf9fedff Align entries format 2015-03-19 02:42:35 +02:00
Lior Kaplan c824de432d Add CVE assigned to 5.6.6 bugs after the release 2015-03-19 02:40:22 +02:00
Lior Kaplan df340b5d8e Add CVE to bug #69248 2015-03-19 02:37:50 +02:00
Lior Kaplan 61d11d7e10 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Align entries format
  Add CVE to bug #69248
  Add CVE assigned to 5.5.22 bugs after the release
2015-03-19 02:36:28 +02:00
Lior Kaplan 6a4399a8d9 Align entries format 2015-03-19 02:35:20 +02:00
Lior Kaplan 3eba942eb2 Add CVE to bug #69248 2015-03-19 02:30:31 +02:00
Lior Kaplan 4680f08607 Add CVE assigned to 5.5.22 bugs after the release 2015-03-19 02:29:43 +02:00
Anthony Ferrara 78d2399493 Fix C89 compatibility by moving a misplaced if statement 2015-03-18 18:38:16 -04:00
Anthony Ferrara d8ef608f3d Refactor gotos into more elaborate ifs to eliminate goto failure 2015-03-18 18:24:00 -04:00
Anthony Ferrara 427ecdc5eb Fix return type separation with references. It now includes a check in the opcode handler and properly separates the value in both cases 2015-03-18 18:10:08 -04:00
Bob Weinand dac2b060e4 Remove bogus ZEND_ASSERT(hash != 0)
There's always a possibility that the has will end up as equal to zero due to overflowing.
See the tests for strings whose hash overflow.
Yes, there's a check for whether the hash already was calculated... and strings with a hash equal to zero always need the hash recalculated, in one of 2^32 respectively 2^64 cases - which should not be a major issue.
2015-03-18 22:25:55 +01:00
Anthony Ferrara f040538448 Add error case with invalid type declaration default value 2015-03-18 16:53:45 -04:00
Anthony Ferrara 94fe6c42fa Add tests for using constants as defaults with scalar type declarations 2015-03-18 16:50:51 -04:00
Anthony Ferrara 724f7118f1 Refactor error messages to only append defined in the event of rendering as a fatal error. Fix relative typehints to not work 2015-03-18 16:38:51 -04:00
Anthony Ferrara 1df033c5cd Revert gd and mysqli to former calls for arg count errors. Fix first identified issues with zend_compile.c from nikic. Add tests for generator returns prior to first yield 2015-03-18 16:14:02 -04:00
Anatol Belski eb5dfedb6b don't expect set/get title symbols are always there 2015-03-18 20:50:54 +01:00
Anthony Ferrara 579e7fa457 Style cleanup, as well as fixing bug with missing argument for WRONG_PARAM_COUNT_WITH_RETVAL 2015-03-18 15:45:16 -04:00
Anthony Ferrara 8be4266f6a Clean up API renames for zend_wrong_param_count to maintain BC, introducing a zend_wrong_param_count_ex() function when you know strict value 2015-03-18 15:42:49 -04:00
Anthony Ferrara 0529eeb4a6 Fix executor issue with ignoring strict types, which cleans up a bunch of errors. Additionally fix the expected error of 2 unrelated tests that was caused by a change to the core error messages 2015-03-18 15:22:21 -04:00
Anthony Ferrara dd9f4f9585 Fix more tests, improve error messages in failure output for thrown exception 2015-03-18 12:42:09 -04:00
Anthony Ferrara 7feebead1b Refactor error implementation significantly to centralize error mode behavior. Add zend_internal_type_error() function 2015-03-18 12:23:09 -04:00
Anthony Ferrara d22bfb8aa6 Merge in master, fix merge conflicts and update patch to support exceptions everywhere 2015-03-18 10:50:11 -04:00
Dmitry Stogov d092cb6e8e Second prefetch is useless, because cahce line on modern x86 CPUs is 64 bytes long. 2015-03-18 17:11:21 +03:00
Xinchen Hui 5c6db3b0f2 Better make this be consistent with DO_ICALL/DO_CALL
Revert "Use more specific op type"
This reverts commit 9b07ed6dcc.
2015-03-18 22:09:57 +08:00
Anatol Belski e839ed8c99 strtod shouldn't recognize hex strings 2015-03-18 14:26:15 +01:00
Dmitry Stogov a01b5f2953 Enabled global register variables for PPC 2015-03-18 16:15:00 +03:00
Xinchen Hui 9b07ed6dcc Use more specific op type 2015-03-18 20:56:28 +08:00
Dmitry Stogov 4e11095438 Reimplemented special constant handling. Now __HALT_COMPILER_OFFSET__ is resolved at compile-time. __CLASS__ retrived using separate ZEND_FETCH_CLASS_NAME opcode. 2015-03-18 15:33:56 +03:00
Dmitry Stogov 65b7f4860e Revert "Improved zend_get_special_constant"
This reverts commit 624eb49e78.
2015-03-18 15:25:27 +03:00
Julien Pauli a3b5061cb8 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-03-18 11:35:04 +01:00
Julien Pauli c7dfd8a3a4 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-03-18 11:34:56 +01:00
Julien Pauli 9744aded1a Updated NEWS 2015-03-18 11:34:45 +01:00
Julien Pauli 4794f6bcc4 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-03-18 10:56:03 +01:00
Julien Pauli 6262db7341 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-03-18 10:55:49 +01:00
Julien Pauli 5e4dd962e2 Updated NEWS 2015-03-18 10:55:32 +01:00
Stanislav Malyshev ff1914f491 Merge branch 'PHP-5.6'
* PHP-5.6:
  5.4.40 next
2015-03-17 22:39:28 -07:00
Stanislav Malyshev 58efcc7dd8 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.4.40 next
2015-03-17 22:39:21 -07:00
Stanislav Malyshev de0cee2f39 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  5.4.40 next

Conflicts:
	configure.in
	main/php_version.h
2015-03-17 22:39:10 -07:00
Stanislav Malyshev 4c3b73b6df 5.4.40 next 2015-03-17 22:37:16 -07:00
Stanislav Malyshev 1ecd82f588 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  Fix bug #69253 - ZIP Integer Overflow leads to writing past heap boundary
  oops, no idea how this got in
  Fix bug #69248 - heap overflow vulnerability in regcomp.c
  add test for bug #68976
  add NEWS
  Fixed bug #68976 - Use After Free Vulnerability in unserialize()
  update news
  Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM configuration options)
  fix tests
  Fix bug #69207 - move_uploaded_file allows nulls in path

Conflicts:
	ext/ereg/regex/regcomp.c
	ext/standard/basic_functions.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	win32/registry.c
2015-03-17 22:04:39 -07:00
Stanislav Malyshev 225cb973e5 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS
  Fix bug #69253 - ZIP Integer Overflow leads to writing past heap boundary

Conflicts:
	ext/zip/lib/zip_dirent.c
2015-03-17 22:03:24 -07:00
Stanislav Malyshev 210cfafc2b update NEWS 2015-03-17 22:00:53 -07:00
Stanislav Malyshev 53eff4a369 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #69253 - ZIP Integer Overflow leads to writing past heap boundary
2015-03-17 22:00:29 -07:00
Stanislav Malyshev ef8fc4b53d Fix bug #69253 - ZIP Integer Overflow leads to writing past heap boundary 2015-03-17 21:59:56 -07:00
Xinchen Hui 205fe3ab89 Re-fix tests 2015-03-18 12:28:27 +08:00
Xinchen Hui 22b8b1d3f3 Revert "fix tests"
This reverts commit 38e15d89d7.
2015-03-18 12:27:13 +08:00
Xinchen Hui e78278d878 Revert "Fixed tests"
This reverts commit f57f1a903d.
2015-03-18 12:26:56 +08:00
Xinchen Hui 624eb49e78 Improved zend_get_special_constant 2015-03-18 12:22:07 +08:00
Xinchen Hui f57f1a903d Fixed tests 2015-03-18 12:19:56 +08:00
Stanislav Malyshev d76b293ac7 forgot to commit this one 2015-03-17 17:16:27 -07:00
Stanislav Malyshev 63c9f830b1 add test for bug #68976 2015-03-17 17:16:15 -07:00
Stanislav Malyshev 749f82af02 oops, no idea how this got in 2015-03-17 17:13:50 -07:00
Stanislav Malyshev 14588c2499 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
2015-03-17 17:10:14 -07:00
Stanislav Malyshev bf2f03ddb3 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #69248 - heap overflow vulnerability in regcomp.c
  add test for bug #68976
2015-03-17 17:10:05 -07:00
Stanislav Malyshev 890b3987ab Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69248 - heap overflow vulnerability in regcomp.c
  add test for bug #68976
2015-03-17 17:09:47 -07:00
Stanislav Malyshev c83dd84ad6 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #69248 - heap overflow vulnerability in regcomp.c
  add test for bug #68976
2015-03-17 17:08:13 -07:00
Stanislav Malyshev fb04dcf6db Fix bug #69248 - heap overflow vulnerability in regcomp.c
Merged from https://github.com/garyhouston/regex/commit/70bc2965604b6b8aaf260049e64c708dddf85334
2015-03-17 17:04:57 -07:00
Stanislav Malyshev 8b14d3052f add test for bug #68976 2015-03-17 17:03:46 -07:00
Anatol Belski 8a8264a29a comb that header 2015-03-18 00:45:37 +01:00
Anatol Belski 956bab0566 fix endianness check plus better visual origin compat 2015-03-18 00:39:06 +01:00
Stanislav Malyshev 780222f97f Fixed bug #68976 - Use After Free Vulnerability in unserialize() 2015-03-17 16:31:52 -07:00
Stanislav Malyshev 38e15d89d7 fix tests 2015-03-17 16:30:57 -07:00
Stanislav Malyshev 6632684e03 Fix bug #69207 - move_uploaded_file allows nulls in path 2015-03-17 16:30:57 -07:00
Dmitry Stogov fa1c05540c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  this check isn't applicable anymore
2015-03-18 02:17:12 +03:00
Dmitry Stogov d6bb5c2cd4 GCC prior 4.8.0 may generates wrong code 2015-03-18 02:15:49 +03:00
Anatol Belski b3788cd200 this check isn't applicable anymore 2015-03-18 00:14:20 +01:00
Nikita Popov e39db5773d Fix phpdbg 2015-03-17 22:59:11 +01:00
Dmitry Stogov 87cec4ccc9 Fixed mess in names 2015-03-18 00:13:39 +03:00
Anatol Belski 0ac1075002 catching up with the git history 2015-03-17 22:11:31 +01:00
Anatol Belski 9903767734 fix undefined symbol 2015-03-17 22:11:30 +01:00
Anatol Belski 4ae9ecbb90 updated NEWS 2015-03-17 22:11:29 +01:00
Anatol Belski 87767d9ea1 adedd test for bug #68797 2015-03-17 22:11:28 +01:00
Anatol Belski a160a9097a restore freeing stuff and some small improvements 2015-03-17 22:11:27 +01:00
Anatol Belski 5d4616e2b0 first shot on updating strtod stuff 2015-03-17 22:11:26 +01:00
Nikita Popov 5c230baf75 Implement Generator::getReturn()
Conflicts:
	Zend/zend_vm_execute.h
2015-03-17 21:51:53 +01:00
Nikita Popov f1a6c06f14 Support ParseException for require etc 2015-03-17 21:35:42 +01:00
Stanislav Malyshev dbd1d79b68 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add NEWS
2015-03-17 13:24:45 -07:00
Stanislav Malyshev 6264f81a21 add NEWS 2015-03-17 13:24:17 -07:00
Stanislav Malyshev 33a5532b66 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68976 - Use After Free Vulnerability in unserialize()

Conflicts:
	ext/standard/var_unserializer.c
2015-03-17 13:23:51 -07:00
Stanislav Malyshev d5e523f52f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #68976 - Use After Free Vulnerability in unserialize()

Conflicts:
	ext/standard/var_unserializer.c
2015-03-17 13:22:12 -07:00
Stanislav Malyshev 646572d6d3 Fixed bug #68976 - Use After Free Vulnerability in unserialize() 2015-03-17 13:20:22 -07:00
Dmitry Stogov 55da1fb008 Fixed zend_hash_del() 2015-03-17 23:13:39 +03:00
Stanislav Malyshev 3d00867bba Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update news
  Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM configuration options)
2015-03-17 13:09:08 -07:00
Stanislav Malyshev 3dfccd7ba5 update news 2015-03-17 13:07:40 -07:00
Stanislav Malyshev 4a2e613730 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM configuration options)
2015-03-17 13:06:17 -07:00
Stanislav Malyshev bfb669891e Fixed bug #69134 (Per Directory Values overrides PHP_INI_SYSTEM configuration options) 2015-03-17 13:05:43 -07:00
Stanislav Malyshev 3477568b4e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix tests
  Fix bug #69207 - move_uploaded_file allows nulls in path
2015-03-17 12:58:00 -07:00
Stanislav Malyshev 34418222d7 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix tests
2015-03-17 12:56:37 -07:00
Stanislav Malyshev 9ba4db5e5d fix tests 2015-03-17 12:55:35 -07:00
Stanislav Malyshev e55e40ca66 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix bug #69207 - move_uploaded_file allows nulls in path
2015-03-17 12:48:37 -07:00
Stanislav Malyshev 1291d6bbee Fix bug #69207 - move_uploaded_file allows nulls in path 2015-03-17 12:47:58 -07:00
Dmitry Stogov 4d4a5336f1 Embed "fast" operator functions (add, sub, increment, etc) into executor with additional optimizations 2015-03-17 18:53:19 +03:00
Dmitry Stogov fb4b706984 Enable GCC global register variables if available 2015-03-17 13:51:02 +03:00
Julien Pauli 92bf4566ea Updated NEWS 2015-03-17 11:07:15 +01:00
julien.pons 90114a3e93 Add wifcontinued and wcontinued for pcntl 2015-03-17 10:59:58 +01:00
Anatol Belski 56b0ff0e5d Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed bug #65406 Enchant broker plugins are in the wrong place in windows
2015-03-17 09:22:11 +01:00
Anatol Belski f040b48358 updated NEWS 2015-03-17 09:21:38 +01:00
Anatol Belski a6a58dddc3 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #65406 Enchant broker plugins are in the wrong place in windows
2015-03-17 09:20:54 +01:00
Anatol Belski 0f18a15e89 Fixed bug #65406 Enchant broker plugins are in the wrong place in windows 2015-03-17 09:20:16 +01:00
Danack 910a324306 Fixed indentation. Fixed comment style. Fixed commented out code. 2015-03-16 23:14:56 +00:00
Anatol Belski b9bc84e29e use default test timeout 2015-03-16 23:07:33 +01:00
Anatol Belski fd51bd4a9e test fixes + added skipif for slow tests 2015-03-16 13:55:40 -07:00
Anatol Belski 042dd8602e use busy sleep instead of sleep() for timeout tests 2015-03-16 13:21:33 -07:00
Anatol Belski 59a2a900a5 remove ext/mysql enablement from travis build 2015-03-16 20:05:40 +01:00
Anatol Belski cab21b9347 test timeout with shutdown function, variation 2015-03-16 19:37:07 +01:00
Anatol Belski 1d6f94eeef test timeout with shutdown function 2015-03-16 19:35:36 +01:00
Anatol Belski 33d832bd45 test timeout with foreach loop 2015-03-16 19:30:04 +01:00
Anatol Belski b05635ade9 test timeout with for loop 2015-03-16 19:28:01 +01:00
Anatol Belski eab7da4bc9 test timeout with exception variation 2015-03-16 19:26:17 +01:00
Anatol Belski 1c0fce922e test timeout with exception 2015-03-16 19:21:58 +01:00
Anatol Belski 8f1fa842cd fix timeout with cal_user_func 2015-03-16 19:16:09 +01:00
Anatol Belski 7a7d8b9f9d test timeout within eval() 2015-03-16 19:12:55 +01:00
Anatol Belski 82d3a13983 test timeout with array_walk 2015-03-16 19:05:21 +01:00
Anatol Belski f591c0dff8 test timeout within function 2015-03-16 19:01:23 +01:00
Anatol Belski 394bd2ab41 test timeout within while loop 2015-03-16 18:58:32 +01:00
Dmitry Stogov 5c68836b0b improved timeout handling on windows 2015-03-16 17:49:43 +01:00
Julien Pauli 4d3a3811a9 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix flaws in session module

Conflicts:
	ext/session/session.c
2015-03-16 16:11:02 +01:00
Julien Pauli 2a50877428 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix flaws in session module
2015-03-16 16:01:12 +01:00
Julien Pauli 4dba99c226 Fix flaws in session module 2015-03-16 16:00:46 +01:00
Dmitry Stogov 0a6ab089cd Use memcmp() instead of strncmp() 2015-03-16 15:53:54 +03:00
Xinchen Hui eeb8eced9b Improved parser (make use_type reuseable) 2015-03-16 18:43:36 +08:00
Xinchen Hui 50e4033475 Let phpdbg refused to be compiled with no CALL zend vm kind 2015-03-16 17:10:26 +08:00
Xinchen Hui 8247f49fb2 Exposed ZEND_VM_KIND etc 2015-03-16 17:00:04 +08:00
Xinchen Hui f54f806f4e Remove --with-zend-vm (it doesn't work anyway) 2015-03-16 16:59:31 +08:00
Anatol Belski b48f3ecd92 Merge branch 'PHP-5.6'
* PHP-5.6:
  backport af2b0669 into 5.5
2015-03-16 08:35:10 +01:00
Anatol Belski 8f898c0706 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  backport af2b0669 into 5.5
2015-03-16 08:34:14 +01:00
Anatol Belski 293d6e629d backport af2b0669 into 5.5 2015-03-16 08:32:39 +01:00
Danack 6b232643e5 Reverted change to function name and added note of why it is different from the class it is actually changing. 2015-03-15 18:03:08 +00:00
Anatol Belski 8f0dbe2355 Merge branch 'PHP-5.6'
* PHP-5.6:
  libxml-2.9.2 compatibility
2015-03-15 18:39:38 +01:00
Anatol Belski af2b066911 libxml-2.9.2 compatibility 2015-03-15 18:38:50 +01:00
Danack 9803fccfbc Made UConverter throw an exception if the constructor fails. 2015-03-15 15:30:25 +00:00
Danack d3267d0092 Fixed PDO constructor to not return null. 2015-03-15 15:03:03 +00:00
Danack 78ebf83ad3 Fixed fileinfo behaviour. 2015-03-15 14:54:49 +00:00
Danack 0922eca0c7 Made Phar throw exception on bad constructor. 2015-03-15 14:47:07 +00:00
Danack 99dae96dc0 Converted intl extension to use IntlException in constructors. 2015-03-15 13:59:48 +00:00
Anatol Belski bbc183d88a Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test
2015-03-14 18:31:02 +01:00
Anatol Belski 2ac31872ac Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-03-14 18:30:32 +01:00
Anatol Belski c21c8f369d fix test 2015-03-14 18:29:59 +01:00
Dmitry Stogov f42ebdd4e9 Fixed inconsistency 2015-03-14 15:11:55 +03:00
Nikita Popov 547d387973 Merge branch 'PHP-5.6' 2015-03-14 09:18:50 +01:00
Nikita Popov 846c8059e6 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-14 09:18:31 +01:00
Jeff Welch 1e51c5411e Fix #69203: FILTER_FLAG_STRIP_HIGH doesn't strip ASCII 127 2015-03-14 09:17:36 +01:00
Reeze Xia 7409fd4bf7 Fix folder mark 2015-03-14 14:06:57 +08:00
Xinchen Hui 9420a2a5b0 Merge branch 'PHP-5.6' 2015-03-14 11:32:09 +08:00
Xinchen Hui 96bb3b838c Merge branch 'PHP-5.5' into PHP-5.6 2015-03-14 11:31:53 +08:00
Xinchen Hui 5b87d52041 Fixed typo 2015-03-14 11:31:12 +08:00
Anatol Belski e78971cd7b fix syntax for the Visual studio compat 2015-03-13 20:25:10 +01:00
Dmitry Stogov db10b72523 Use fastcall calling convention for most critical ZE subsystems. 2015-03-13 21:10:09 +03:00
Xinchen Hui 1ec6172940 Revert "Enable zend signals handler by default"
This reverts commit dbe7ff6df5.
2015-03-14 01:10:17 +08:00
Xinchen Hui 326ac546ab Remove TSRMLS 2015-03-14 01:04:00 +08:00
Xinchen Hui e827d1a424 Merge branch 'PHP-5.6'
Conflicts:
	ext/spl/spl_observer.c
2015-03-14 01:01:02 +08:00
Xinchen Hui 669c7104c3 Update NEWS 2015-03-14 00:53:51 +08:00
Xinchen Hui 396bc00caa Merge branch 'PHP-5.5' into PHP-5.6 2015-03-14 00:53:32 +08:00
Xinchen Hui ed59370f0a Little improvement, update NEWs, added test 2015-03-14 00:52:53 +08:00
Xinchen Hui 1b5ad03f66 Merge branch 'bug69227' of https://github.com/Vektah/php-src into PHP-5.5 2015-03-14 00:42:36 +08:00
Xinchen Hui f97b000430 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-14 00:41:29 +08:00
Xinchen Hui dbe7ff6df5 Enable zend signals handler by default 2015-03-14 00:40:54 +08:00
Anatol Belski 92d106d26d fixed test 2015-03-13 17:33:48 +01:00
Anatol Belski b680ccb2b0 the test shouldn't fail when unlink failed 2015-03-13 17:33:47 +01:00
Nikita Popov 3cd6a9845d Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_generators.c
	Zend/zend_generators.h
2015-03-13 16:29:39 +01:00
Nikita Popov 4b930e156f Merge branch 'PHP-5.5' into PHP-5.6 2015-03-13 16:25:21 +01:00
Nikita Popov a9d73f0646 Fixed bug #69221
A generator iterator can be created from different zvals - use
the object handle to manage references instead.
2015-03-13 16:23:53 +01:00
Dmitry Stogov 2b42d71908 Changed HashTable layout:
Removed HashTable->arHash (reduced memory consumption). Now hash slots may be accessed using HT_HASH() macro.
Hash slotas are allocated together with Buckets (before them) and lay in reverse order from HashTable->arData base address (see comments in Zend/zend_types.h)
Indexes in hash table and conflict resolution chains (Z_NEXT) may be stored as indeces or offsets in bytes, depending on system (32 or 64-bit).
HashTable data filelds are reordered to keep the most useful for zend_hash_find() data in the same CPU cache line.
2015-03-13 17:13:19 +03:00
Nikita Popov 0a4a11b73a Regenerate ext/tokenizer data 2015-03-13 14:14:01 +01:00
Lior Kaplan d79fe57216 Fix copyright years 2015-03-13 11:27:40 +02:00
Lior Kaplan a4384bd3d4 s/PHP Version 5/PHP Version 7/g
Follow up for d0cb7153
2015-03-13 11:09:42 +02:00
Dmitry Stogov ae26a51f0f Added API function to call VM opcode handler in a portable way 2015-03-13 11:29:43 +03:00
Vektah 482500b455 Fix a leak 2015-03-13 15:54:30 +11:00
Xinchen Hui d695a44a7e Revert previously commit by accident 2015-03-13 12:02:39 +08:00
Vektah 950d3d6e9b Fix bug #69227 and #65967
This patch fixes a use (in zend_gc.c) after free (in spl_observer.c).
See https://bugs.php.net/bug.php?id=69227
2015-03-13 15:02:05 +11:00
Wei Dai 25566c67fe Implement preg_replace_callback_array function 2015-03-13 11:52:36 +08:00
Dmitry Stogov 249c2323f4 Allow CALL executor to keep few very often used vaiables in CPU registers.
This is disabled by default yet, but may be enabled compiling zend_execute.c with -DHAVE_GCC_GLOBAL_REGS.
Only tested on Linux x86 and x86_64 with GCC 4.9.2.
2015-03-13 03:28:21 +03:00
Dmitry Stogov 6289f7e52f Executor cleanup: fix GOTO and SWITCH VMs, remove aility to build additional PHP-5.0 compatible VM, hide executor implementation details. 2015-03-12 20:39:04 +03:00
Anatol Belski 41571e7fa9 improve ssl operations with possible renegotiation 2015-03-12 17:31:28 +01:00
Anatol Belski 1cf70266e7 use _set_errno where appropriate 2015-03-12 16:24:56 +01:00
Anatol Belski 931f116bbd Merge branch 'PHP-5.6'
* PHP-5.6:
  create the php prefix if doesn't exist
2015-03-12 15:26:12 +01:00
Anatol Belski 206481cd01 create php prefix before copying dlls 2015-03-12 15:25:43 +01:00
Anatol Belski 8cc8d4830a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  create the php prefix if doesn't exist
2015-03-12 15:21:33 +01:00
Anatol Belski 6b643f0741 create the php prefix if doesn't exist 2015-03-12 15:20:53 +01:00
Dmitry Stogov 9d71d65388 Fixed tests 2015-03-12 16:58:50 +03:00
Dmitry Stogov 8633685675 Use specialized macro for string zval creation 2015-03-12 16:53:51 +03:00
Anatol Belski 0e30c543ec upgrade to oniguruman 5.9.6 2015-03-12 13:42:36 +01:00
Anatol Belski ff337bf52b expose oniguruma version 2015-03-12 13:28:43 +01:00
Anatol Belski 11716401bd fix possible unititialized pointer usage 2015-03-12 13:00:36 +01:00
Anatol Belski 1923c7a9b8 simplify condition 2015-03-12 10:21:43 +01:00
Anatol Belski 53b7258797 force ext/ftp to be always shared on Windows 2015-03-12 00:36:22 +01:00
Anatol Belski 2f443acad1 remove ext/openssl dependency for ext/ftp from conf 2015-03-12 00:13:01 +01:00
Anatol Belski d2ee0840d2 don't depend on ext/openssl for ftp ssl support
instead just link against the openssl and init manually, that's
more flexible
2015-03-11 23:58:59 +01:00
Anatol Belski 4ee0395a4a init mbstring tsrm_ls_cache on MINIT
as some globals are accessed there already
2015-03-11 23:42:39 +01:00
Anatol Belski 6c5d7c29f7 properly deinit mail socket 2015-03-11 21:46:42 +01:00
Anatol Belski cf4c60b372 use proper value to check the log_source handle 2015-03-11 21:46:41 +01:00
Anatol Belski d5f2b4b398 fix ftp_login with ssl enabled 2015-03-11 21:46:40 +01:00
Anatol Belski f1a47988b0 added comment 2015-03-11 21:46:39 +01:00
Anatol Belski 167979fe76 enable ftps for shared ext/ftp 2015-03-11 21:46:38 +01:00
Anatol Belski f43cc2a19a use portable fseek 2015-03-11 21:46:37 +01:00
Daniel Lowrey 589374d027 Merge branch 'PHP-5.6'
* PHP-5.6:
  Don't block on crypto data inside stream_select()
2015-03-11 09:45:28 -06:00
Daniel Lowrey c661121459 Don't block on crypto data inside stream_select() 2015-03-11 09:44:07 -06:00
Nikita Popov c532376ee7 Fix some memory leaks in WebPhar 2015-03-11 15:27:42 +01:00
Trevor Suarez 98c6567e71 Putting whitespace back to the way it was. 2015-03-11 09:29:08 -04:00
Dmitry Stogov d68861eb4b Improved php_json_escape_string() 2015-03-11 15:03:07 +03:00
Dmitry Stogov 781d1c400c Improved table search 2015-03-11 15:02:47 +03:00
Xinchen Hui 80274290b7 Comment out for now 2015-03-11 16:54:51 +08:00
Xinchen Hui 70f4854028 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-11 16:31:34 +08:00
Nikita Popov de4e7e43c5 Fix memory leak 2015-03-11 09:23:29 +01:00
Xinchen Hui 37901aa467 Fixed memleak 2015-03-11 13:42:39 +08:00
Xinchen Hui 75c0f63739 Fixed memory leak 2015-03-11 10:33:43 +08:00
Xinchen Hui 253420190b Merge branch 'PHP-5.6' 2015-03-11 08:20:19 +08:00
Xinchen Hui d4f727d0f8 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-11 08:20:03 +08:00
Xinchen Hui 675606f1a6 Improve test script for #69212 2015-03-11 08:19:34 +08:00
Daniel Lowrey 4a336f5d0b Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug# 69215 (Crypto servers should send client CA list)

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-10 18:18:19 -06:00
Daniel Lowrey 3f6b12795c Fix bug# 69215 (Crypto servers should send client CA list) 2015-03-10 18:13:10 -06:00
Dmitry Stogov 026b0adc50 Fixed memory leaks 2015-03-11 01:28:13 +03:00
Dmitry Stogov 48deb1cd94 Free memory if destructor wasn't called 2015-03-11 00:57:28 +03:00
Dmitry Stogov 816b196973 Fixed memory leak 2015-03-10 23:16:09 +03:00
Dmitry Stogov ed9c8a23ba More accurate reference counting on closures 2015-03-10 23:04:41 +03:00
Nikita Popov 00985a975d Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2015-03-10 18:26:09 +01:00
Nikita Popov 49bd45a2c1 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-10 18:19:27 +01:00
Nikita Popov bc9f2fb8df Fixed bug #69212 2015-03-10 18:17:56 +01:00
Dmitry Stogov 5d0bacfe67 Merge branch 'PHP-5.6'
* PHP-5.6:
  We don't cache custom strems with callbacks anymore

Conflicts:
	ext/opcache/ZendAccelerator.c
2015-03-10 19:32:38 +03:00
Dmitry Stogov b52a2940af Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  We don't cache custom strems with callbacks anymore
2015-03-10 19:30:32 +03:00
Dmitry Stogov c814b3294a We don't cache custom strems with callbacks anymore 2015-03-10 19:25:30 +03:00
Dmitry Stogov a53d82daa6 Prevent possible double inheritance (ext/opcache/tests/bug67215.phpt) 2015-03-10 18:50:07 +03:00
Anatol Belski 61406a527f C89 compat 2015-03-10 12:11:52 +01:00
Dmitry Stogov fad8fe94a8 Fixed access on uninitialized data in Zend/tests/closure_019.phpt 2015-03-10 14:05:14 +03:00
Xinchen Hui 4f51f40bf1 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-10 17:26:15 +08:00
Xinchen Hui 0714e027d0 Merge branch 'PHP-5.6' 2015-03-10 17:24:29 +08:00
Anatol Belski fd0a66528e correct tests as the issue is only reproduceable with cgi/fpm 2015-03-10 10:21:22 +01:00
Xinchen Hui 25050e3b00 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-10 17:18:47 +08:00
Xinchen Hui f074870f4e Typo 2015-03-10 17:18:39 +08:00
Xinchen Hui d4c1dca98c Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-10 17:09:41 +08:00
Xinchen Hui 7df8a68327 Merge branch 'PHP-5.6' 2015-03-10 17:09:28 +08:00
Xinchen Hui b5589d3fb4 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-10 17:06:05 +08:00
Xinchen Hui 6f4af2da29 Fixed test 2015-03-10 17:05:47 +08:00
Anatol Belski 388c4e7436 added more exception tests 2015-03-10 09:10:25 +01:00
Anatol Belski ea2e197224 fix leaking registry key handle 2015-03-10 09:10:24 +01:00
Anatol Belski fca341699e don't pass zero to malloc() 2015-03-10 09:10:23 +01:00
Xinchen Hui a5317e9d41 Merge branch 'PHP-5.6'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2015-03-10 15:49:02 +08:00
Xinchen Hui 0584b2df3f Update NEWS 2015-03-10 15:38:34 +08:00
Xinchen Hui abb09693ac Merge branch 'PHP-5.5' into PHP-5.6 2015-03-10 15:37:14 +08:00
Xinchen Hui 6a6c273893 Fixed bug #66609 (php crashes with __get() and ++ operator in some cases) 2015-03-10 15:36:42 +08:00
Dmitry Stogov a30d328671 Errors converted to exceptions are not "recoverable" anymore. 2015-03-10 10:31:55 +03:00
Xinchen Hui 56eed39e04 Fixed phar test segfault after merged engine exception 2015-03-10 15:04:01 +08:00
Xinchen Hui d25acb5fd0 Revert "Fixed phar file action failure after engine exception rfc been merged"
This reverts commit f174859acd.
2015-03-10 15:03:15 +08:00
Daniel Lowrey dd16a7c820 Update NEWS/UPGRADING 2015-03-09 23:15:57 -06:00
Daniel Lowrey c5c4d22c10 Deprecate "session_meta_capture" SSL context option
Meta data about encrypted streams is now available as part of the
"crypto" key in the array returned by stream_get_meta_data(). This
update deprecates the use of the "session_meta_capture" ssl
context option in encrypted streams.
2015-03-09 23:15:57 -06:00
Daniel Lowrey 2dec21634c Revert "Add stream_socket_crypto_info() function"
This reverts commit 13acb7ec65.

With the added capability to negotiate application layer protocols
via the TLS ALPN extension userland needs a method to access the
negotiated protocol on a given stream. The reverted commit added
a new stream_socket_crypto_info() function for this purpose.

This original approach was discarded in favor of using the
already-existing stream_get_meta_data() API which specifically
exists for just such purposes and requires the addition of no new
functions.
2015-03-09 23:15:57 -06:00
Daniel Lowrey 676a5059b2 Add crypto info to stream_get_meta_data() result on encrypted streams
A "crypto" key is added to the output of stream_get_meta_data() calls
when invoked using a stream on which crypto is currently active. The
new key's associated array contains the following keys:

 - protocol (string e.g. TLSv1.2, TLSv1.1, etc)
 - cipher_name (string)
 - cipher_bits (int)
 - cipher_version (string)

If the TLS ALPN extension was used to successfully negotiate an
application protocol that protocol's identifier is stored in the
following key:

 - alpn_protocol

If no ALPN protocol was negotiated the "alpn_protocol" key is not
present in the crypto meta data array. More meta information
concerning the stream's active encryption state may be added in the
future.
2015-03-09 23:15:57 -06:00
Juan Basso 6b7b5e777f Renamed test case to match with reported bug 2015-03-10 00:01:26 -04:00
Xinchen Hui f6762192d2 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-10 10:44:07 +08:00
Xinchen Hui 22894e74c2 Fix is reverted (test fails in all branches) 2015-03-10 10:43:05 +08:00
Xinchen Hui f678c14a6c Merge branch 'fixed-build' of https://github.com/zxcvdavid/php-src 2015-03-10 10:31:36 +08:00
Daniel Lowrey 748433e7bc Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix crypto stream timeout regressions

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-09 16:02:04 -06:00
Daniel Lowrey 69691cc8ca Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix crypto stream timeout regressions
2015-03-09 15:55:33 -06:00
Daniel Lowrey bbfd4a5e62 Fix crypto stream timeout regressions 2015-03-09 15:53:26 -06:00
Reeze Xia f174859acd Fixed phar file action failure after engine exception rfc been merged 2015-03-09 17:07:18 +00:00
Xinchen Hui 47f2e42fc9 Remove PHAR_GLOBALS (make it respect ZEND_ENABLE_STATIC_TSRMLS_CACHE) 2015-03-09 23:00:56 +08:00
Wei Dai 3f3e34040a Fixed compile warnings 2015-03-09 21:25:43 +08:00
Nikita Popov b0055678bf Fix CLI test and drop some now unnecessary code 2015-03-09 14:09:34 +01:00
Juan Basso cbdeccd6ed Fixed serialization of non string values on __sleep
Returning just N; (null) on the __sleep makes the number of fields/values be incomplete and corrupting the generated value from serialize, making impossible to unserialize it.
2015-03-09 09:04:34 -04:00
Dmitry Stogov 1c94ff0595 Implement engine exceptions
RFC: https://wiki.php.net/rfc/engine_exceptions_for_php7

Pending changes regarding naming of BaseException and whether it
should be an interface.
2015-03-09 14:01:32 +01:00
Nikita Popov 2f156c61f1 Add UPDRADING note about yield operator behavior
Fixes bug #69160.
[ci skip]
2015-03-09 12:41:33 +01:00
Nikita Popov a4262827ea Fix ReflectionFunction::isDeprecated() test
We currently don't have deprecated functions ... so just switch
this to testing a non-deprecated function.
2015-03-09 12:27:06 +01:00
Nikita Popov 7810659cc3 Removed deprecated mcrypt_ecb() etc 2015-03-09 11:37:13 +01:00
Nikita Popov c488a45701 Remove deprecated mcrypt_generic_end() alias 2015-03-09 11:10:52 +01:00
Nikita Popov a81e65a501 Remove xsl.security_prefs ini option
Conflicts:
	ext/xsl/php_xsl.c
	ext/xsl/xsltprocessor.c
2015-03-09 11:06:18 +01:00
Nikita Popov b5184ef336 Remove unsafe curl file uploads
The option CURLOPT_SAFE_UPLOAD still exists, but cannot be disabled.
2015-03-09 11:00:04 +01:00
Xinchen Hui c24afc8d8f Revert commit by mistake 2015-03-09 17:27:51 +08:00
Xinchen Hui 64bbc98dff Merge branch 'PHP-5.6'
Conflicts:
	ext/mysqli/php_mysqli_structs.h
2015-03-09 17:23:34 +08:00
Xinchen Hui 4ca14f681e Merge branch 'PHP-5.5' into PHP-5.6 2015-03-09 17:23:04 +08:00
Xinchen Hui 9af1383a3f Revert "Fix #63486"
This reverts commit f4c96ffcb5.
2015-03-09 17:22:56 +08:00
Xinchen Hui eed3419802 Merge branch 'PHP-5.6' 2015-03-09 17:14:55 +08:00
Jeff Welch fdbdb11514 Fix #69202: FILTER_FLAG_STRIP_BACKTICK ignored unless other flags are used. 2015-03-09 17:14:47 +08:00
Xinchen Hui 711ee5e4e1 Update NEWs 2015-03-09 17:13:47 +08:00
Xinchen Hui b0ec8dfd0d Update news 2015-03-09 17:09:57 +08:00
Jeff Welch 66a2c528fe Fix #69202: FILTER_FLAG_STRIP_BACKTICK ignored unless other flags are used. 2015-03-09 17:08:35 +08:00
Reeze Xia 2a2c74997d Now opened_path is a zend_string 2015-03-09 16:12:53 +08:00
Xinchen Hui f66bef2414 Fixed build 2015-03-09 15:50:52 +08:00
Wei Dai 22a61cea33 Fixed build 2015-03-09 15:21:08 +08:00
Masaki Kagaya 9d81d7ff70 added missing parentheses
added test case for bug #68846
replaced tab with space
added missing parentheses again
See also: http://icu-project.org/docs/papers/gb18030.html#h7
2015-03-08 23:45:11 -07:00
Julien Pauli 2f06413340 Fix #67626 2015-03-08 23:45:11 -07:00
Julien Pauli 37ecfdad09 Fix #63486 2015-03-08 23:41:46 -07:00
Stanislav Malyshev 0f333fa93c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  added missing parentheses
  Fix #67626
  Fix #63486

Conflicts:
	main/streams/userspace.c
2015-03-08 23:41:30 -07:00
Masaki Kagaya 934d6ed900 added missing parentheses
added test case for bug #68846
replaced tab with space
added missing parentheses again
See also: http://icu-project.org/docs/papers/gb18030.html#h7
2015-03-08 23:40:56 -07:00
Julien Pauli 7d47d9fe23 Fix #67626 2015-03-08 23:40:55 -07:00
Julien Pauli 7684d72df8 Fix #63486 2015-03-08 23:40:55 -07:00
Masaki Kagaya fa72f1ea86 added missing parentheses
added test case for bug #68846
replaced tab with space
added missing parentheses again
See also: http://icu-project.org/docs/papers/gb18030.html#h7
2015-03-08 23:39:04 -07:00
Stanislav Malyshev a8da0a9620 Merge branch 'pull-request/1104' into PHP-5.5
* pull-request/1104:
  Fix #63486
2015-03-08 23:21:53 -07:00
Stanislav Malyshev 43b426fbc4 Merge branch 'pull-request/1106' into PHP-5.5
* pull-request/1106:
  Fix #67626
2015-03-08 22:52:21 -07:00
Xinchen Hui c7de82b0d9 Add note of group use 2015-03-09 12:08:34 +08:00
Xinchen Hui 7bf082d638 Merge branch 'filter/adjust-logic' of https://github.com/whatthejeff/php-src 2015-03-09 11:43:10 +08:00
Xinchen Hui 96f7a33df6 Temorary fix for phpdbg segfault while use zend_mm_set_custom_handlers 2015-03-09 11:19:05 +08:00
Stanislav Malyshev 69d183dd19 Merge branch 'pull-request/1049'
* pull-request/1049:
  Rename __callstatic (internal name) to __callStatic (userland name) in error message
2015-03-08 17:57:47 -07:00
Stanislav Malyshev 33ef5c47a5 Merge branch 'pull-request/1135'
* pull-request/1135:
  Return void like other functions
  Use zend_parse_parameters_none()
  Implemented FR #45235 A way to clear or reset the results for error_get_last()
2015-03-08 17:26:38 -07:00
Stanislav Malyshev a8a77fff5c Merge branch 'PHP-5.6'
* PHP-5.6:
  Regression tests for SplFileInfo class setters
2015-03-08 17:13:32 -07:00
Stanislav Malyshev dcc031470a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Regression tests for SplFileInfo class setters
2015-03-08 17:13:25 -07:00
Stanislav Malyshev a2a20d29a8 Merge branch 'pull-request/1134' into PHP-5.5
* pull-request/1134:
  Regression tests for SplFileInfo class setters
2015-03-08 17:13:02 -07:00
Stanislav Malyshev 6adac79a73 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add missing value for error_reporting directive
2015-03-08 17:05:59 -07:00
Stanislav Malyshev b0d1e23646 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add missing value for error_reporting directive
2015-03-08 17:05:51 -07:00
Stanislav Malyshev d7931f8f66 Merge branch 'pull-request/1130' into PHP-5.5
* pull-request/1130:
  Add missing value for error_reporting directive
2015-03-08 17:05:37 -07:00
Stanislav Malyshev 876a9be3ee Merge branch 'pull-request/1129'
* pull-request/1129:
  Array - make krsort FAST_ZPP compatibility
2015-03-08 17:04:13 -07:00
Stanislav Malyshev 90b8898d22 Merge branch 'pull-request/1127'
* pull-request/1127:
  merge ZEND_SIGNED_MULTIPLY_LONG for i386 and x86_64
2015-03-08 17:02:48 -07:00
Stanislav Malyshev 1446bf5ebf Adding notes regarding implementation of FR #69089 2015-03-08 16:51:00 -07:00
Stanislav Malyshev fdc46d790b Merge branch 'pull-request/1070'
* pull-request/1070:
  More docs for /win32/build/confutils.js
  Adding some inline docs/docs cleanup
2015-03-08 16:46:15 -07:00
Anatol Belski a44ed26dcf Merge remote-tracking branch 'weltling/libmagic_upgrade'
* weltling/libmagic_upgrade: (29 commits)
  partially revert wrong merge
  after merge fix
  updated libmagic.patch
  catching up
  catching up
  regenerated data file
  more after patch fixes
  restore good patch parts
  stat is done by php
  use zend_strndup
  started to patch for libmagic.next
  fix test outputs
  catch up with the previous cve-2014-3538 patch
  catching up
  catching up
  catching up
  updated the test magic file
  add patchlevel info
  portable off_t
  regenerated data file
  ...
2015-03-08 20:31:02 +01:00
Jeff Welch 1dc5bd47d8 Adjust logic in sanity checks.
The code should return false when the provided options argument is neither an
array nor a valid filter.
2015-03-08 15:27:41 -04:00
Anatol Belski d5558138d7 partially revert wrong merge 2015-03-08 20:05:34 +01:00
Anatol Belski bae44417a8 after merge fix 2015-03-08 19:56:31 +01:00
Anatol Belski 12babf59c1 updated libmagic.patch 2015-03-08 19:48:05 +01:00
Anatol Belski 316b1e0267 catching up 2015-03-08 19:48:01 +01:00
Anatol Belski 3e8a5485e2 catching up 2015-03-08 19:47:59 +01:00
Anatol Belski eeb74b0ab8 regenerated data file 2015-03-08 19:47:53 +01:00
Anatol Belski f54cf1ec57 more after patch fixes 2015-03-08 19:47:50 +01:00
Anatol Belski 1ebe527757 restore good patch parts 2015-03-08 19:47:48 +01:00
Anatol Belski 75a1392fb5 stat is done by php 2015-03-08 19:47:42 +01:00
Anatol Belski 49dc53722b use zend_strndup 2015-03-08 19:47:41 +01:00
Anatol Belski 1b77e51ad7 started to patch for libmagic.next
everything is broken yet
2015-03-08 19:47:38 +01:00
Anatol Belski 332bbfa23b fix test outputs 2015-03-08 19:47:34 +01:00
Anatol Belski 9603f16f99 catch up with the previous cve-2014-3538 patch 2015-03-08 19:47:33 +01:00
Anatol Belski f39a8517e0 catching up 2015-03-08 19:47:31 +01:00
Anatol Belski 5892ec175a catching up 2015-03-08 19:47:30 +01:00
Anatol Belski ca98547801 catching up 2015-03-08 19:47:28 +01:00
Anatol Belski ef51790f61 updated the test magic file 2015-03-08 19:47:27 +01:00
Anatol Belski 7022fe80f7 add patchlevel info 2015-03-08 19:47:25 +01:00
Anatol Belski ec84d36c9f portable off_t 2015-03-08 19:47:24 +01:00
Anatol Belski 969ce2e877 regenerated data file 2015-03-08 19:47:21 +01:00
Anatol Belski 0d410fc2d2 more after patch fixes 2015-03-08 19:47:20 +01:00
Anatol Belski 1a7798c786 restore good patch parts 2015-03-08 19:47:18 +01:00
Anatol Belski 9e3be05e32 missing prototype 2015-03-08 19:47:17 +01:00
Anatol Belski 9b1bdccb04 libmagic.patch so far 2015-03-08 19:47:15 +01:00
Anatol Belski 0dd82374d1 updated test magic file 2015-03-08 19:47:14 +01:00
Anatol Belski 2fd282a690 use right memory api 2015-03-08 19:47:12 +01:00
Anatol Belski f3fad68efd stat is done by php 2015-03-08 19:47:11 +01:00
Anatol Belski a1883a8523 use zend_strndup 2015-03-08 19:47:09 +01:00
Anatol Belski 2181ed2e2a started to patch for libmagic.next
everything is broken yet
2015-03-08 19:47:06 +01:00
Xinchen Hui 4861e1bd6b Revert "Fixed memleak while using custom mm"
This reverts commit 5eabd979ff.
2015-03-09 00:41:19 +08:00
Xinchen Hui 5eabd979ff Fixed memleak while using custom mm 2015-03-09 00:18:54 +08:00
Xinchen Hui 51b96086d7 Revert "Fixed memleak in alloc_globals_ctor"
This reverts commit 85316b4bf0.
2015-03-09 00:17:52 +08:00
Xinchen Hui 1638db71fd Declares in top 2015-03-09 00:01:55 +08:00
Xinchen Hui caa306f6e3 Merge branch 'batch-use' of https://github.com/marcioAlmada/php-src 2015-03-08 23:54:46 +08:00
Márcio Almada 22d6cc7c8c fix compilation warnings, rename batch_use to group_use 2015-03-08 12:50:57 -03:00
Rouven Weßling bb0504534d Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable 2015-03-08 23:00:13 +08:00
Xinchen Hui ef2db26c60 Merge branch 'arginfo' of https://github.com/realityking/php-src into PHP-5.4 2015-03-08 22:53:19 +08:00
xingxing 1b0d32b350 Add configtest option to fpm init.d script 2015-03-08 22:48:29 +08:00
Xinchen Hui 5aebdc98de Fixed bug #69201 (Memory leak using iterator and get by reference on PHP 7) 2015-03-08 20:22:02 +08:00
Reeze Xia 609f05fc19 ZTS cleanup 2015-03-08 19:25:55 +08:00
Jakub Zelenka 0cb869d908 Merge branch 'pull-request/1151' 2015-03-08 10:47:22 +00:00
Remi Collet 02808aeca3 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix odbc build as shared
2015-03-08 07:37:07 +01:00
Remi Collet 43da0d302b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix odbc build as shared
2015-03-08 07:36:35 +01:00
Remi Collet 89f86119d6 Fix odbc build as shared
Broken since a41aa46759
2015-03-08 07:34:51 +01:00
Márcio Almada 072d1dad15 add explicit tests for variations on whitespace usages 2015-03-07 17:59:48 -03:00
Márcio Almada 344fc25b12 require trailing T_NS_SEPARATOR #1005 2015-03-07 17:59:48 -03:00
Márcio Almada 52b20b0b46 fix test ns_092.phpt 2015-03-07 17:59:48 -03:00
Márcio Almada fbde890ee2 allow non mixed use declarations, CC @nikic #1005
```
use function N\S { foo, bar, etc };
use const N\S { FOO, BAR, ETC };
```

Related tests:

```
make test -j4 TESTS="-m Zend/tests/ns_0{88..92}*.phpt"
```

All namespace tests:

```
make test -j4 TESTS="Zend/tests/ns_*.phpt"
```
2015-03-07 17:59:48 -03:00
Márcio Almada e9f82abd61 add test for non mixed batch use statements... #1005
```
use function foo\math {sin, cos, sum};
use const foo\math { PI, E, GAMMA, GOLDEN_RATIO }
```
2015-03-07 17:59:48 -03:00
Márcio Almada 4485056a31 ensure that comments are allowed between batch use declarations #1005 2015-03-07 17:59:48 -03:00
Márcio Almada 95abd5c5a4 simplify batch use declaration syntax error test: ns_088.phpt 2015-03-07 17:59:48 -03:00
Márcio Almada 275e7276c1 first implementation of batch use compilation 2015-03-07 17:59:48 -03:00
Márcio Almada bb171e2edc add tests for batch use declarations with classes, functions and constants 2015-03-07 17:59:48 -03:00
Márcio Almada 39b0e2c90d fix typo 2015-03-07 17:59:48 -03:00
Bob Weinand b1cd381f01 Added test for bug #69160 (current behavior is correct) 2015-03-07 20:59:42 +01:00
Xinchen Hui 95b4aa5293 Fixed zend_hash_append result duplicated key
actually, maybe we should precalculate before calling zend_hash_appen
when we are not sure whether the hash is caclculated(prop_info->name).

but it looks a little ugly.. (also for zend_string_copy)
2015-03-08 00:21:02 +08:00
Bob Weinand afad979c60 Reduced initial VM_STACK page size of Generators to 4 KB (256 slots)
Generators all have their own vm_stack, but usually don't go really deep.
In most cases even most of the 4 KB will remain unused (in my tests average is rather 1 KB), but this was tested a straightforward implementation without a lot of abstraction layers.
That way I'm using a more conservative 4 KB stack size which really should be enough for, I think, at least 90% of the cases.
This was necessary to not immediately run out of memory with 95%+ usused vm_stack space: If you have a few thousands of Generators active, your application quickly hits memory_limit with a stack page size of 256 KB...
In addition, it's also a bit faster (70% less instructions for zend_vm_stack_new_page) due to emalloc() not having to allocate a whole new segment (segment size 256 KB). Also no mmap()/malloc() necessary.
2015-03-07 13:25:21 +01:00
Dmitry Stogov 0b7896cca5 Restored incorrectly merged NEWS 2015-03-07 15:07:48 +03:00
Hugo Fonseca baece85399 Added test for bug 69187 2015-03-07 10:53:31 +00:00
Xinchen Hui 28b408a242 Fixed bug #69198 (Compact function generate array with length but no content) 2015-03-07 16:49:07 +08:00
Bob Weinand b4a142ab97 Added yield from operator 2015-03-07 00:28:12 +01:00
Anatol Belski f1d1273f2b fix fetching wrong resource 2015-03-06 21:02:29 +01:00
Jakub Zelenka 9d037d574c Update UPGRADING with info about JSON decode error for empty string 2015-03-06 18:41:43 +00:00
Daniel Lowrey 00c35cb6a5 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69197 (openssl_pkcs7_sign handles default value incorrectly)

Conflicts:
	ext/openssl/openssl.c
2015-03-06 11:31:04 -07:00
Daniel Lowrey 0928bad9ac Fixed bug #69197 (openssl_pkcs7_sign handles default value incorrectly) 2015-03-06 11:29:56 -07:00
Dmitry Stogov 9f9ffdd0a0 Use fast zend_hash_append() API 2015-03-06 19:23:54 +03:00
Anatol Belski be7371f9ff fix data type 2015-03-06 16:49:08 +01:00
Anatol Belski 9577a20b3b fix invalid write 2015-03-06 16:42:31 +01:00
Dmitry Stogov 66f5a1e8b4 Make fast path linear 2015-03-06 17:07:36 +03:00
Dmitry Stogov 53d8e5fc63 Improved hash key manangement code 2015-03-06 16:26:40 +03:00
Tjerk Meesters 1236a30746 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68917 (parse_url fails on some partial urls)
  Update test to run locally instead of remotely
2015-03-06 20:59:52 +08:00
Tjerk Meesters 469b5a9584 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #68917 (parse_url fails on some partial urls)
2015-03-06 20:58:20 +08:00
Tjerk Meesters d7fb52ea20 Fixed bug #68917 (parse_url fails on some partial urls) 2015-03-06 20:51:22 +08:00
Dmitry Stogov 4bc7ee2eb7 Fixed conditions 2015-03-06 11:00:19 +03:00
Dmitry Stogov 8308e617f1 Revert "Fix logical-op-parentheses warning"
This reverts commit b7408234b9.
2015-03-06 10:56:19 +03:00
Daniel Lowrey eef261f0e4 Update test to run locally instead of remotely 2015-03-05 22:01:15 -07:00
Daniel Lowrey e82878a200 Update test to run locally instead of remotely 2015-03-05 22:00:38 -07:00
Reeze Xia b7408234b9 Fix logical-op-parentheses warning
What a condition ;-)
2015-03-06 12:20:01 +08:00
Daniel Lowrey 3e0a1a71e9 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug (#69195 Inconsistent stream crypto values across versions)

Conflicts:
	ext/standard/http_fopen_wrapper.c
2015-03-05 21:18:09 -07:00
Daniel Lowrey 10bc5fd4c4 Fixed bug (#69195 Inconsistent stream crypto values across versions)
PHP 5.6.0 altered the semantics of the following constants:

- STREAM_CRYPTO_METHOD_SSLv23_CLIENT
- STREAM_CRYPTO_METHOD_SSLv23_SERVER
- STREAM_CRYPTO_METHOD_TLS_CLIENT
- STREAM_CRYPTO_METHOD_TLS_SERVER

Instead of representing the SSLv23_*() handshake methods the v23
constants were changed to allow only SSLv2 or SSLv3 connections.
Likewise, the TLS methods were modified from using only the TLSv1
handshake to allowing TLS1,1.1, and 1.2. This created a situation
in which users upgrading from previous versions faced a potential
security degradation if they did not update code to use different
constants. In the interest of compatibility across PHP versions
the original semantics have been restored with the following
caveat:

**IMPORTANT**

The SSLv23 client/server methods will no longer negotiate the use
of the insecure SSLv2 or SSLv3 protocols by default. Users wishing
to allow these protocols must explicitly add them to the method
bitmask via the appropriate flags.
2015-03-05 21:09:39 -07:00
Daniel Lowrey 88cfc6ccb6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix stream_select() issue with OpenSSL buffer

Conflicts:
	main/streams/streams.c
2015-03-05 17:53:04 -07:00
Chris Wright e7df9d710c Fix stream_select() issue with OpenSSL buffer
Ensure data from OpenSSL internal buffer has been
transfered to PHP stream buffer before a select()
emulation operation is performed

Addresses bug #65137
https://bugs.php.net/bug.php?id=65137

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-05 17:18:14 -07:00
Dmitry Stogov 28e42b1ded Improved hash key manangement code 2015-03-06 02:13:47 +03:00
Daniel Lowrey 39501bed3b Merge branch 'PHP-5.6'
* PHP-5.6:
  Really fix zts this time

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-05 14:11:35 -07:00
Daniel Lowrey ca24d19a89 Really fix zts this time 2015-03-05 14:09:25 -07:00
Ferenc Kovacs db1a668d62 Merge branch 'PHP-5.6'
* PHP-5.6:
  re-arrange NEWS
2015-03-05 21:07:34 +01:00
Ferenc Kovacs 33828f002d re-arrange NEWS 2015-03-05 21:07:05 +01:00
Daniel Lowrey 927b137c1b Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix ZTS
  Fix ZTS build

Conflicts:
	ext/openssl/openssl.c
	ext/openssl/xp_ssl.c
2015-03-05 12:24:04 -07:00
Daniel Lowrey c985ec737d Fix ZTS 2015-03-05 12:19:15 -07:00
Daniel Lowrey 010f17534f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix ZTS build
2015-03-05 12:13:33 -07:00
Daniel Lowrey e892f5382f Fix ZTS build 2015-03-05 12:12:55 -07:00
Adam Harvey 7fa1009560 Like Shady, --with-mysql-sock is back.
As Matteo pointed out, MySQLi and PDO_MySQL both rely on this.
2015-03-05 19:00:02 +00:00
Ferenc Kovacs bb103e53ed Merge branch 'PHP-5.6'
* PHP-5.6:
  5.6.8 up next
2015-03-05 19:08:46 +01:00
Ferenc Kovacs d4d05c8919 5.6.8 up next 2015-03-05 19:07:23 +01:00
Daniel Lowrey c34ee4b146 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #67403 (Add signatureType to openssl_x509_parse)
  5.5.24 now

Conflicts:
	ext/openssl/openssl.c
2015-03-05 10:27:11 -07:00
Daniel Lowrey 5939de35a8 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #67403 (Add signatureType to openssl_x509_parse)
  5.5.24 now

Conflicts:
	configure.in
	main/php_version.h
2015-03-05 10:21:32 -07:00
Daniel Lowrey 94140afa69 Fix bug #67403 (Add signatureType to openssl_x509_parse) 2015-03-05 10:09:06 -07:00
Dmitry Stogov a3674a5dcb Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Unused var
2015-03-05 18:19:27 +03:00
Dmitry Stogov 6d065a8545 Avoid repeatable strlen() calls 2015-03-05 18:18:39 +03:00
Xinchen Hui 1ebdbdfd78 Unused var 2015-03-05 23:09:58 +08:00
Trevor Suarez 1de1b6f927 Updating the DateTime_verify test to include the
new method in the reflected method list
2015-03-05 09:50:32 -05:00
Dmitry Stogov bb91bf83f9 Minimize copying of HashTable realocation 2015-03-05 17:22:10 +03:00
Julien Pauli 0f334a1265 5.5.24 now 2015-03-05 14:13:39 +01:00
Xinchen Hui eadff75c7d Merge branch 'PHP-5.6' 2015-03-05 21:10:02 +08:00
Xinchen Hui e8e5913e5e Merge branch 'PHP-5.5' into PHP-5.6 2015-03-05 21:06:07 +08:00
Xinchen Hui 869f8bd24b Error also maybe happened here 2015-03-05 21:05:26 +08:00
Dmitry Stogov 8e3643a8fc Avoid useless op_array duplication 2015-03-05 14:23:48 +03:00
Xinchen Hui eec5ab7672 Merge branch 'PHP-5.6' 2015-03-05 19:06:02 +08:00
Xinchen Hui 7bcdbcf98e Revert commit to zend signal by mistake 2015-03-05 19:04:43 +08:00
Anatol Belski 45fb8b517c fix incompatible pointer 2015-03-05 12:01:27 +01:00
Xinchen Hui 2f88a2d520 Merge branch 'cleanup' of https://github.com/zxcvdavid/php-src 2015-03-05 18:45:00 +08:00
Xinchen Hui f2c8b611cf Merge branch 'PHP-5.6' 2015-03-05 18:44:13 +08:00
Xinchen Hui 56f9dc2d59 Update NEWs 2015-03-05 18:40:25 +08:00
Xinchen Hui 168be6f250 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-05 18:40:06 +08:00
Xinchen Hui f039225597 Fixed bug #69174 (leaks when unused inner class use traits precedence) 2015-03-05 18:39:50 +08:00
Xinchen Hui fd5a756ad4 Revive Zend Signals handler (and fixed bug #61083) 2015-03-05 18:11:22 +08:00
Reeze Xia c498cc7407 Merge branch 'pull-request/1142'
* pull-request/1142:
  Fixed wrong parameter type of php_stream_mmap_range()
2015-03-05 17:05:21 +08:00
Rasmus Lerdorf eaa1b3e614 This test fails with multibyte on because it spews
a conversion error on the bogus file
2015-03-05 00:45:42 -08:00
Rasmus Lerdorf d7810cc0fa This test fails with multibyte on because it spews
a conversion error on the bogus file
2015-03-05 00:44:47 -08:00
Trevor Suarez d3863aeaf7 Whoops! String length.... 2015-03-05 02:57:14 -05:00
Wei Dai 488688cfc7 Remove the unused vars 2015-03-05 15:55:30 +08:00
Trevor Suarez 46f22acdcd Adding a new test for the new method 2015-03-05 02:02:50 -05:00
Trevor Suarez 42660f3d6a Adding a new createFromImmutable method to the
`DateTime` class to mirror the current `DateTime::createFromMutable()`
2015-03-05 01:58:09 -05:00
Daniel Lowrey 73de105481 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68265 (SAN match fails with trailing DNS dot)
2015-03-04 23:56:36 -07:00
Daniel Lowrey 65a9a5ca12 Fixed bug #68265 (SAN match fails with trailing DNS dot) 2015-03-04 23:55:42 -07:00
Daniel Lowrey fe29b8134c Merge branch 'PHP-5.6'
* PHP-5.6:
  hexadecimal is case*in*sensitive

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-04 23:00:59 -07:00
Daniel Lowrey 1de1ff75f5 Merge branch 'PHP-5.6' of https://github.com/bjori/php-src into PHP-5.6
* 'PHP-5.6' of https://github.com/bjori/php-src:
  hexadecimal is case*in*sensitive
2015-03-04 22:55:22 -07:00
Daniel Lowrey 94a70b98a6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68879 (IP Address fields in subjectAltNames not used)
  Fix broken test

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-04 22:42:25 -07:00
Daniel Lowrey 5dcace058a Fixed bug #68879 (IP Address fields in subjectAltNames not used) 2015-03-04 22:39:25 -07:00
Daniel Lowrey ca766e0787 Fix broken test 2015-03-04 22:37:07 -07:00
Xinchen Hui 792630bc50 Use strpprintf 2015-03-05 12:40:09 +08:00
Adam Harvey 592b2545b2 Merge branch 'master' into HEAD 2015-03-05 01:07:36 +00:00
Adam Harvey 10c471a60b Use a deprecated function that still exists. 2015-03-05 00:51:05 +00:00
Adam Harvey 3253168cde Remove unnecessary debug warning (that also broke tests). 2015-03-05 00:33:20 +00:00
Adam Harvey d8b2012ab0 Explicitly depend opcache on pcre. 2015-03-05 00:27:36 +00:00
Adam Harvey cdb82d879c Update UPGRADING. 2015-03-05 00:27:21 +00:00
Adam Harvey fea9a6fc77 Merge remote-tracking branch 'datibbaw/kill-ereg'
Conflicts:
	ext/ereg/config.w32
	ext/ereg/config0.m4
	ext/ereg/ereg.c
	ext/ereg/php_ereg.h
	ext/ereg/php_regex.h
	ext/ereg/regex/engine.c
	ext/ereg/regex/main.c
	ext/ereg/regex/regcomp.c
	ext/ereg/regex/regerror.c
	ext/ereg/tests/split_error_002.phpt
	ext/ereg/tests/split_variation_003.phpt
	ext/ereg/tests/spliti_error_002.phpt
	ext/ereg/tests/spliti_variation_003.phpt
	ext/pgsql/pgsql.c
	sapi/apache/php_apache_http.h
	sapi/apache_hooks/php_apache_http.h
2015-03-05 00:21:38 +00:00
Adam Harvey fd1578c196 Remove the deprecated MySQL extension.
Relevant RFC: https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
2015-03-05 00:18:40 +00:00
Hannes Magnusson 3c2c029bfd hexadecimal is case*in*sensitive 2015-03-04 16:03:45 -08:00
Dmitry Stogov 6dfff52f61 Improved method inhereitance code and cleanup 2015-03-05 02:10:38 +03:00
Daniel Lowrey b5d97140c0 Merge branch 'tls-alpn'
* tls-alpn:
  Improve test to target specific issue
  Misc updates/cleanup
  Add TLS ALPN extension support in crypto client/server streams
  Add stream_socket_crypto_info() function
  Update for compatibility with newer openssl libs
2015-03-04 13:56:58 -07:00
Dmitry Stogov c9bd24de7a Improved ineritance code 2015-03-04 23:06:07 +03:00
Daniel Lowrey 5de64a29e6 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #68920 (use strict peer_fingerprint input checks)

Conflicts:
	ext/openssl/xp_ssl.c
2015-03-04 12:50:35 -07:00
Daniel Lowrey 241f3c34b8 Fixed bug #68920 (use strict peer_fingerprint input checks) 2015-03-04 12:47:46 -07:00
Anatol Belski 01ccfb7cc9 fix ini registry handling 2015-03-04 19:27:45 +01:00
Daniel Lowrey 8680fc8331 Improve test to target specific issue 2015-03-04 10:23:46 -05:00
Dmitry Stogov ff039c3c6d Merge commit 'refs/pull/1066/head' of git://github.com/php/php-src
* git://github.com/php/php-src:
  Add zend assert deleted by accident
  Let's keep it simple
  Improve internal function return types checking for parent
2015-03-04 18:17:06 +03:00
Dmitry Stogov 13eed2676d Merge commit 'refs/pull/1137/head' of git://github.com/php/php-src
* git://github.com/php/php-src:
  Optimize class constant declare compilation
2015-03-04 18:07:07 +03:00
Dmitry Stogov 68d4575132 Merge branch 'pull-request/1128'
* pull-request/1128:
  Fixed memleak in alloc_globals_ctor
2015-03-04 17:55:02 +03:00
Dmitry Stogov 8ec8648c91 Improved code for class property inheritance 2015-03-04 17:41:01 +03:00
Daniel Lowrey a39b1898fe Misc updates/cleanup 2015-03-04 09:24:27 -05:00
Xinchen Hui fefbddf22b Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-04 18:27:18 +08:00
Xinchen Hui 6b8d5b01bc Add test for previously fixed segfault 2015-03-04 18:26:58 +08:00
Anatol Belski fc5d9175b6 ensure the mail() socket is not leaked after request 2015-03-04 10:24:44 +01:00
Xinchen Hui c16dcd3a8e Fixed segfault 2015-03-04 17:17:48 +08:00
Xinchen Hui ec00a4de4e Merge branch 'PHP-5.6' 2015-03-04 14:49:03 +08:00
Xinchen Hui a29b64fc10 Fixed bug #69159 (Opcache causes problem when passing a variable variable to a function) 2015-03-04 14:48:41 +08:00
Xinchen Hui fffd173b7a indent 2015-03-04 12:10:23 +08:00
Xinchen Hui a6ba7966de Fixed memleak 2015-03-04 12:08:54 +08:00
Xinchen Hui 4ebfc02274 Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-04 11:43:04 +08:00
Xinchen Hui abfdf3bf52 Merge branch 'fix-compile-error' of https://github.com/zxcvdavid/php-src 2015-03-04 11:39:53 +08:00
Reeze Xia 2dac92b244 Silence a empty while loop warning 2015-03-04 11:34:53 +08:00
Reeze Xia 98766e6375 Fixed wrong parameter type of php_stream_mmap_range()
There are several warings about this.
The mode type should be php_stream_mmap_access_t but not php_stream_mmap_operate_t
2015-03-04 11:28:14 +08:00
Xinchen Hui 2fa4d1d88b Fixed wrong type used 2015-03-04 10:55:14 +08:00
Xinchen Hui c7b7cc4c16 Fixed build 2015-03-04 10:49:55 +08:00
zxcvdavid a4a85887e0 Fix compile error 2015-03-04 09:56:50 +08:00
zxcvdavid f1de275e74 Remove the unused vars 2015-03-04 09:52:09 +08:00
Dmitry Stogov 2fa8d67a5c Use zend_string* instead of char* for opened_patch handling. Avoid reallocations and improve string reuse. 2015-03-04 02:05:28 +03:00
Anatol Belski 2841aa95db fix thread safety for win32/sendmail 2015-03-03 20:42:28 +01:00
Anatol Belski 82fd62df19 avoid this pointers play 2015-03-03 19:30:15 +01:00
Anatol Belski 2f79fd8d43 use correct free api 2015-03-03 18:09:28 +01:00
Anatol Belski cddde315c7 Fixed bug #69154 Access violation in php7.dll!_emalloc
one more invalid free
2015-03-03 17:19:17 +01:00
Anatol Belski 3483cc2cf6 ensure there is no connection 2015-03-03 17:19:16 +01:00
Anatol Belski 74813e6f04 fix socket leaking and better connection err check 2015-03-03 17:19:15 +01:00
Anatol Belski dcb944b352 avoid skipif as this indeed should be tested
plus do expect regex .*
2015-03-03 17:19:14 +01:00
Xinchen Hui 4ccbb1ed33 Merge branch 'PHP-5.6' 2015-03-03 23:17:49 +08:00
Xinchen Hui 6183408031 Merge branch 'PHP-5.5' into PHP-5.6 2015-03-03 23:17:37 +08:00
nathan r. hruby 837eeefee9 Make killing a locker an ERROR event
At least in apache, killing a locker with SIGKILL from inside opcache prevents
the child process from emitting a corresponding log event to the access or
error logs, therefore requests are termed with no record.  This makes is
incredibly difficult to debug problems espically on systems with high counts
of cache restarts.  Since INFO level is far too noisy for production use,
switch the killing to a higher level so we can see it easier.
2015-03-03 23:16:45 +08:00
Reeze Xia 31d5b65c74 Fix test 2015-03-03 22:56:23 +08:00
Dmitry Stogov b4e9da22d7 Microoptimization (avoid reloading from memory) 2015-03-03 16:51:27 +03:00
Dmitry Stogov 6b9c40280a Removed deprecated paths. Changed "switch" into series of "if". 2015-03-03 16:49:45 +03:00
Reeze Xia badc19d884 Optimize class constant declare compilation 2015-03-03 21:28:09 +08:00
Reeze Xia 916709cf85 Return void like other functions 2015-03-03 19:13:51 +08:00
Reeze Xia c6cebca1e3 Use zend_parse_parameters_none() 2015-03-03 18:49:49 +08:00
Reeze Xia bc28ed6788 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove wrong commit committed by accident
  Fixed bug #69167 (call_user_func does not support references anymore)
  Fixed #69166 (Assigning array_values() to array does not reset key counter)
2015-03-03 18:38:28 +08:00
Reeze Xia f97251adec Add missing zend_parse_parameters_none() for flush() 2015-03-03 18:37:47 +08:00
Xinchen Hui aa63449b6e Remove wrong commit committed by accident 2015-03-03 18:29:26 +08:00
Xinchen Hui 2702739ceb Merge branch 'master' of https://git.php.net/repository/php-src 2015-03-03 18:16:46 +08:00
Xinchen Hui 7ad6711a4d Fixed bug #69167 (call_user_func does not support references anymore) 2015-03-03 18:11:56 +08:00
Reeze Xia 908542c34e Implemented FR #45235 A way to clear or reset the results for error_get_last() 2015-03-03 17:48:03 +08:00
Xinchen Hui 70bd500645 Fixed #69166 (Assigning array_values() to array does not reset key counter) 2015-03-03 17:31:20 +08:00
Reeze Xia bb2e62ecda Merge branch 'PHP-5.6'
* PHP-5.6:
  Improve fix for bug 67741

Conflicts:
	main/main.c
2015-03-03 16:29:41 +08:00
Reeze Xia 808e562f23 Merge branch 'PHP-5.6' of git.php.net:/php-src into PHP-5.6
* 'PHP-5.6' of git.php.net:/php-src:
2015-03-03 16:28:01 +08:00
Reeze Xia 6cb3b941df Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Improve fix for bug 67741
  Added type checks
  Added type checks
2015-03-03 16:27:35 +08:00
Reeze Xia 304fb7a3d6 Merge branch 'PHP-5.5' of git.php.net:/php-src into PHP-5.5
* 'PHP-5.5' of git.php.net:/php-src:
  Added type checks
  Added type checks
2015-03-03 16:27:04 +08:00
Reeze Xia 860fc3947f Improve fix for bug 67741
Thanks to laruence.
2015-03-03 16:25:43 +08:00
Dmitry Stogov 143cc67282 Merge branch 'PHP-5.6'
* PHP-5.6:
  Added type checks
  Update NEWS

Conflicts:
	NEWS
	ext/soap/php_encoding.c
	ext/soap/soap.c
2015-03-03 10:56:11 +03:00
Dmitry Stogov c433f19a6b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Added type checks
2015-03-03 10:46:55 +03:00
Dmitry Stogov b3ac352253 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Added type checks
2015-03-03 10:45:07 +03:00
Dmitry Stogov c8eaca013a Added type checks 2015-03-03 10:43:48 +03:00
Dmitry Stogov 5c03e05692 Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
* 'PHP-5.5' of git.php.net:php-src:
  Update NEWS
2015-03-03 10:20:21 +03:00
Dmitry Stogov 66c883c0fd Merge branch 'PHP-5.6' of git.php.net:php-src into PHP-5.6
* 'PHP-5.6' of git.php.net:php-src:
  Update NEWS
2015-03-03 10:19:54 +03:00
Dmitry Stogov dd50ed8a34 Merge branch 'PHP-5.6'
* PHP-5.6:
  Added type checks
  Fixed bug #67741 (auto_prepend_file messes up __LINE__)
  Check variable type before its usage as IS_ARRAY.
  Fixed a bug that header value is not terminated by '\0' when accessed through getenv().

Conflicts:
	ext/soap/php_encoding.c
	ext/soap/php_http.c
	ext/soap/soap.c
2015-03-03 10:19:12 +03:00
Dmitry Stogov 26827a0111 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Added type checks
  Fixed bug #67741 (auto_prepend_file messes up __LINE__)
  Check variable type before its usage as IS_ARRAY.
  Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
2015-03-03 09:59:32 +03:00
Dmitry Stogov 035d80523f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Added type checks

Conflicts:
	ext/soap/soap.c
2015-03-03 09:52:21 +03:00
Dmitry Stogov 0c136a2abd Added type checks 2015-03-03 09:44:46 +03:00
Reeze Xia f353162ca2 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update NEWS
  Fixed bug #67741 (auto_prepend_file messes up __LINE__)
  Check variable type before its usage as IS_ARRAY.
  Fixed a bug that header value is not terminated by '\0' when accessed through getenv().

Conflicts:
	NEWS
2015-03-03 14:37:06 +08:00
Reeze Xia bb466d57ae Update NEWS 2015-03-03 14:22:03 +08:00
Dmitry Stogov a64e12e2a1 pefree() -> efree() 2015-03-03 09:09:28 +03:00
Reeze Xia c6e415aeb2 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #67741 (auto_prepend_file messes up __LINE__)

Conflicts:
	main/main.c
2015-03-03 11:44:52 +08:00
Reeze Xia 4e2c87edb3 Fixed bug #67741 (auto_prepend_file messes up __LINE__)
This also fixes bug #54081
2015-03-03 11:43:23 +08:00
Reeze Xia 34f09b6240 Fixed bug #67741 (auto_prepend_file messes up __LINE__)
This also fixes bug #54081
2015-03-03 11:25:30 +08:00
Dmitry Stogov fa2450c5f8 Don't inline helpers for ArrayAccess objects 2015-03-03 03:28:31 +03:00
Dmitry Stogov b7f4f48b9e Strength reduction 2015-03-02 23:46:28 +03:00
Jeremy Mikola dea7bc8786 Regression tests for SplFileInfo class setters
Adds tests for SplFileInfo class setters accepting either the base and child classes, and throwing an exception for unexpected classes.

Related: http://svn.php.net/viewvc?view=revision&revision=336017 and https://github.com/facebook/hhvm/pull/4917
2015-03-02 14:45:26 -05:00
Xinchen Hui a78998c48b Add a XFAIL test, which I'd like to think more about a better fix 2015-03-02 22:50:51 +08:00
Dmitry Stogov fc1f24b7a6 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Check variable type before its usage as IS_ARRAY.
  Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
2015-03-02 12:30:38 +03:00
Dmitry Stogov d5248f67b5 Check variable type before its usage as IS_ARRAY. 2015-03-02 12:27:36 +03:00
Dmitry Stogov 9a20323e19 Improved assert() according to expectations RFC.
See https://wiki.php.net/rfc/expectations

Squashed commit of the following:

commit 3f3651a7870738e35ec541e53b53069152135b24
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Mar 2 11:56:33 2015 +0300

    opcode 137 is used for ZEND_OP_DATA and con't be reused for ZEND_ASSERT_CHECK

commit ca8ecabf2a5f97f9116839c33396c9a7037e4368
Merge: 24328ac 9dac923
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Mar 2 10:49:23 2015 +0300

    Merge branch 'master' into assert

    * master:
      Update NEWS
      Fixed bug #69139 (Crash in gc_zval_possible_root on unserialize)
      windows only test
      Align entries format
      Align entries format for 5.6.7
      Align entries format for 5.5.23
      Bump header year
      Fixed bug #69144 (strtr not replacing with partly matching replace pairs)
      Fixed test?
      Revert mktime()/gmmktime()'s arginfo
      Update NEWS
      Fixed bug #69141 Missing arguments in reflection info for some builtin functions
      Add NEWS entry
      Remove useless date warning
      Fix ARG_INFO for levenshtein
      Fix ARG_INFO for levenshtein
      fix dir separator in tests
      Update NEWS
      Fixed bug #69085 (SoapClient's __call() type confusion through unserialize()).

commit 24328ac03f79a0f3b19be7411bf9e173f392abda
Merge: 021fd94 1cdee9a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Feb 27 15:57:13 2015 +0300

    Merge branch 'master' into assert

    * master:
      Fixed C++ support
      Fixed bug #69115 crash in mail
      Reorder
      Update NEWs
      Fixed bug #69121 (Segfault in get_current_user when script owner is not in passwd with ZTS build)
      Update News
      Fixed bug #69125 (Array numeric string as key)
      fix bug#68942's patch
      Fixed ability to build unspecialized executor
      Fixed bug #69124 (method name could not be used when by ref)
      Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
      Fixed a bug that header value is not terminated by '\0' when accessed through getenv().

commit 021fd94ed1d692d212e6e30c6c1a9767c3f16f7f
Merge: 49963eb ace1f82
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Feb 26 11:26:03 2015 +0300

    Merge branch 'master' into assert

    * master: (59 commits)
      Improved ASSIGN_DIM handler
      Don't inline slow path
      Revert a part committted by mistake
      Fixed compilation warnings
      Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
      better name
      Improve fix for #69038
      Update NEWs
      Fixed bug #69108 ("Segmentation fault" when (de)serializing SplObjectStorage)
      Added specialized versions of DO_FCALL handler:   DO_ICALL - for internal functions   DO_UCALL - for user functions   DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
      Use cache_slot offsets instead of indexes (simplify run-time instructions)
      Split INIT_FCALL_BY_NAME inti INIT_FCALL_BY_NAME(CONST+STRING) and INIT_DYNAMIC_CALL(CONST-STRING|TMPVAR|CV)
      Support list($a, $b) = $a
      Avoid unnecassary check
      Make zend_array_destroy() to free the corresponding zend_array
      Eliminate check on the fast path
      Make current() and key() receive argument by value.
      Use Firebird default home folder, replace Interbase with Firebird
      Updated NEWS
      updated NEWS
      ...

    Conflicts:
    	Zend/zend_vm_execute.h
    	Zend/zend_vm_opcodes.c
    	Zend/zend_vm_opcodes.h

commit 49963ebf9d2bcd6d2670203dd72884f6ba6c8a4b
Merge: 07b1f92 6b77959
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Feb 19 11:13:08 2015 +0300

    Merge branch 'master' into assert

    * master:
      Implemented AST pretty-printer
      update NEWS to match the actual stuff in 5.6.6
      update NEWS to match the actual stuff in 5.5.22
      update NEWS(add missing entry for the enchant fix, and reorder the entries a bit)
      fix typo in bug#
      update NEWS
      fix email format
      update NEWS
      update 5.6.6 release date in NEWS
      Fix bug #69033 (Request may get env. variables from previous requests if PHP works as FastCGI)
      BFN
      fix test
      fix test
      fix test
      Fixed bug #65593 (Segfault when calling ob_start from output buffering callback)
      Updated NEWS
      add CVE
      5.4.39 next
      Fix associativity to match Perl
      Blast off to space.

    Conflicts:
    	Zend/zend_ast.c

commit 07b1f92ed662f6fa9309e679b83aff328362c98b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 23:06:32 2015 +0300

    fixed pretty-printer (support for "elseif")

commit 5a976c8d85078502b48379996ab066e57533a0c3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 19:50:08 2015 +0300

    Fixed vaeious ptetty-printer issues

commit 69491e8e8e692030b0585aab485146906c0fedaf
Merge: 8473157 3ddc246
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 10:18:32 2015 +0300

    Merge branch 'master' into assert

    * master:
      Set PHP_JSON_VERSION to 1.4.0
      Remove unnecessary resource checks in openssl ext
      JSON is now maintained

commit 8473157fbb12d03fff8d5b602865a4b667522a4d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 10:17:26 2015 +0300

    Fixed typo and white spaces

commit 96de5ffc8d604df9797d0141ae5ad9c15e1d6c32
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Feb 18 00:28:39 2015 +0300

    Fixed assert() in namesapaces

commit 5eba069c28e7b6590618707e0b21cdb2dd62a192
Merge: 4a2d9c0 d428bf2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Feb 17 22:45:55 2015 +0300

    Merge branch 'master' into assert

    * master: (25 commits)
      improve debugability in TS debug builds
      More UPGRADING, in particular on foreach
      Fixed bug #69038 (switch(SOMECONSTANT) misbehaves) for master
      Replace var is introduced
      abstain from using xmlCleanupParser
      fix TS build
      Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
      update news
      Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
      Port for for bug #68552
      Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
      Update NEWS
      Fixed bug #69038 (switch(SOMECONSTANT) misbehaves)
      - BFN
      Don't read the local php.ini when Generating Phar When building phar shared, you can end up loading a previous phar.so that isn't compatible with the php cli being used to generate Phar here.
      - Fixed bug #67827 (broken detection of system crypt sha256/sha512 support)
      Delete json outdated package.xml
      made ZEND_TSRMLS_CACHE_* macros look like function calls
      - Fix merge
      - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
      ...

commit 4a2d9c0953dccd9e78ebee9291e1213419eb9136
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Feb 17 22:45:10 2015 +0300

    Implemented AST pretty-printer to capture expression passed to assert()

commit 7a059b66d51a65159801bd826346721325b89fec
Merge: 9973df7 3892eba
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Feb 16 18:42:28 2015 +0300

    Merge branch 'expect' of github.com:krakjoe/php-src into assert

    * 'expect' of github.com:krakjoe/php-src:
      import expect

    Conflicts:
    	Zend/zend_compile.c
    	Zend/zend_execute_API.c
    	Zend/zend_globals.h
    	Zend/zend_vm_def.h
    	Zend/zend_vm_execute.h
    	Zend/zend_vm_opcodes.c
    	Zend/zend_vm_opcodes.h
    	ext/opcache/Optimizer/block_pass.c
    	ext/opcache/Optimizer/pass1_5.c
    	ext/standard/assert.c
    	ext/standard/tests/assert/assert_error3.phpt

commit 3892eba2bf56a7699453855c995404106322718d
Author: krakjoe <joe.watkins@live.co.uk>
Date:   Sun Feb 2 12:49:35 2014 +0000

    import expect
2015-03-02 12:25:40 +03:00
Xinchen Hui 9dac9237ab Merge branch 'PHP-5.6'
Conflicts:
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
2015-03-01 23:20:22 +08:00
Xinchen Hui 169ac35c66 Update NEWS 2015-03-01 23:17:57 +08:00
Xinchen Hui 672a396d4a Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	ext/standard/var_unserializer.c
2015-03-01 23:17:41 +08:00
Xinchen Hui caebb76131 Fixed bug #69139 (Crash in gc_zval_possible_root on unserialize) 2015-03-01 23:16:15 +08:00
Danack c57bde7c9e Fixed SplFixedArray and tests. 2015-03-01 13:44:55 +00:00
Danack a519838ece Fixed ReflectionExtension and ReflectionProperty. 2015-03-01 13:20:07 +00:00
Lior Kaplan 1a35c959a9 Add missing value for error_reporting directive 2015-03-01 15:16:53 +02:00
Danack 043a02605f Fixed ReflectionFunction, ReflectionMethod and ReflectionParameter. 2015-03-01 13:06:58 +00:00
Ferenc Kovacs ddd9411f04 windows only test 2015-03-01 13:02:44 +01:00
Lior Kaplan 3b25766b18 Align entries format 2015-03-01 11:44:30 +02:00
Lior Kaplan 1c6599d804 Merge branch 'PHP-5.6'
* PHP-5.6:
  Align entries format for 5.6.7
  Align entries format for 5.5.23
2015-03-01 11:37:02 +02:00
Lior Kaplan aaaa905912 Align entries format for 5.6.7 2015-03-01 11:36:01 +02:00
Lior Kaplan 041b472d6f Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Align entries format for 5.5.23
2015-03-01 11:34:11 +02:00
Lior Kaplan 55f7747bff Align entries format for 5.5.23 2015-03-01 11:32:09 +02:00
Reeze Xia 7109a39ddb Merge branch 'PHP-5.6'
* PHP-5.6:
  Bump header year
  Update NEWS

Conflicts:
	NEWS
2015-03-01 15:15:03 +08:00
Reeze Xia 214350f4f4 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Bump header year
2015-03-01 15:08:20 +08:00
Reeze Xia c98eb695b5 Bump header year 2015-03-01 15:03:21 +08:00
Danack b00cd68d74 Fixed PDORow behaviour and message. 2015-03-01 02:37:57 +00:00
Daniel Lowrey 3e841470c9 Add TLS ALPN extension support in crypto client/server streams 2015-02-28 17:41:30 -05:00
Daniel Lowrey 13acb7ec65 Add stream_socket_crypto_info() function 2015-02-28 17:41:29 -05:00
Daniel Lowrey 3ff36c265f Update for OpenSSL 1.0.2 compatibility 2015-02-28 17:41:29 -05:00
Nikita Popov fcdb6e0811 WIP 2015-02-28 21:20:37 +01:00
Xinchen Hui 54e2020ee3 Fixed bug #69144 (strtr not replacing with partly matching replace pairs) 2015-02-28 22:37:46 +08:00
Xinchen Hui 49d19f6c7c Fixed test? 2015-02-28 22:35:55 +08:00
Reeze Xia 1359dfd18f Revert mktime()/gmmktime()'s arginfo
$is_dst parameter has been removed in commit: 9c5eaac18b
2015-02-28 18:32:18 +08:00
Дмитрий Пацура 77dd2111f9 Array - make krsort FAST_ZPP compatibility 2015-02-28 17:16:17 +08:00
Reeze Xia 6ef477f947 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update NEWS
2015-02-28 16:45:44 +08:00
Reeze Xia 8b0cf0d7fa Update NEWS 2015-02-28 16:45:26 +08:00
Reeze Xia 968a9f4807 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #69141 Missing arguments in reflection info for some builtin functions
2015-02-28 16:43:41 +08:00
Reeze Xia 1b240ff9e3 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #69141 Missing arguments in reflection info for some builtin functions
2015-02-28 16:40:06 +08:00
Reeze Xia f824f91ac9 Fixed bug #69141 Missing arguments in reflection info for some builtin functions
This include:

- setcookie (missing "httponly")
- setrawcookie (missing "httponly")
- spl_autoload_register (missing 2 optional params)
- mktime  (missing "is_dst")
- gmmktime (missing "is_dst")
2015-02-28 16:37:14 +08:00
Reeze Xia 85316b4bf0 Fixed memleak in alloc_globals_ctor
This free operation is missed when new MM was introduced in master.
2015-02-28 13:14:39 +08:00
Elan Ruusamäe ce73a47996 merge ZEND_SIGNED_MULTIPLY_LONG for i386 and x86_64
as the definitions are identical
refs b7eb3c1c5a
2015-02-28 01:43:53 +02:00
Bob Weinand ed10253311 Add NEWS entry 2015-02-27 23:28:19 +01:00
Bob Weinand b22caa81ee Remove useless date warning 2015-02-27 23:27:09 +01:00
Nikita Popov ffe47393ab Merge branch 'PHP-5.6' 2015-02-27 23:24:02 +01:00
Nikita Popov b41b229d78 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 23:23:49 +01:00
Дмитрий Пацура e9c6798721 Fix ARG_INFO for levenshtein
This can work with 2 parameters (require)

refs http://php.net/manual/ru/function.levenshtein.php
refs https://github.com/phalcon/zephir/issues/753
2015-02-27 23:23:24 +01:00
Дмитрий Пацура 5806e370d2 Fix ARG_INFO for levenshtein
This can work with 2 parameters (require)

refs http://php.net/manual/ru/function.levenshtein.php
refs https://github.com/phalcon/zephir/issues/753
2015-02-27 23:15:35 +01:00
Anatol Belski 5aec067b34 fix dir separator in tests 2015-02-27 16:48:09 +01:00
Xinchen Hui 1aea0f4b59 Merge branch 'master' of https://git.php.net/repository/php-src 2015-02-27 23:35:56 +08:00
Xinchen Hui 794a28832d Merge branch 'PHP-5.6'
Conflicts:
	ext/soap/soap.c
2015-02-27 23:35:37 +08:00
Xinchen Hui 4119879a39 Update NEWS 2015-02-27 23:33:23 +08:00
Xinchen Hui 86ba1a2444 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 23:32:59 +08:00
Xinchen Hui 997b7e5630 Fixed bug #69085 (SoapClient's __call() type confusion through unserialize()). 2015-02-27 23:32:32 +08:00
Dmitry Stogov 1cdee9a5d8 Fixed C++ support 2015-02-27 13:45:11 +03:00
Anatol Belski 30830bcefd Fixed bug #69115 crash in mail
There were two issues

- php_pcre_replace could be used directly and sbject_str could be NULL
- the Windows sendmail variant was freeing something passed from the outside
2015-02-27 10:42:20 +01:00
Xinchen Hui 8f5676f73e Merge branch 'PHP-5.6' 2015-02-27 12:03:04 +08:00
Xinchen Hui 578903578c Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 12:03:00 +08:00
Xinchen Hui 4eb830b212 Reorder 2015-02-27 12:02:42 +08:00
Xinchen Hui b0e95e1e35 Merge branch 'PHP-5.6' 2015-02-27 12:01:40 +08:00
Xinchen Hui 414bc8ee03 Update NEWs 2015-02-27 12:01:28 +08:00
Xinchen Hui d377cb6207 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 12:01:05 +08:00
Xinchen Hui ebfc49aa91 Fixed bug #69121 (Segfault in get_current_user when script owner is not in passwd with ZTS build) 2015-02-27 12:00:52 +08:00
Xinchen Hui a8927cd647 Merge branch 'PHP-5.6' 2015-02-27 11:43:49 +08:00
Xinchen Hui 4b83d02b4b Update News 2015-02-27 11:43:41 +08:00
Xinchen Hui cfaf7c3b5f Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 11:42:57 +08:00
Xinchen Hui 3e82816ba1 Fixed bug #69125 (Array numeric string as key) 2015-02-27 11:42:36 +08:00
Xinchen Hui 5b8a504519 Merge branch 'PHP-5.6'
Conflicts:
	ext/date/php_date.c
2015-02-27 11:13:07 +08:00
Xinchen Hui 2d1a3ecd27 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-27 11:11:45 +08:00
Taoguang Chen e441d71baa fix bug#68942's patch
Fix type confusion bug in unserialize() with DateTimeZone. https://bugs.php.net/bug.php?id=68942
2015-02-27 10:41:53 +08:00
Dmitry Stogov 2bb9a59175 Fixed ability to build unspecialized executor 2015-02-26 17:53:03 +03:00
Bob Weinand 4b861bde47 Fixed bug #69124 (method name could not be used when by ref) 2015-02-26 14:21:48 +01:00
Dmitry Stogov ace1f82e9c Improved ASSIGN_DIM handler 2015-02-26 02:49:19 +03:00
Dmitry Stogov 716da71446 Don't inline slow path 2015-02-26 01:28:47 +03:00
Dmitry Stogov 803e1432c8 Revert a part committted by mistake 2015-02-25 23:23:10 +03:00
Dmitry Stogov ff86267632 Fixed compilation warnings 2015-02-25 23:20:47 +03:00
George Wang bb491c2de1 Fixed a bug that header value is not terminated by '\0' when accessed through getenv().
Conflicts:
	sapi/litespeed/lsapilib.c
2015-02-25 11:30:33 -05:00
George Wang 65810bf259 Fixed a bug that header value is not terminated by '\0' when accessed through getenv(). 2015-02-25 11:24:19 -05:00
George Wang f13a88ac13 Fixed a bug that header value is not terminated by '\0' when accessed through getenv(). 2015-02-25 11:23:36 -05:00
George Wang 8584cc010a Fixed a bug that header value is not terminated by '\0' when accessed through getenv(). 2015-02-25 10:48:19 -05:00
Xinchen Hui 156e7881b8 Merge branch 'PHP-5.6' 2015-02-25 20:49:51 +08:00
Xinchen Hui 9502d67a8e Merge branch 'PHP-5.5' into PHP-5.6 2015-02-25 20:49:17 +08:00
Xinchen Hui 34d397e267 better name 2015-02-25 20:49:07 +08:00
Xinchen Hui 60f18026eb Merge branch 'PHP-5.6'
Conflicts:
	ext/opcache/Optimizer/zend_optimizer.c
2015-02-25 20:16:15 +08:00
Xinchen Hui d3615b5fb1 Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	ext/opcache/tests/bug69038.phpt
2015-02-25 20:13:47 +08:00
Xinchen Hui d508ff9640 Improve fix for #69038 2015-02-25 20:07:02 +08:00
Xinchen Hui aadf7366e0 Merge branch 'PHP-5.6'
Conflicts:
	ext/spl/spl_observer.c
2015-02-25 18:23:54 +08:00
Xinchen Hui d05575afd0 Update NEWs 2015-02-25 18:22:41 +08:00
Xinchen Hui 9641bac0f5 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-25 18:22:18 +08:00
Xinchen Hui ffdc5728c8 Fixed bug #69108 ("Segmentation fault" when (de)serializing SplObjectStorage) 2015-02-25 18:21:59 +08:00
Dmitry Stogov c2c78dc963 Added specialized versions of DO_FCALL handler:
DO_ICALL - for internal functions
  DO_UCALL - for user functions
  DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
2015-02-25 10:37:21 +03:00
Dmitry Stogov 5f278e4d3a Use cache_slot offsets instead of indexes (simplify run-time instructions) 2015-02-25 01:52:35 +03:00
Dmitry Stogov dcb96c2e03 Split INIT_FCALL_BY_NAME inti INIT_FCALL_BY_NAME(CONST+STRING) and INIT_DYNAMIC_CALL(CONST-STRING|TMPVAR|CV) 2015-02-24 22:29:47 +03:00
Nikita Popov bdf1430eeb Support list($a, $b) = $a
By compiling the RHS $a as a non-CV fetch.

This worked as expected in PHP 5, but broke in PHP 7 due to the
different assign order. However the new implementation is more
general, in that it allows $a on the LHS in any place, not just
the first element.
2015-02-24 19:08:23 +01:00
Dmitry Stogov 0ef5a6b409 Avoid unnecassary check 2015-02-24 19:21:21 +03:00
Dmitry Stogov e97ae4fee8 Make zend_array_destroy() to free the corresponding zend_array 2015-02-24 18:34:37 +03:00
Dmitry Stogov 26be614400 Eliminate check on the fast path 2015-02-24 18:34:15 +03:00
Dmitry Stogov 745504ea2a Make current() and key() receive argument by value. 2015-02-24 17:40:25 +03:00
Popa Adrian Marius 3e6380d64b Use Firebird default home folder, replace Interbase with Firebird 2015-02-24 13:58:14 +02:00
Julien Pauli 09c43bd398 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
  updated NEWS
  curl: add new proxy constants
2015-02-23 11:23:57 +01:00
Julien Pauli caacaee681 Updated NEWS 2015-02-23 11:23:48 +01:00
Julien Pauli 5256ffd4fe Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
  curl: add new proxy constants
2015-02-23 11:23:00 +01:00
Julien Pauli 1bfbb546f7 updated NEWS 2015-02-23 11:22:44 +01:00
Linus Unnebäck 63ab6d8249 curl: add new proxy constants 2015-02-23 11:19:36 +01:00
Julien Pauli 4f399a7c36 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed test fails for bug68557
2015-02-23 10:40:45 +01:00
Julien Pauli ee2f749a22 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed test fails for bug68557
2015-02-23 10:35:35 +01:00
Xinchen Hui d5a1a3342b Fixed test fails for bug68557 2015-02-23 10:35:16 +01:00
Derick Rethans a18ffe407c Merge branch 'pr/1103' 2015-02-23 08:57:20 +00:00
Jakub Zelenka ad2b751985 Merge branch 'PHP-5.6'
The fix for master is a bit different (it's fixed in encoder)
2015-02-22 20:54:05 +00:00
Jakub Zelenka 97d809a8a5 Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	ext/json/json.c
2015-02-22 20:35:03 +00:00
Jakub Zelenka 591dbcabe5 Fix bug #64695 (JSON_NUMERIC_CHECK has issues with strings that are numbers plus the letter e) 2015-02-22 20:22:47 +00:00
Rasmus Lerdorf 7ea5b3f71c NEWS entry 2015-02-22 08:32:32 -08:00
Rasmus Lerdorf ffd2fda0f3 NEWS entry 2015-02-22 08:31:17 -08:00
Rasmus Lerdorf a9ba407ce1 Fix bug #68166
We can't always efree here
php_escape_html_entities can return an interned_empty_string
2015-02-22 08:25:56 -08:00
Rasmus Lerdorf e12b72d3f7 Fix bug #68166
We can't always efree here
php_escape_html_entities can return an interned_empty_string
2015-02-22 08:14:41 -08:00
Anatol Belski 485345a7f1 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  updated NEWS
2015-02-22 16:48:22 +01:00
Anatol Belski 98959f6220 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  updated NEWS
2015-02-22 16:47:56 +01:00
Anatol Belski 871d51929b updated NEWS 2015-02-22 16:47:44 +01:00
Anatol Belski 8f6a013c97 updated NEWS 2015-02-22 16:46:39 +01:00
Anatol Belski a31f4ef884 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix Win32 SSPI initialization for digest authentication in cURL
2015-02-22 16:27:27 +01:00
Anatol Belski e656932d0e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix Win32 SSPI initialization for digest authentication in cURL
2015-02-22 16:26:52 +01:00
Anatol Belski 68afd75ecd Merge branch 'pull-request/1112' into PHP-5.5 2015-02-22 16:26:02 +01:00
Grant Pannell 7988f703f8 Fix Win32 SSPI initialization for digest authentication in cURL 2015-02-22 23:34:55 +10:30
Xinchen Hui 078340b563 correct title 2015-02-22 00:22:20 +08:00
Xinchen Hui e3416beb03 Fixed segfault because resource is freed prematurely 2015-02-22 00:19:06 +08:00
Xinchen Hui f25419f8e3 Only do this in debug build 2015-02-21 22:44:51 +08:00
Xinchen Hui 865a719a3f Fixed mem issue with internal return type hinting assert 2015-02-21 22:17:17 +08:00
Anatol Belski 3fd613effb removed duplicated code
the exact same function is already used in ext/standard/flock_compat.*
2015-02-21 14:27:14 +01:00
Anatol Belski 7aec946ddb Merge branch 'PHP-5.6'
* PHP-5.6:
  revisit fix for bug #65272

Conflicts:
	ext/standard/file.c
2015-02-21 14:16:06 +01:00
Anatol Belski 3cf2b7cc2b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  revisit fix for bug #65272

Conflicts:
	ext/standard/file.c
2015-02-21 14:14:24 +01:00
Anatol Belski 6751f8b314 revisit fix for bug #65272 2015-02-21 14:10:59 +01:00
Xinchen Hui ea94be490a Fixed test fails for bug68557 2015-02-21 12:36:38 +08:00
Xinchen Hui 4629f8978e Cleanup globals initialization
No needs explicit inititlize zero for globals in no-zts build.
executor_globals should be initialized in zend side.
2015-02-21 11:35:16 +08:00
Xinchen Hui 2a724becc1 Unused vars 2015-02-21 11:02:20 +08:00
Xinchen Hui 1c31ad4f0d Unused var 2015-02-21 10:58:23 +08:00
Anthony Ferrara 7c8d1e0bd7 Refactor declare placement detection, allow encoding declares before type declares 2015-02-20 15:56:58 -05:00
Anthony Ferrara dc35868a77 Merge branch 'master' into scalar_type_hints_v5 2015-02-20 13:33:35 -05:00
Dmitry Stogov e142e31137 Fixed memory leak 2015-02-20 20:50:01 +03:00
Xinchen Hui 09ac3e931c uint32_t 2015-02-21 01:19:07 +08:00
Mariano Iglesias d20da1d92e Renaming test to match Bug #69089 2015-02-20 14:17:11 -03:00
Anthony Ferrara b3be3c5b17 Clean up tri-state logic to use break instead 2015-02-20 11:54:33 -05:00
Anthony Ferrara e3b020b945 Fix declare error behavior so that improper usages will actually error 2015-02-20 11:43:18 -05:00
Julien Pauli c4c3dca302 Fix #67626 2015-02-20 16:07:40 +01:00
Anatol Belski cfae254b6b Merge branch 'PHP-5.6'
* PHP-5.6:
  split test for bug #68557 for windows
2015-02-20 16:02:32 +01:00
Anatol Belski b21d0848c9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  split test for bug #68557 for windows
2015-02-20 16:02:07 +01:00
Anatol Belski 3082177bee split test for bug #68557 for windows 2015-02-20 16:01:34 +01:00
Julien Pauli 043e4fab21 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
  Updated NEWS
2015-02-20 15:44:30 +01:00
Julien Pauli 95be012dce Updated NEWS 2015-02-20 15:44:18 +01:00
Julien Pauli 46e5f0c6bb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-02-20 15:43:53 +01:00
Julien Pauli 6393556a5d Updated NEWS 2015-02-20 15:43:38 +01:00
Julien Pauli 72af5cda27 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix #68557

Conflicts:
	ext/spl/spl_directory.c
2015-02-20 15:40:46 +01:00
Julien Pauli 13c3b78f1e Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix #68557
2015-02-20 15:38:48 +01:00
Sobak b97a9a8098 Drop ZE1-compat leftover 2015-02-20 15:29:54 +01:00
Julien Pauli c111d1cd70 fix #68557 2015-02-20 15:09:35 +01:00
Dmitry Stogov 623810eff4 Use fast SSE2 memcpy() for copying block of data from SHM to process memory 2015-02-20 16:08:57 +03:00
Julien Pauli f4c96ffcb5 Fix #63486 2015-02-20 13:38:35 +01:00
Dmitry Stogov 5100afb7dd Simplify reallocation during copying data from SHM to process memory 2015-02-20 15:38:06 +03:00
Mariano Iglesias e6819794eb Adding 'v' formatting to DateTime::format(), and adding constant DateTime::RFC3339_EXTENDED to output datetime using the RFC3339 extended format (aka ISO8601 extended format) 2015-02-20 09:21:14 -03:00
Dmitry Stogov 5f76eed14e don't count op_arrays stored in opcache SHM 2015-02-20 14:59:30 +03:00
Dmitry Stogov 04836f0e55 Removed dead code 2015-02-20 13:46:32 +03:00
Dmitry Stogov d85113702c Lazy duplication of op_array->static_variables 2015-02-20 13:28:26 +03:00
Dmitry Stogov 582aa41d6f Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed type mismatch
2015-02-20 10:33:07 +03:00
Dmitry Stogov 90421b0d5b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed type mismatch
2015-02-20 10:32:34 +03:00
Dmitry Stogov 9fb48edf3c Fixed type mismatch 2015-02-20 10:31:24 +03:00
Stanislav Malyshev 543f011205 add NEWS for <=> 2015-02-19 23:03:51 +01:00
Nikita Popov 79f26e9ca5 Implement Generator::getReturn() 2015-02-19 20:25:49 +01:00
Michael Wallner 34ff6bbb0d this line got accitentally dropped on merge 2015-02-19 10:50:03 +01:00
Dmitry Stogov 6b779596d7 Implemented AST pretty-printer 2015-02-19 11:11:17 +03:00
Anthony Ferrara c859079962 Remove the aliases of scalar types 2015-02-18 16:43:39 -05:00
Anthony Ferrara c6996a2988 Fix default values for booleans, thanks to virtual types 2015-02-18 16:34:43 -05:00
Ferenc Kovacs e7ee01980e Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS to match the actual stuff in 5.6.6
  update NEWS to match the actual stuff in 5.5.22
2015-02-18 20:15:46 +01:00
Ferenc Kovacs 97dd859c9c update NEWS to match the actual stuff in 5.6.6 2015-02-18 20:10:28 +01:00
Ferenc Kovacs d58e76fd69 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS to match the actual stuff in 5.5.22
2015-02-18 20:09:12 +01:00
Ferenc Kovacs 3d777c8068 update NEWS to match the actual stuff in 5.5.22 2015-02-18 20:08:46 +01:00
Ferenc Kovacs 3c5e0807e0 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS(add missing entry for the enchant fix, and reorder the entries a bit)
  fix typo in bug#
  add CVE
  5.4.39 next
2015-02-18 19:52:32 +01:00
Ferenc Kovacs 73a9c701ad update NEWS(add missing entry for the enchant fix, and reorder the entries a bit) 2015-02-18 19:52:00 +01:00
Ferenc Kovacs 3261995092 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix typo in bug#
  add CVE
  5.4.39 next
2015-02-18 19:49:23 +01:00
Ferenc Kovacs 24be46323b Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix typo in bug#
  add CVE
  5.4.39 next

Conflicts:
	configure.in
	main/php_version.h
2015-02-18 19:48:50 +01:00
Ferenc Kovacs c17a17e44b fix typo in bug# 2015-02-18 19:47:07 +01:00
Ferenc Kovacs 2ee41118c8 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
2015-02-18 19:40:21 +01:00
Ferenc Kovacs c0a5905522 update NEWS 2015-02-18 19:39:58 +01:00
Ferenc Kovacs a4771ae667 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix email format
2015-02-18 19:20:36 +01:00
Ferenc Kovacs 920de2cbe8 fix email format 2015-02-18 19:20:13 +01:00
Anthony Ferrara d5aaebc355 Disallow block mode for declare(strict_types=1) declarations 2015-02-18 12:43:57 -05:00
Anthony Ferrara 37604b45ba Skip the tests if multibyte isn't loaded to prevent them from being fragile based on encoding availability 2015-02-18 12:00:18 -05:00
Anthony Ferrara ac2ece885f Improve detection of strict_types declaration being first in the file 2015-02-18 11:40:52 -05:00
Anthony Ferrara e2053fa94c Fix bug where return type checking was overzealous and interfered with generators 2015-02-18 10:59:33 -05:00
Anthony Ferrara 9109e48749 Merge in master 2015-02-18 10:35:39 -05:00
Ferenc Kovacs 78bb5091a3 Merge branch 'PHP-5.6'
* PHP-5.6:
  update NEWS
  update 5.6.6 release date in NEWS
  Fix bug #69033 (Request may get env. variables from previous requests if PHP works as FastCGI)
2015-02-18 16:34:02 +01:00
Ferenc Kovacs 941c1a5fa8 update NEWS 2015-02-18 16:33:32 +01:00
Ferenc Kovacs 4bae11b533 update 5.6.6 release date in NEWS 2015-02-18 16:32:57 +01:00
Ferenc Kovacs 68128efa4b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #69033 (Request may get env. variables from previous requests if PHP works as FastCGI)
2015-02-18 16:32:23 +01:00
Anthony Ferrara 00b3e77ead Move declare() to the top of the file only, and allow int->float generalization 2015-02-18 10:26:29 -05:00
Ferenc Kovacs 08b6fe9ef1 Fix bug #69033 (Request may get env. variables from previous requests if PHP works as FastCGI) 2015-02-18 16:24:09 +01:00
Michael Wallner e4294ef6e5 Merge branch 'PHP-5.6'
* PHP-5.6:
  BFN
2015-02-18 14:08:58 +01:00
Michael Wallner 6dfc7cbe61 BFN 2015-02-18 14:08:52 +01:00
Michael Wallner 2137354988 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test
2015-02-18 14:06:49 +01:00
Michael Wallner ec7ba48e67 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-02-18 14:06:39 +01:00
Michael Wallner 83dda66aac fix test 2015-02-18 14:06:32 +01:00
Michael Wallner 6fed9960a9 fix test 2015-02-18 14:05:45 +01:00
Michael Wallner 84fad268d0 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test
2015-02-18 14:05:10 +01:00
Michael Wallner 23e4af185a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix test
2015-02-18 14:05:02 +01:00
Michael Wallner 8b6919c77c fix test 2015-02-18 14:04:53 +01:00
Michael Wallner b36581aa75 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed bug #65593 (Segfault when calling ob_start from output buffering callback)
2015-02-18 14:04:19 +01:00
Michael Wallner 0d2a2b98c9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #65593 (Segfault when calling ob_start from output buffering callback)
2015-02-18 13:59:32 +01:00
Michael Wallner 225af964c0 Fixed bug #65593 (Segfault when calling ob_start from output buffering callback) 2015-02-18 13:58:31 +01:00
Julien Pauli 86ba107360 Merge branch 'PHP-5.6'
* PHP-5.6:
  Updated NEWS
2015-02-18 12:42:02 +01:00
Julien Pauli f977a9f2be Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Updated NEWS
2015-02-18 12:41:47 +01:00
Julien Pauli 73c2e9153a Updated NEWS 2015-02-18 12:40:38 +01:00
Stanislav Malyshev 3551083c2c Merge branch 'pull-request/1007'
* pull-request/1007:
  Fix associativity to match Perl
  Blast off to space.
2015-02-18 08:48:17 +01:00
Remi Collet c6a26cb39d add CVE 2015-02-18 06:44:41 +01:00
Jakub Zelenka 3ddc246b5a Set PHP_JSON_VERSION to 1.4.0 2015-02-17 20:52:06 +00:00
Jakub Zelenka 0676f39ee4 Remove unnecessary resource checks in openssl ext
The resource val is already checking Z_TYPE_P(val) == IS_RESOURCE.
There is no need to call extended resource fetch functions though.
2015-02-17 20:46:36 +00:00
Jakub Zelenka c3bd8cd8a9 JSON is now maintained 2015-02-17 20:44:40 +00:00
Anatol Belski d428bf2d4e improve debugability in TS debug builds
gdb seems to be not always able to fetch the correct context for
thread locals. Thus, the "if (TSRMLS_CACHE)" clause causes gdb to
show crashes which aren't recognized neither with helgrind nor
in release builds. This is reproducable by setting breakpoints on
the exact line where PHP has a tsrm_get_ls_cache() call.
2015-02-17 19:15:22 +01:00
Nikita Popov 31287f0317 More UPGRADING, in particular on foreach
Only doing a shallow description of foreach changes, describing
them completely is too complicated.
2015-02-17 16:02:33 +01:00
Xinchen Hui 7299d43536 Fixed bug #69038 (switch(SOMECONSTANT) misbehaves) for master 2015-02-17 22:05:57 +08:00
Xinchen Hui 034e753c01 Merge branch 'PHP-5.6' 2015-02-17 21:18:46 +08:00
Xinchen Hui 97f8c78b09 Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into PHP-5.5 2015-02-17 21:17:06 +08:00
Xinchen Hui ed1967c706 Merge branch 'PHP-5.6' of https://git.php.net/repository/php-src into PHP-5.6 2015-02-17 21:16:53 +08:00
Xinchen Hui e22759b1e5 Replace var is introduced 2015-02-17 21:16:37 +08:00
Anatol Belski 8742276eb3 abstain from using xmlCleanupParser
Depending on circumstances, usage of xmlCleanupParser can affect
the thread local storage, or even cause crashes in single threaded
programs. On shutdown the memory will be freed anyway, however
not using xmlCleanupParser helps to avoid possible shutdown
crashes.
2015-02-17 10:37:52 +01:00
Stanislav Malyshev 4ff333f610 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix TS build

Conflicts:
	ext/date/php_date.c
2015-02-17 07:47:57 +01:00
Stanislav Malyshev 0a331f49c1 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix TS build
2015-02-17 07:47:27 +01:00
Stanislav Malyshev 213725057e fix TS build 2015-02-17 07:47:12 +01:00
Stanislav Malyshev 24f8a68d0a 5.4.39 next 2015-02-17 07:34:00 +01:00
Stanislav Malyshev 70e51db210 Merge branch 'PHP-5.6'
* PHP-5.6:
  update news
  Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
  Port for for bug #68552
  Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
  - BFN

Conflicts:
	ext/date/php_date.c
2015-02-17 07:10:30 +01:00
Stanislav Malyshev 625ab10f99 Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone) 2015-02-17 07:02:20 +01:00
Stanislav Malyshev c538a2eb12 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update news
2015-02-17 06:58:24 +01:00
Stanislav Malyshev 2e8cd42974 update news 2015-02-17 06:58:14 +01:00
Stanislav Malyshev 78389b29f9 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
  Port for for bug #68552
  Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
  - BFN
2015-02-17 06:57:50 +01:00
Stanislav Malyshev cf7d8eabcc Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Port for for bug #68552
  Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
  - BFN
2015-02-17 06:53:48 +01:00
Stanislav Malyshev 29a4e710de Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone) 2015-02-17 06:53:27 +01:00
Stanislav Malyshev bdfe457a2c Port for for bug #68552 2015-02-17 06:53:02 +01:00
Stanislav Malyshev 7b18981830 Fix bug #68942 (Use after free vulnerability in unserialize() with DateTimeZone)
Conflicts:
	ext/date/php_date.c
2015-02-17 06:43:51 +01:00
Nikhil Vimal 27defce2bc More docs for /win32/build/confutils.js
Just adding a few more docs
2015-02-16 23:19:47 -06:00
Xinchen Hui dec83ea4ac Update NEWS 2015-02-17 11:36:44 +08:00
Xinchen Hui 1c0fa36c61 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-17 11:36:15 +08:00
Xinchen Hui 66d3095993 Fixed bug #69038 (switch(SOMECONSTANT) misbehaves) 2015-02-17 11:34:57 +08:00
Felipe Pena 82d347a477 - BFN 2015-02-17 01:14:05 -02:00
Felipe Pena 85aab94d81 - Fix merge 2015-02-17 01:11:48 -02:00
Felipe Pena f6e9ed76ae Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
2015-02-17 01:08:48 -02:00
Felipe Pena 94742054a8 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fixed bug #67827 (broken detection of system crypt sha256/sha512 support)
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  Update NEWS
2015-02-17 01:08:07 -02:00
Rasmus Lerdorf a96de76753 Don't read the local php.ini when Generating Phar
When building phar shared, you can end up loading
a previous phar.so that isn't compatible with the
php cli being used to generate Phar here.
2015-02-16 18:28:32 -08:00
Felipe Pena 0c01fca444 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  - Fixed bug #67827 (broken detection of system crypt sha256/sha512 support)
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  Update NEWS
2015-02-17 00:28:28 -02:00
Felipe Pena a331ae4630 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fixed bug #67827 (broken detection of system crypt sha256/sha512 support)
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  Update NEWS
2015-02-17 00:28:11 -02:00
Felipe Pena 8f9ab04d93 - Fixed bug #67827 (broken detection of system crypt sha256/sha512 support) 2015-02-17 00:23:47 -02:00
Danack 44f15b068d Stop trying to call the callback after it has thrown an exception. Also, as an exception has been thrown, there is no need to have a separate error message. 2015-02-16 21:45:21 +00:00
Jakub Zelenka 011eab1047 Delete json outdated package.xml
The package.xml has not been update for more then 8 years and
there is no reason to keep it. It would require quite
a bit of digging in git history to update it which is
not worth it.
2015-02-16 20:07:01 +00:00
Anatol Belski af3ca74501 made ZEND_TSRMLS_CACHE_* macros look like function calls
which also comply with the current semantics for such macros
2015-02-16 17:19:32 +01:00
Felipe Pena abbc82f448 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  - Fix merge
  BFN
2015-02-16 13:09:52 -02:00
Felipe Pena 35a68c276d - Fix merge 2015-02-16 13:09:40 -02:00
Felipe Pena e08bef442c - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de 2015-02-16 13:07:26 -02:00
Felipe Pena 812c0c0337 - Fix merge 2015-02-16 12:48:05 -02:00
Felipe Pena d259a853f4 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  BFN
  Update NEWS
2015-02-16 12:47:30 -02:00
Felipe Pena 83f85a4ab3 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  Update NEWS
2015-02-16 12:47:16 -02:00
Felipe Pena 650098868c - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de 2015-02-16 12:46:43 -02:00
Felipe Pena 2e913a5251 Merge branch 'master' of git.php.net:/php-src 2015-02-16 12:22:17 -02:00
Felipe Pena a80ad10d9b - Fix merge 2015-02-16 12:21:20 -02:00
Felipe Pena 02de601ff8 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  BFN
  Update NEWS
2015-02-16 12:08:39 -02:00
Felipe Pena 76a505f09b Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de
  Update NEWS
2015-02-16 12:08:26 -02:00
Felipe Pena 40c60b8212 - Fixed bug #67427 (SoapServer cannot handle large messages) patch by: brandt at docoloc dot de 2015-02-16 12:08:07 -02:00
Antony Dovgal 8d157b67fe Merge branch 'pull-request/995'
* pull-request/995:
  fix bug #68822 (request time is reset too early)
2015-02-16 15:27:54 +03:00
Antony Dovgal dbf7d525a5 BFN 2015-02-16 15:23:13 +03:00
Antony Dovgal 1d94cd4bfa Merge branch 'pull-request/995' into PHP-5.5
* pull-request/995:
  fix bug #68822 (request time is reset too early)
2015-02-16 15:20:39 +03:00
Antony Dovgal c4664d1731 Merge branch 'pull-request/995' into PHP-5.6
* pull-request/995:
  fix bug #68822 (request time is reset too early)
2015-02-16 15:15:11 +03:00
redfoxli 3664345aba fix bug #68822 (request time is reset too early)
this caused wrong time in the logs
2015-02-16 15:10:09 +03:00
Xinchen Hui 9973df7b4f Merge branch 'master' of https://git.php.net/repository/php-src 2015-02-16 14:22:56 +08:00
Xinchen Hui 10fe317300 Merge branch 'PHP-5.6'
Conflicts:
	ext/openssl/openssl.c
2015-02-16 14:18:08 +08:00
Xinchen Hui 8309988111 Fixed bug #68912 (Segmentation fault at openssl_spki_new) 2015-02-16 14:16:52 +08:00
Danack 94e2002de5 Merge branch 'sqlite3_exceptionSegfault56' into sqlite3_exception7
* sqlite3_exceptionSegfault56:
  Fix freeing null segfault. Added test for behaviour.

Conflicts:
	ext/sqlite3/sqlite3.c
2015-02-16 02:22:15 +00:00
Jakub Zelenka 5f82c9256d Update JSON Readme 2015-02-15 20:04:16 +00:00
Jakub Zelenka 549c6fa465 Remove unused destructor in json parser 2015-02-15 19:46:41 +00:00
Jakub Zelenka 911f7b10b1 Add bison 3.0.4 genereted files for json parser
The definitions file (json_parser.tab.h) contains file
system dependent name for C preprocessor guard:

YY_PHP_JSON_YY_HOME_JAKUB_PROG_PHP_MASTER_EXT_JSON_JSON_PARSER_TAB_H_INCLUDED

This is because the srcdir is used for default definitions name.
It's a correct default (--definition=$(srcdir)/json_parser.tab.h)
because the build would fail otherwise. Unfortunately Bison does not have
a special option for defining cpp guard name. The only way would be
using skeleton file but that's not possible with the current
configuration as it requires using a specific bison version
(disallowing range of supported versions).
2015-02-15 19:28:37 +00:00
Jakub Zelenka 09d27da1ba Regenerate json scanner with re2c 0.13.7.5 2015-02-15 18:08:58 +00:00
Xinchen Hui 91859f15a8 Merge branch 'PHP-5.6' 2015-02-15 23:00:41 +08:00
Xinchen Hui 423a057023 Update NEWs 2015-02-15 23:00:34 +08:00
Xinchen Hui fc087ed1ee Merge branch 'PHP-5.6'
Conflicts:
	ext/readline/readline.c
2015-02-15 22:56:56 +08:00
Xinchen Hui edd16831b1 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-15 22:55:42 +08:00
Xinchen Hui a620b79040 Fixed bug #69054 (Null dereference in readline_(read|write)_history() without parameters) 2015-02-15 22:54:05 +08:00
Michael Wallner b046733243 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix detection of mbstate_t with clang
2015-02-15 09:31:47 +01:00
Michael Wallner 4137956d0e fix detection of mbstate_t with clang
AC_TRY_COMPILE expexts a function body
2015-02-15 09:25:03 +01:00
Xinchen Hui e017f35b7f Merge branch 'PHP-5.6'
Conflicts:
	ext/pgsql/pgsql.c
2015-02-14 22:20:33 +08:00
Xinchen Hui 1db720cd6d Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	ext/pgsql/pgsql.c
2015-02-14 22:18:13 +08:00
Xinchen Hui 7667f8efc6 Fixed bug #68638 (pg_update() fails to store infinite values) 2015-02-14 22:17:01 +08:00
Xinchen Hui 40a94597ae Merge branch 'PHP-5.4' of https://github.com/wfelipew/php-src into PHP-5.5 2015-02-14 22:03:53 +08:00
Xinchen Hui b73fa1fa8f Fixed build on windows 2015-02-14 12:57:53 +08:00
Nikita Popov 9d1e36e4b6 Some more UPGRADING changes 2015-02-13 21:44:22 +01:00
Yasuo Ohgaki c0dd221a3a Update NEWS 2015-02-14 05:41:04 +09:00
Yasuo Ohgaki d0be36cf5b Update NEWS 2015-02-14 05:40:51 +09:00
Yasuo Ohgaki 7d0e3c01e6 Added NULL byte protection to exec, system and passthru. 2015-02-14 05:37:56 +09:00
Yasuo Ohgaki 5b6269a253 Update NEWS 2015-02-14 05:34:57 +09:00
Yasuo Ohgaki 096fb06dab Merge branch 'PHP-5.6'
* PHP-5.6:
  Add NULL byte protection to exec, system and passthru
2015-02-14 05:28:32 +09:00
Yasuo Ohgaki a54300b3f6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Add NULL byte protection to exec, system and passthru
2015-02-14 05:27:44 +09:00
Yasuo Ohgaki 3ea76a768c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Add NULL byte protection to exec, system and passthru
2015-02-14 05:26:54 +09:00
Yasuo Ohgaki a8722f5330 Add NULL byte protection to exec, system and passthru 2015-02-14 05:25:04 +09:00
Nikita Popov bfeae649f6 More extensive UPGRADING
I'd like UPGRADING to have a complete list of changes including
code samples and suggested changes. Right now it's only a list
of bullet points, where it is often required to read a linked
RFC to understand the difference.
2015-02-13 20:52:55 +01:00
Dmitry Stogov e10e151e9b Merged zend_array and HashTable into the single data structure.
Now each HashTable is also zend_array, so it's refcounted and may be a subject for Copy on Write
zend_array_dup() was changed to allocate and return HashTable, instead of taking preallocated HashTable as argument.
2015-02-13 22:20:39 +03:00
Dmitry Stogov bc630ad6da Get rid of old HashTable iteration API (it doesn't work with constant arrays) 2015-02-13 20:18:29 +03:00
Popa Adrian Marius 8f968c5416 Apply PHP7 firebird fixes after API Cleanup from https://github.com/Jan-E/php-src/commit/8c920a22ac65da485eaf3d2fd27baf2b0406116e 2015-02-13 17:55:17 +02:00
Nikita Popov 03ded8c7ea Remove unused variable 2015-02-13 15:33:50 +01:00
Guilherme Blanco 4498d34aea Check interface/trait extension for internal classes
Removed possibility to have extensions to declare classes extending
interfaces or traits. It was checked in user classes, not extensions
or internal.
2015-02-13 15:31:48 +01:00
Anatol Belski c17e007a29 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix condition
2015-02-13 13:40:37 +01:00
Anatol Belski b3d28d14d6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix condition
2015-02-13 13:40:10 +01:00
Anatol Belski 5ff77b005b fix condition 2015-02-13 13:39:46 +01:00
Xinchen Hui 627a213761 Merge branch 'master' of https://git.php.net/repository/php-src 2015-02-13 18:27:10 +08:00
Xinchen Hui e5d8a14239 Revert "Cleanup globals initialization"
This reverts commit 309e90638d.
2015-02-13 18:25:44 +08:00
Xinchen Hui 94dcddbc4a Revert "Remove useless TSRMLS by merge"
This reverts commit 5e7fd50376.
2015-02-13 18:25:31 +08:00
Anatol Belski 5d8ebcc73c remove useless condition (same as headers_list()) 2015-02-13 11:21:49 +01:00
Reeze Xia bb20917049 Silence unused variable warning 2015-02-13 10:13:19 +00:00
Reeze Xia 46d9572945 Fixed phpdbg zend_bailout error when compiling syntax error code
@krakjoe if there is something wrong, tell me plz
2015-02-13 17:47:47 +08:00
Xinchen Hui 136594822f Fixed use of uninitliazed pointer 2015-02-13 14:53:13 +08:00
Xinchen Hui 3224459232 Merge branch 'master' of https://git.php.net/repository/php-src 2015-02-13 14:29:27 +08:00
Reeze Xia 39203441ed Fixed phpdbg backtrace argument's name missing 2015-02-13 06:22:04 +00:00
Xinchen Hui da7d94cd73 Merge branch 'PHP-5.6'
Conflicts:
	ext/soap/soap.c
	ext/standard/basic_functions.c
	ext/zlib/zlib.c
2015-02-13 13:28:24 +08:00
Xinchen Hui adc4265792 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-13 13:12:44 +08:00
Xinchen Hui 3a71fa36a2 Micro opt 2015-02-13 13:09:56 +08:00
Xinchen Hui 371c016986 Merge branch 'PHP-5.5' of https://git.php.net/repository/php-src into PHP-5.5 2015-02-13 12:54:04 +08:00
Xinchen Hui 68ab716f18 Fixed #69015 (php-cgi's getopt does not see $argv)
No test script is added because of complicated
2015-02-13 12:53:34 +08:00
Xinchen Hui 5f285482ea zend_get_parameters_ex is deprecated 2015-02-13 11:26:40 +08:00
Xinchen Hui 5e7fd50376 Remove useless TSRMLS by merge 2015-02-13 11:02:37 +08:00
Xinchen Hui 309e90638d Cleanup globals initialization 2015-02-13 10:58:35 +08:00
Xinchen Hui 2766dbaf6d Unused vars 2015-02-13 10:53:40 +08:00
William Felipe Welter 0421404b73 Fixed bug #68638 pg_update() fails to store infinite values
Fix indent
2015-02-12 23:39:54 -02:00
Dmitry Stogov 12abac8bb7 Limit HashTable size to avoid integer overflow checks 2015-02-13 02:12:42 +03:00
Nikita Popov 2fb85f1058 Cleanup checks in zend_builtin_functions.c
The EXPLICIT_ABSTRACT_CLASS comparisons are no longer necessary.
2015-02-12 23:31:01 +01:00
Nikita Popov 240fbd36f1 Add test to ensure ReflectionClass works correctly with traits
Some of these were not working correctly before Guilherme's patch.
Another was broken by it and is fixed in this commit as well.
2015-02-12 23:25:09 +01:00
Guilherme Blanco 8c81d80e10 Made ZEND_ACC_TRAIT a saner value
CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
2015-02-12 23:20:19 +01:00
Anatol Belski a0d472e1da Merge branch 'master' of git.php.net:php-src 2015-02-12 20:30:48 +01:00
Anatol Belski 3fe115ae86 Merge branch 'PHP-5.6'
* PHP-5.6:
  backport gd config.w32 to support freetype 2.5
2015-02-12 20:29:51 +01:00
Anatol Belski d05070c98d Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  backport gd config.w32 to support freetype 2.5
2015-02-12 20:29:24 +01:00
Anatol Belski b5aca81de1 backport gd config.w32 to support freetype 2.5 2015-02-12 20:27:48 +01:00
Anatol Belski 07fdc1c78b fix data types 2015-02-12 18:39:40 +01:00
Anatol Belski 08c739c78e fix int to pointer cast 2015-02-12 18:39:39 +01:00
Dmitry Stogov 61a1e8d157 Fixed initialization of global variables in ZTS (this caused valgrind reports on few PHPT tests) 2015-02-12 16:51:07 +03:00
Dmitry Stogov 4d2a575db2 Stop using internal array/object pointer in foreach by reference according to https://wiki.php.net/rfc/php7_foreach 2015-02-12 14:36:04 +03:00
Dmitry Stogov 97fe15db43 Fix "forech" statemt behaviour according to https://wiki.php.net/rfc/php7_foreach
Squashed commit of the following:

commit 1e41295097
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Sat Jan 31 07:28:58 2015 +0300

    Generalize HashTableIterator API to allows its usage without involvement of HashTable.nInternalPonter

commit 5406f21b11
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 18:08:43 2015 +0300

    Reduced alghorithms complexity

commit b37f1d58d2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 18:08:30 2015 +0300

    Fixed test name

commit fb2d079645
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 18:08:05 2015 +0300

    API cleanup

commit 08302c0d6d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 14:20:46 2015 +0300

    Make array_splice() to preserve foreach hash position

commit cc4b7be41e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 12:24:31 2015 +0300

    Make internal function, operation on array passed by reference, to preserve foreach hash position

commit 5aa9712b0a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 09:49:35 2015 +0300

    Implement consistent behavior for foreach by value over plain object

commit 4c5b385ff5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jan 30 07:56:37 2015 +0300

    More careful iterators update.

commit 721fc9e80d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jan 29 21:43:28 2015 +0300

    Added new test

commit 15a23b1218
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jan 29 21:05:02 2015 +0300

    Reimplement iteration magic with HashTableIterators (see https://wiki.php.net/rfc/php7_foreach#implementation_details)

commit 10a3260b1f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jan 29 21:04:44 2015 +0300

    New test

commit eef80c5837
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 16:52:21 2015 +0300

    Fixed foreach by reference iteration over constant array

commit 61e7391873
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 14:59:54 2015 +0300

    Fixed temporary variable re-allocation pass

commit 92e90c09f0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 12:44:57 2015 +0300

    Fixed operand destruction in case of exceptions in iterator

commit dd2a36a207
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 10:02:34 2015 +0300

    Use GET_OP1_ZVAL_PTR_DEREF() (IS_TMP_VAR and IS_CONST can't be IS_REFERENCE)

commit 4638f7b914
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jan 28 07:43:28 2015 +0300

    Change "foreach" statement behavior (this is just a PoC yet)

    - "foreach by value" don't relay on internal array/object pointer and doesnt perform array duplication. It just locks it incrementing reference counter. If the original array is modified by some code, the copy on write is performed and "foreach" still work with the old copy.

    - it makes no difference if array given to "foreach by value" is reference itself

    - "foreach by reference" still use internal array/object pointer and should work similar to PHP-5. (This id not completely implemented)
2015-02-12 13:57:12 +03:00
Yasuo Ohgaki 741b5952c6 Pass maxlifetime to save handlers 2015-02-12 13:07:27 +09:00
Xinchen Hui b83352ccf3 Merge branch 'PHP-5.6' 2015-02-12 11:28:42 +08:00
Xinchen Hui 3ae88e023c Merge branch 'PHP-5.5' into PHP-5.6 2015-02-12 11:28:30 +08:00
Xinchen Hui c2062ca470 Added test for #69017 2015-02-12 11:28:16 +08:00
Xinchen Hui 6fc575ab1c Merge branch 'PHP-5.6' 2015-02-12 11:20:35 +08:00
Xinchen Hui 7062465be0 Merge branch 'PHP-5.5' into PHP-5.6 2015-02-12 10:59:59 +08:00
Xinchen Hui f2940b7120 Fixed bug #69017 (Fail to push to the empty array with the constant value defined in class scope) 2015-02-12 10:59:28 +08:00
Lior Kaplan ee9a899114 Merge branch 'PHP-5.6'
* PHP-5.6:
  Add missing NEWS entry for revert of bug #41631
  Add CVE ID to bug #68676
  Align email format for recent NEWS entries
  Bug #55508 was fixed in 5.5.19 with 15ba757a, not in 5.5.18
  Add missing NEWS entry for revert of bug #41631
  Add missing NEWS entry for bug #68027
  Align format for bug #68799
  Bug #68361 was fixed in 5.5.20 using 327d4f9a, not in 5.5.19
  Bug #55618 was fixed in 5.5.21 using eaf107c0
  Add security bugs fixed in 5.5.18
  Add CVE ID to bug #68676
  Align email format for recent NEWS entries
2015-02-11 22:41:52 +02:00
Lior Kaplan 047803268c Align format to Fixed bug #... , later used to create the website changelog 2015-02-11 22:41:24 +02:00
Lior Kaplan c741faf4bb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Bug #55508 was fixed in 5.5.19 with 15ba757a, not in 5.5.18
  Add missing NEWS entry for revert of bug #41631
  Add missing NEWS entry for bug #68027
  Align format for bug #68799
  Bug #68361 was fixed in 5.5.20 using 327d4f9a, not in 5.5.19
  Bug #55618 was fixed in 5.5.21 using eaf107c0
  Add security bugs fixed in 5.5.18
  Add CVE ID to bug #68676
  Align email format for recent NEWS entries
2015-02-11 22:30:48 +02:00
Dmitry Stogov a75d1d99b4 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  add missing test for class member access with deference relates to https://wiki.php.net/rfc/uniform_variable_syntax
  fix dir separator in test
2015-02-11 17:41:52 +03:00
Dmitry Stogov 35aea97e42 Fixed bug #69025 (Invalid read of size 4 when calling __callStatic) 2015-02-11 17:41:21 +03:00
Márcio Almada 1849546ada add missing test for class member access with deference
relates to https://wiki.php.net/rfc/uniform_variable_syntax
2015-02-11 15:23:20 +01:00
Anatol Belski 2895912756 fix dir separator in test 2015-02-11 15:10:48 +01:00
Lior Kaplan 701a5f9de9 Add missing NEWS entry for revert of bug #41631 2015-02-11 14:02:55 +02:00
Lior Kaplan b17e2b8214 Add CVE ID to bug #68676 2015-02-11 14:01:55 +02:00
Lior Kaplan 27d6cf4860 Align email format for recent NEWS entries 2015-02-11 14:01:16 +02:00
Lior Kaplan e6d8bad618 Bug #55508 was fixed in 5.5.19 with 15ba757a, not in 5.5.18
See https://github.com/php/php-src/pull/631#issuecomment-61969527
2015-02-11 13:20:44 +02:00
Lior Kaplan 1ebf6fba42 Add missing NEWS entry for revert of bug #41631 2015-02-11 13:15:18 +02:00
Lior Kaplan b582aa9a44 Add missing NEWS entry for bug #68027 2015-02-11 13:13:03 +02:00
Lior Kaplan bb16a6b2c2 Align format for bug #68799 2015-02-11 13:11:55 +02:00
Lior Kaplan f0b329df50 Bug #68361 was fixed in 5.5.20 using 327d4f9a, not in 5.5.19 2015-02-11 13:08:19 +02:00
Lior Kaplan 7bcf62a05b Bug #55618 was fixed in 5.5.21 using eaf107c0 2015-02-11 13:04:32 +02:00
Anatol Belski 52f5cb914e fix incompatible pointer type 2015-02-11 12:03:35 +01:00
Anatol Belski 61d85cedd5 fix values for gid and uid
As stated by MSDN, these fields are always set to zero
2015-02-11 11:46:31 +01:00
Anatol Belski e6bf9b45dd silence unused variable warning 2015-02-11 11:46:30 +01:00
Anatol Belski 12a42433b2 remove useless condition 2015-02-11 11:46:29 +01:00
Anatol Belski 67d94d1465 fix uninitialized value warn 2015-02-11 11:46:28 +01:00
Lior Kaplan 0d68d0a69b Add security bugs fixed in 5.5.18 2015-02-11 12:02:39 +02:00
Lior Kaplan e06da17931 Add CVE ID to bug #68676 2015-02-11 12:00:19 +02:00
Lior Kaplan e7c7788e20 Align email format for recent NEWS entries 2015-02-11 11:05:02 +02:00
Xinchen Hui 63c923e3e1 Forget this change 2015-02-11 16:06:47 +08:00
Xinchen Hui 4f1fc31e16 Expose zend_string_equals_str_ci 2015-02-11 16:05:20 +08:00
Dmitry Stogov 0053b4e899 Fixed possible memory leak 2015-02-11 09:39:38 +03:00
Bob Weinand 4cd3995475 Add a constant of type CONST_PERSISTENT to test 2015-02-10 22:53:50 +01:00
Bob Weinand 2b3bebfa4c Revert removal of two ReflectionParameter functions
Rather fix them for now by exempting function parameter defaults from *any* (non-ct) constant substitution (also from persistent constant substitution, which was already broken before)
2015-02-10 22:20:53 +01:00
Dmitry Stogov 087102c6d3 Don't convert options in-place. They may be elements of constant array. 2015-02-11 00:02:45 +03:00
Anatol Belski 993727031f Merge branch 'PHP-5.6'
* PHP-5.6:
  fix dir separator in test
2015-02-10 16:59:48 +01:00
Anatol Belski 4d8db154ad Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix dir separator in test
2015-02-10 16:59:22 +01:00
Anatol Belski bc3e88b9af fix dir separator in test 2015-02-10 16:58:59 +01:00
Dmitry Stogov d6bea5bb1e Fixed use after free on the following code
sapi/cli/php -r 'function hello(string $world) : string { var_dump(bin2hex($world)); return $world; } echo "foo" . hello(6) . "\n";'
2015-02-10 15:51:16 +00:00
Andrea Faulds b5513cdb69 Add scalar return types test 2015-02-10 15:48:10 +00:00
Andrea Faulds 0294485164 Prevent "undefined variable opline" errors 2015-02-10 15:48:09 +00:00
Andrea Faulds 5a7ac0fade Implement per-file strictness for scalar return types 2015-02-10 15:48:09 +00:00
Andrea Faulds 44ed070a9a Fix Gd usages of ZEND_WRONG_PARAM_COUNT, add usage note 2015-02-10 15:48:09 +00:00
Andrea Faulds 6b6b2b4b7c Implement scalar return types (strict only for now) 2015-02-10 15:48:09 +00:00
Andrea Faulds c7719ab4e5 Refactor typehint lookup 2015-02-10 15:48:08 +00:00
Andrea Faulds cbbaea08da Fix merge error 2015-02-10 15:48:08 +00:00
Andrea Faulds 0af3b7c017 Test behaviour of weak type hints with references 2015-02-10 15:48:08 +00:00
Andrea Faulds 187a95f8d3 Test nested strict/weak function calls 2015-02-10 15:48:08 +00:00
Andrea Faulds c6e8048138 Fix fix 2015-02-10 15:48:08 +00:00
Andrea Faulds 17b3707bad Test strict code including weak code and vice-versa 2015-02-10 15:48:07 +00:00
Andrea Faulds 86b0685f55 Prefix zend_wrong_param_count with _ to discourage use 2015-02-10 15:48:07 +00:00
Andrea Faulds 2985944a8a Fix usage of zend_wrong_param_count in ext/mysqli 2015-02-10 15:48:07 +00:00
Andrea Faulds b112c13a41 Test strict code calling weak code and vice-versa 2015-02-10 15:48:07 +00:00
Andrea Faulds e1a238670c Shorten syntax to strict_types=1 2015-02-10 15:48:07 +00:00
Andrea Faulds ca4901254b Add strict scalar types test 2015-02-10 15:48:06 +00:00
Andrea Faulds fe663cc404 Partial ZPP strictness implementation 2015-02-10 15:48:06 +00:00
Andrea Faulds 02ec3572d9 Per-file 2015-02-10 15:48:06 +00:00
Andrea Faulds cc01e37e54 It Begins 2015-02-10 15:48:06 +00:00
Andrea Faulds 5544e37231 Inline 2015-02-10 15:48:06 +00:00
Andrea Faulds 1a28ad036e Forbid scalar type hint names for use, class_alias 2015-02-10 15:48:05 +00:00
Andrea Faulds a03af7ff92 Fix class name prohibition to work for namespaced classes, too 2015-02-10 15:48:05 +00:00
Andrea Faulds a13d13429a Refactor scalar type hints implementation per Dmitry's patch 2015-02-10 15:48:05 +00:00
Andrea Faulds d4dd2a9baf Use new names of arg parsing functions 2015-02-10 15:48:05 +00:00
Andrea Faulds 75a225d0d5 Do not make scalar type hints reserved words, merely reserve class name 2015-02-10 15:48:05 +00:00
Andrea Faulds c3c0f531a2 Scalar type hints with ZPP casting rules 2015-02-10 15:48:04 +00:00
Anatol Belski ca9ab1c993 better alignment + support size_t 2015-02-10 16:02:55 +01:00
Bob Weinand 830d3d79b3 Revert "Revert "Improve and generalize class constant substitution""
This reverts commit 400e65e955.

Removing ReflectionParameter::getDefaultValueConstantName() and isDefaultValueConstant()
They become useless with such optimizations and already anyway are (e.g. CONSTANT?:CONSTANT ... yields the constant back without telling isDefaultValueConstant() about it etc.)
2015-02-10 15:47:17 +01:00
Reeze Xia 6c9d75b44d Add missing header inclusion 2015-02-10 22:30:54 +08:00
Dmitry Stogov 94602028f0 Get rid of old HashTable iteration API 2015-02-10 16:59:34 +03:00
Reeze Xia 2b396a8092 Update libmagic.patch to reflect changes made 2015-02-10 20:48:58 +08:00
Dmitry Stogov 1eb4352143 Use new ZEND_HASH_FOREACH_... API. 2015-02-10 15:43:12 +03:00
Anatol Belski 4a875e18fd use portable strtol 2015-02-10 13:06:57 +01:00
Dmitry Stogov 4241a090ad Avoid reallocation in preg_replace() if nothing was replaced 2015-02-10 13:30:25 +03:00
Ferenc Kovacs 0be776b1fe Merge branch 'PHP-5.6'
* PHP-5.6:
  oops, forgot sudo for make install
2015-02-10 11:18:43 +01:00
Ferenc Kovacs 5e1bb07701 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  oops, forgot sudo for make install
2015-02-10 11:18:34 +01:00
Ferenc Kovacs bf9fb65001 oops, forgot sudo for make install 2015-02-10 11:18:19 +01:00
Ferenc Kovacs ae24d24e30 add php7 compatible pear installer built from their stable branch 2015-02-10 10:37:44 +01:00
Ferenc Kovacs f4880774b6 Merge branch 'PHP-5.6'
* PHP-5.6:
  add make install
2015-02-10 10:36:45 +01:00
Ferenc Kovacs ac54df17df Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add make install

Conflicts:
	travis/compile.sh
2015-02-10 10:36:25 +01:00
Ferenc Kovacs a8d001aedf add make install 2015-02-10 10:34:52 +01:00
William Felipe Welter 60d5cdf137 Fixed bug #68638 pg_update() fails to store infinite values
Check if value is "infinity" with strcasestr() to add quotes
2015-02-09 20:35:18 -02:00
Nikhil Vimal 616bf6601c Adding some inline docs/docs cleanup 2015-02-09 05:41:49 -06:00
George Wang 5e3f0f5671 Fixed #68790 (Missing return) 2015-02-07 12:16:54 -05:00
Reeze Xia 49073fcf38 Add zend assert deleted by accident 2015-02-07 19:45:22 +08:00
Reeze Xia 61239e1e8b Let's keep it simple 2015-02-07 19:43:00 +08:00
Reeze Xia d9c28c5581 Improve internal function return types checking for parent
Previously the checking was against 'self', 'parent' need
to be checked as user land declearation as well.

This also add two missing test cases.
2015-02-07 14:19:56 +08:00
William Felipe Welter bb3a81c4b4 Fixed bug #68638 pg_update() fails to store infinite values.
Add quotes only if "infinity" values are received.
2015-02-07 01:26:12 -02:00
William Felipe Welter b64f149176 Test case Bug #68638 pg_update() fails to store infinite values 2015-02-05 13:19:52 -02:00
William Felipe Welter cb3833a3be Fixed bug #68638 pg_update() fails to store infinite values.
Regex to check float values changed to accept "infinity" values
and ignore case. Quotes are added to prevent syntax error on
PostgreSQL.
2015-02-03 22:47:05 -02:00
Dejan Marjanovic 836dcb1da7 Rename __callstatic (internal name) to __callStatic (userland name) in error message 2015-02-03 17:04:52 +01:00
Andrea Faulds d8b7a4480b Fix associativity to match Perl 2015-01-29 17:56:09 +00:00
Andrea Faulds 797dee59cd Blast off to space. 2015-01-29 17:56:09 +00:00
Danack 92e11f22c5 Fix freeing null segfault. Added test for behaviour. 2015-01-06 22:09:13 +00:00
Tjerk Meesters fcb1ab1b0e Revert "Revert "Updated UPGRADING for ext/ereg removal""
This reverts commit 98b8050433.
2014-09-11 19:26:18 +08:00
Tjerk Meesters 18fa07e68f Revert "Revert "Removing ext/ereg and dependencies""
This reverts commit 1981dd9c73.
2014-09-11 19:25:42 +08:00
Rouven Weßling 7e43b4f908 Remove unused code from ext/json. 2014-03-30 18:06:39 +02:00
Rouven Weßling aee6344e24 Add ZEND_ARG_CALLABLE_INFO to allow internal function to type hint against callable. 2014-01-25 00:04:50 +01:00
3245 changed files with 265940 additions and 285008 deletions

No files matched your search

+4 -4
View File
@@ -101,7 +101,7 @@ define dump_bt
____print_str $zvalue->value.str->val $zvalue->value.str->len
end
if $type == 7
printf "array(%d)[%p]", $zvalue->value.arr->ht->nNumOfElements, $zvalue
printf "array(%d)[%p]", $zvalue->value.arr->nNumOfElements, $zvalue
end
if $type == 8
printf "object[%p]", $zvalue
@@ -152,8 +152,8 @@ define ____printzv_contents
set $type = $zvalue->u1.v.type
# 15 == IS_INDIRECT
if $type >= 5 && $type != 15
printf "(refcount=%d) ", $zvalue->value.counted->refcount
if $type > 5 && $type != 15
printf "(refcount=%d) ", $zvalue->value.counted->gc.refcount
end
if $type == 0
@@ -181,7 +181,7 @@ define ____printzv_contents
printf "array: "
if ! $arg1
set $ind = $ind + 1
____print_ht &$zvalue->value.arr->ht 1
____print_ht $zvalue->value.arr 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
+4 -2
View File
@@ -21,6 +21,9 @@
*.tar.gz
*.tar.bz2
*.tar.xz
*.tar.gz.asc
*.tar.bz2.asc
*.tar.xz.asc
.FBCIndex
.FBCLockFolder
.deps
@@ -188,6 +191,7 @@ ext/iconv/php_have_glibc_iconv.h
ext/iconv/php_php_iconv_impl.h
ext/iconv/php_have_iconv.h
ext/iconv/php_iconv_supports_errno.h
ext/iconv/php_iconv_broken_ignore.h
ext/mbstring/libmbfl/Makefile.in
ext/mbstring/libmbfl/autoscan.log
ext/mbstring/libmbfl/config.sub
@@ -284,5 +288,3 @@ win32/*.positions
win32/ext
win32/phpts.def
win32/wsyslog.h
win32/win32.dsp
win32/php.dsw
+8 -6
View File
@@ -1,12 +1,15 @@
language: c
branches:
except:
- phpng
notifications:
email:
on_failure: change
irc:
template:
- "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message} - Change view : %{compare_url} - Build details : %{build_url}"
channels:
- "irc.efnet.org#php.pecl"
on_success: change
on_failure: always
cache:
- apt
@@ -44,5 +47,4 @@ before_script:
# Run PHPs run-tests.php
script:
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --set-timeout 120
- ./sapi/cli/php sapi/phpdbg/tests/run-tests.php -diff2stdout --phpdbg sapi/phpdbg/phpdbg
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 1 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --set-timeout 120
+73
View File
@@ -0,0 +1,73 @@
# Contributing to PHP
Anybody who programs in PHP can be a contributing member of the community that
develops and deploys it; the task of deploying PHP, documentation and
associated websites is a never ending one. With every release, or release
candidate comes a wave of work, which takes a lot of organization and
co-ordination.
## Pull requests
PHP welcomes pull requests to [add tests](#writing-tests), fix bugs and to
implement RFCs. Please be sure to include tests as appropriate!
If you are fixing a bug, then please submit your PR against the lowest branch
of PHP that the bug affects, or the oldest fully supported version (the first
green branch on
[the supported version page](http://php.net/supported-versions.php). For
example, at the time of writing in mid-2015, this is PHP 5.5, which corresponds
to the `PHP-5.5` branch in Git. Please also make sure you add a link to the PR
in the bug on [the bug tracker](https://bugs.php.net/).
Pull requests to implement RFCs should be submitted against `master`.
## Filing bugs
Bugs can be filed on the [PHP bug tracker](https://bugs.php.net/). If this is
the first time you've filed a bug, we suggest reading the
[guide to reporting a bug](https://bugs.php.net/how-to-report.php).
Where possible, please include a self-contained reproduction case!
## Feature requests
Feature requests are generally submitted in the form of
[Requests for Comment](https://wiki.php.net/rfc/howto), ideally accompanied by
[pull requests](#pull-requests). You can find the extremely large list of RFCs
that have been previously considered on the
[PHP Wiki](https://wiki.php.net/rfc).
You may want to read
[The Mysterious PHP RFC Process](https://blogs.oracle.com/opal/entry/the_mysterious_php_rfc_process)
for additional notes on the best way to approach submitting an RFC.
## Writing tests
We love getting new tests! PHP is a huge project and improving code coverage is
a huge win for every PHP user.
[Our QA site includes a page detailing how to write test cases.](http://qa.php.net/write-test.php)
Please note that the section on submitting pull requests is outdated: in
addition to the process listed there, you can also
[submit pull requests](#pull-requests).
## Writing documentation
There are two ways to contribute to the PHP manual. You can edit the manual and
send patches anonymously via [the online editor](https://edit.php.net/), or you
can check the XML source out from Subversion and edit that and build it
[per the instructions on the documentation site](http://doc.php.net/tutorial/).
Patches created that way should be sent to the
[documentation mailing list](mailto:phpdoc@lists.php.net).
## Getting help
If you are having trouble contributing to PHP, or just want to talk to a human
about what you're working on, you can contact us via the
[internals mailing list](mailto:internals@lists.php.net), or the
[documentation mailing list](mailto:phpdoc@lists.php.net) for documentation
issues.
Although not a formal channel, you can also find a number of core developers on
the #php.pecl channel on [EFnet](http://www.efnet.org/). Similarly, many
documentation writers can be found on #php.doc.
+6 -84
View File
@@ -26,34 +26,12 @@ Status legend
== Server APIs ==
-------------------------------------------------------------------------------
EXTENSION: aolserver
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: apache
PRIMARY MAINTAINER: Rasmus Lerdorf <rasmus@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: apache_hooks
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: apache2filter
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>
MAINTENANCE: Maintained
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: apache2handler
PRIMARY MAINTAINER: Aaron Bannert <aaron@php.net>, Ilia Alshanetsky <iliaa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: caudium
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: cgi
MAINTENANCE: Unknown
STATUS: Working
@@ -63,11 +41,6 @@ MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
EXTENSION: continuity
PRIMARY MAINTAINER: Alex Leigh <aleigh@php.net>
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: embed
PRIMARY MAINTAINER: Edin Kadribasic <edink@php.net>
MAINTENANCE: Maintained
@@ -79,50 +52,15 @@ MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3.3
-------------------------------------------------------------------------------
EXTENSION: isapi
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: litespeed
PRIMARY MAINTAINER: George Wang <gwang@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: milter
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: nsapi
PRIMARY MAINTAINER: Uwe Schindler <thetaphi@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phttpd
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: pi3web
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: roxen
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: thttpd
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tux
MAINTENANCE: Unknown
STATUS: Unknown
-------------------------------------------------------------------------------
EXTENSION: webjames
PRIMARY MAINTAINER: Alex Waugh <alex@alexwaugh.com>
MAINTENANCE: Maintained
STATUS: Experimental
EXTENSION: phpdbg
MAINTENANCE: Joe Watkins <krakjoe@php.net>, Bob Weinand <bwoebi@php.net>
STATUS: 5.6
-------------------------------------------------------------------------------
@@ -140,17 +78,6 @@ PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mssql
PRIMARY MAINTAINER: Frank M. Kromann <fmk@swwwing.com>
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Tested on phpts and isapi versions
-------------------------------------------------------------------------------
EXTENSION: mysql
PRIMARY MAINTAINER: Zak Greant <zak@mysql.com>, Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mysqli
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
MAINTENANCE: Maintained
@@ -235,11 +162,6 @@ STATUS: Working
SINCE: 5.3
COMMENT: Integrates SQLite 3 embeddable SQL database engine.
-------------------------------------------------------------------------------
EXTENSION: sybase_ct
PRIMARY MAINTAINER: Timm Friebe <thekid@thekid.de>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
== XML extensions ==
@@ -401,13 +323,13 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: json
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>, Pierre-Alain Joye <pajoye@php.net>, Côme Bernigaud <mcmic@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
+1 -1
View File
@@ -464,7 +464,7 @@ LoadModule php7_module modules/libphp7.so
Or, if we wanted to allow .php, .php2, .php3, .php4, .php5, .php7,
and .phtml files to be executed as PHP, but nothing else, we'd use
this:
<FilesMatch "\.ph(p[2-6]?|tml)$">
<FilesMatch "\.ph(p[2-7]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
And to allow .phps files to be handled by the php source filter,
+1 -1
View File
@@ -20,4 +20,4 @@ $(srcdir)/zend_ini_parser.c: $(srcdir)/zend_ini_parser.y
$(srcdir)/zend_ini_scanner.c: $(srcdir)/zend_ini_scanner.l
@(cd $(top_srcdir); $(RE2C) $(RE2C_FLAGS) --no-generation-date --case-inverted -cbdFt Zend/zend_ini_scanner_defs.h -oZend/zend_ini_scanner.c Zend/zend_ini_scanner.l)
$(builddir)/zend_indent.lo $(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
$(builddir)/zend_highlight.lo $(builddir)/zend_compile.lo: $(srcdir)/zend_language_parser.h
+14 -1
View File
@@ -130,5 +130,18 @@ distclean: clean
fi
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
.PHONY: all clean install distclean test
prof-gen:
CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-generate all
prof-clean:
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
prof-use:
CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-use all
.PHONY: all clean install distclean test prof-gen prof-clean prof-use
.NOEXPORT:
+748 -54
View File
@@ -1,59 +1,690 @@
PHP NEWS
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 20??, PHP 7.0.0
29 Oct 2015, PHP 7.0.0 RC 6
- Core:
. Fixed bug #70748 (Segfault in ini_lex () at Zend/zend_ini_scanner.l).
(Laruence)
. Fixed bug #70689 (Exception handler does not work as expected). (Laruence)
. Fixed bug #70430 (Stack buffer overflow in zend_language_parser()). (Nikita)
. Fixed bug #70782 (null ptr deref and segfault (zend_get_class_fetch_type)).
(Nikita)
. Fixed bug #70785 (Infinite loop due to exception during identical
comparison). (Laruence)
- Opcache:
. Fixed bug #70724 (Undefined Symbols from opcache.so on Mac OS X 10.10).
(Laruence)
- PDO_DBlib:
. Fixed bug #69757 (Segmentation fault on nextRowset).
(miracle at rpz dot name)
- SOAP:
. Fixed bug #70715 (Segmentation fault inside soap client). (Laruence)
. Fixed bug #70709 (SOAP Client generates Segfault). (Laruence)
- SPL:
. Fixed bug #70730 (Incorrect ArrayObject serialization if unset is called
in serialize()). (Laruence)
15 Oct 2015, PHP 7.0.0 RC 5
- Core:
. Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->
getClosure()). (Dmitry, Bob)
. Fixed bug #70662 (Duplicate array key via undefined index error handler).
(Nikita)
. Fixed bug #70681 (Segfault when binding $this of internal instance method
to null). (Nikita)
. Fixed bug #70685 (Segfault for getClosure() internal method rebind with
invalid $this). (Nikita)
- Mcrypt:
. Fixed bug #70625 (mcrypt_encrypt() won't return data when no IV was
specified under RC4). (Nikita)
- Opcache:
. Fixed compatibility with Windows 10 (see also bug #70652). (Anatol)
- Phpdbg:
. Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions). (Bob)
- Reflection:
. Fixed bug #70650 (Wrong docblock assignment). (Marcio)
. Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when used
for internal functions). (Dmitry, Bob)
- Standard:
. Fixed bug #70667 (strtr() causes invalid writes and a crashes). (Dmitry)
. Fixed bug #70668 (array_keys() doesn't respect references when $strict is
true). (Bob, Dmitry)
01 Oct 2015, PHP 7.0.0 RC 4
- Core:
. Added zend_internal_function.reserved[] fields. (Dmitry)
. Fixed bug #70557 (Memleak on return type verifying failed). (Laruence)
. Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW). (Laruence)
. Fixed bug #70548 (Redundant information printed in case of uncaught engine
exception). (Laruence)
. Fixed bug #70547 (unsetting function variables corrupts backtrace).
(Laruence)
. Fixed bug #70528 (assert() with instanceof adds apostrophes around class
name). (Laruence)
. Fixed bug #70481 (Memory leak in auto_global_copy_ctor() in ZTS build).
(Laruence)
- DOM:
. Fixed bug #70558 ("Couldn't fetch" error in
DOMDocument::registerNodeClass()). (Laruence)
- FPM:
. Fixed bug #70538 ("php-fpm -i" crashes). (rainer dot jung at
kippdata dot de)
. Fixed bug #70279 (HTTP Authorization Header is sometimes passed to newer
reqeusts). (Laruence)
- Opcache
. Attmpt to fix "Unable to reattach to base address" problem. (Matt Ficken)
- OpenSSL
. Require at least OpenSSL version 0.9.8. (Jakub Zelenka)
. Fixed bug #68312 (Lookup for openssl.cnf causes a message box). (Anatol)
- Phar:
. Fixed bug #69720 (Null pointer dereference in phar_get_fp_offset()). (Stas)
. FIxed bug #70433 (Uninitialized pointer in phar_make_dirstream when zip
entry filename is "/"). (Stas)
- Phpdbg:
. Fixed bug #70532 (phpdbg must respect set_exception_handler). (Bob)
. Fixed bug #70531 (Run and quit mode (-qrr) should not fallback to
interactive mode). (Bob)
. Fixed bug #70533 (Help overview (-h) does not rpint anything under Windows).
(Anatol)
- Session:
. Fixed bug #70529 (Session read causes "String is not zero-terminated" error).
(Yasuo)
- SQLite3:
. Fixed bug #70571 (Memory leak in sqlite3_do_callback). (Adam)
-SPL:
. Fixed bug #70573 (Cloning SplPriorityQueue leads to memory leaks). (Dmitry)
- XMLRPC
. Fixed bug #70526 (xmlrpc_set_type returns false on success). (Laruence)
- XSL:
. Fixed bug #70535 (XSLT: free(): invalid pointer). (Laruence)
17 Sep 2015, PHP 7.0.0 RC 3
- Core:
. Fixed bug #70431 (Memory leak in php_ini.c). (Senthil, Laruence)
. Fixed bug #70478 (**= does no longer work). (Bob)
- CLI server:
. Fixed bug #68291 (404 on urls with '+'). (cmb)
- DOM:
. Fixed bug #70001 (Assigning to DOMNode::textContent does additional entity
encoding). (cmb)
- Intl:
. Fixed bug #70453 (IntlChar::foldCase() incorrect arguments and missing
constants). (cmb)
. Fixed bug #70454 (IntlChar::forDigit second parameter should be optional).
(cmb, colinodell)
- Mysqlnd:
. Fixed bug #70384 (mysqli_real_query():Unknown type 245 sent by the server).
(Andrey)
. Fixed bug #70456 (mysqlnd doesn't activate TCP keep-alive when connecting to
a server). (Sergei Turchanov)
. Fixed bug #70572 segfault in mysqlnd_connect. (Andrey, Remi)
- Opcache:
. Fixed bug #70423 (Warning Internal error: wrong size calculation). (Anatol)
- OpenSSL
. Fixed bug #55259 (openssl extension does not get the DH parameters from
DH key resource). (Jakub Zelenka)
. Fixed bug #70395 (Missing ARG_INFO for openssl_seal()). (cmb)
. Fixed bug #60632 (openssl_seal fails with AES). (Jakub Zelenka)
. Implemented FR #70438 (Add IV parameter for openssl_seal and openssl_open)
(Jakub Zelenka)
- Phpdbg:
. Fixed bug #70449 (PHP won't compile on 10.4 and 10.5 because of missing
constants). (Bob)
- Session:
. Fixed bug #70013 (Reference to $_SESSION is lost after a call to
session_regenerate_id()). (Yasuo)
- Standard:
. Implemented the RFC `Random Functions Throwing Exceptions in PHP 7`.
(Sammy Kaye Powers, Anthony)
. Fixed bug #70487 (pack('x') produces an error). (Nikita)
- Streams:
. Fixed bug #70361 (HTTP stream wrapper doesn't close keep-alive connections).
(Niklas Keller)
- XMLReader:
. Fixed bug #70309 (XmlReader read generates extra output). (Anatol)
- Zip:
. Fixed bug #70322 (ZipArchive::close() doesn't indicate errors). (cmb)
03 Sep 2015, PHP 7.0.0 RC 2
- Core:
. Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex).
(Dmitry, Bob, Laruence)
. Fixed bug #70332 (Wrong behavior while returning reference on object).
(Laruence, Dmitry)
. Fixed bug #70300 (Syntactical inconsistency with new group use syntax).
(marcio dot web2 at gmail dot com)
. Fixed bug #70321 (Magic getter breaks reference to array property).
(Laruence)
. Fixed bug #70187 (Notice: unserialize(): Unexpected end of serialized
data). (Dmitry)
. Fixed bug #70145 (From field incorrectly parsed from headers). (Anatol)
. Fixed bug #70370 (Bundled libtool.m4 doesn't handle FreeBSD 10 when
building extensions). (Adam)
. Fixed bug causing exception traces with anon classes to be truncated. (Bob)
. Fixed bug #70397 (Segmentation fault when using Closure::call and yield).
(Bob)
- Curl:
. Fixed bug #70330 (Segmentation Fault with multiple "curl_copy_handle").
(Laruence)
- EXIF:
. Fixed bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte
value of 32 bytes). (Stas)
- GMP:
. Fixed bug #70284 (Use after free vulnerability in unserialize() with GMP).
(stas)
- hash:
. Fixed bug #70312 (HAVAL gives wrong hashes in specific cases). (letsgolee
at naver dot com)
- Mysqli:
. Fixed bug #32490 (constructor of mysqli has wrong name). (cmb)
- Pcntl:
. Fixed bug #70386 (Can't compile on NetBSD because of missing WCONTINUED
and WIFCONTINUED). (Matteo)
- PCRE:
. Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string
match). (cmb)
. Fixed bug #70345 (Multiple vulnerabilities related to PCRE functions).
(Anatol Belski)
- PDO:
. Fixed bug #70389 (PDO constructor changes unrelated variables). (Laruence)
- PDO_OCI:
. Fixed bug #70308 (PDO::ATTR_PREFETCH is ignored). (Chris Jones)
- SOAP:
. Fixed bug #70388 (SOAP serialize_function_call() type confusion / RCE).
(Stas)
- SPL:
. Fixed bug #70303 (Incorrect constructor reflection for ArrayObject). (cmb)
- Standard:
. Fixed bug #70342 (changing configuration with ignore_user_abort(true) isn't
working). (Laruence)
. Fixed bug #70295 (Segmentation fault with setrawcookie). (Bob)
. Fixed bug #67131 (setcookie() conditional for empty values not met). (cmb)
. Fixed bug #70365 (Use-after-free vulnerability in unserialize() with
SplObjectStorage). (taoguangchen at icloud dot com)
. Fixed bug #70366 (Use-after-free vulnerability in unserialize() with
SplDoublyLinkedList). (taoguangchen at icloud dot com)
- Reflection:
. Fixed bug causing bogus traces for ReflectionGenerator::getTrace(). (Bob)
- XSLT:
. Fixed bug #69782 (NULL pointer dereference). (Stas)
- ZIP:
. Fixed bug #70350 (ZipArchive::extractTo allows for directory traversal when
creating directories). (neal at fb dot com)
20 Aug 2015, PHP 7.0.0 RC 1
- Core:
. Fixed bug #70299 (Memleak while assigning object offsetGet result).
(Laruence)
. Fixed bug #70288 (Apache crash related to ZEND_SEND_REF). (Laruence)
. Fixed bug #70262 (Accessing array crashes PHP 7.0beta3).
(Laruence, Dmitry)
. Fixed bug #70258 (Segfault if do_resize fails to allocated memory).
(Laruence)
. Fixed bug #70253 (segfault at _efree () in zend_alloc.c:1389). (Laruence)
. Fixed bug #70240 (Segfault when doing unset($var());). (Laruence)
. Fixed bug #70223 (Incrementing value returned by magic getter). (Laruence)
. Fixed bug #70215 (Segfault when __invoke is static). (Bob)
. Fixed bug #70207 (Finally is broken with opcache). (Laruence, Dmitry)
. Fixed bug #70173 (ZVAL_COPY_VALUE_EX broken for 32bit Solaris Sparc).
(Laruence, cmb)
. Fixed bug #69487 (SAPI may truncate POST data). (cmb)
. Fixed bug #70198 (Checking liveness does not work as expected).
(Shafreeck Sea, Anatol Belski)
. Fixed bug #70241/#70293 (Skipped assertions affect Generator returns). (Bob)
. Fixed bug #70239 (Creating a huge array doesn't result in exhausted,
but segfault). (Laruence, Anatol)
- CLI server:
. Fixed bug #66606 (Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE).
(wusuopu, cmb)
. Fixed bug #70264 (CLI server directory traversal). (cmb)
- Date:
. Fixed bug #70245 (strtotime does not emit warning when 2nd parameter is
object or string). (cmb)
. Fixed bug #70266 (DateInterval::__construct.interval_spec is not supposed to
be optional). (cmb)
. Fixed bug #70277 (new DateTimeZone($foo) is ignoring text after null byte).
(cmb)
- MCrypt:
. Fixed bug #69833 (mcrypt fd caching not working). (Anatol)
- Opcache:
. Fixed bug #70237 (Empty while and do-while segmentation fault with opcode
on CLI enabled). (Dmitry, Laruence)
- PCRE:
. Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string
match). (cmb)
- PDO:
. Fixed bug #70272 (Segfault in pdo_mysql). (Laruence)
. Fixed bug #70221 (persistent sqlite connection + custom function
segfaults). (Laruence)
- Phpdbg:
. Fixed bug #70214 (FASYNC not defined, needs sys/file.h include). (Bob)
- Standard:
. Fixed bug #70250 (extract() turns array elements to references).
(Laruence)
. Fixed bug #70211 (php 7 ZEND_HASH_IF_FULL_DO_RESIZE use after free).
(Laruence)
. Fixed bug #70208 (Assert breaking access on objects). (Bob)
06 Aug 2015, PHP 7.0.0 Beta 3
- Core:
. Fixed "finally" issues. (Nikita, Dmitry)
. Fixed bug #70098 (Real memory usage doesn't decrease). (Dmitry)
. Fixed bug #70159 (__CLASS__ is lost in closures). (Julien)
. Fixed bug #70156 (Segfault in zend_find_alias_name). (Laruence)
. Fixed bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION).
(Laruence)
. Fixed bug #70117 (Unexpected return type error). (Laruence)
. Fixed bug #70106 (Inheritance by anonymous class). (Bob)
. Fixed bug #69674 (SIGSEGV array.c:953). (cmb)
. Fixed bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined).
(Bob)
. Fixed bug #70108 (sometimes empty $_SERVER['QUERY_STRING']). (Anatol)
. Fixed bug #70179 ($this refcount issue). (Bob)
. Fixed bug #69896 ('asm' operand has impossible constraints). (Anatol)
. Fixed bug #70183 (null pointer deref (segfault) in zend_eval_const_expr).
(Hugh Davenport)
. Fixed bug #70182 (Segfault in ZEND_ASSIGN_DIV_SPEC_CV_UNUSED_HANDLER).
(Hugh Davenport)
. Fixed bug #69793 (Remotely triggerable stack exhaustion via recursive
method calls). (Stas)
. Fixed bug #69892 (Different arrays compare indentical due to integer key
truncation). (Nikita)
. Fixed bug #70121 (unserialize() could lead to unexpected methods execution
/ NULL pointer deref). (Stas)
- Curl:
. Fixed bug #70163 (curl_setopt_array() type confusion). (Laruence)
- IMAP:
. Fixed bug #70158 (Building with static imap fails). (cmb)
. Fixed bug #69998 (curl multi leaking memory). (Pierrick)
- Opcache:
. Fixed bug #70111 (Segfault when a function uses both an explicit return
type and an explicit cast). (Laruence)
- OpenSSL:
. Fixed bug #70014 (openssl_random_pseudo_bytes() is not cryptographically
secure). (Stas)
- Phar:
. Improved fix for bug #69441. (Anatol Belski)
. Fixed bug #70019 (Files extracted from archive may be placed outside of
destination directory). (Anatol Belski)
- Phpdbg:
. Fixed bug #70138 (Segfault when displaying memory leaks). (Bob)
- SOAP:
. Fixed bug #70081 (SoapClient info leak / null pointer dereference via
multiple type confusions). (Stas)
- SPL:
. Fixed bug #70068 (Dangling pointer in the unserialization of ArrayObject
items). (sean.heelan)
. Fixed bug #70166 (Use After Free Vulnerability in unserialize() with
SPLArrayObject). (taoguangchen at icloud dot com)
. Fixed bug #70168 (Use After Free Vulnerability in unserialize() with
SplObjectStorage). (taoguangchen at icloud dot com)
. Fixed bug #70169 (Use After Free Vulnerability in unserialize() with
SplDoublyLinkedList). (taoguangchen at icloud dot com)
- Standard:
. Fixed bug #70140 (str_ireplace/php_string_tolower - Arbitrary Code
Execution). (CVE-2015-6527) (Laruence)
. Implemented FR #70112 (Allow "dirname" to go up various times). (Remi)
. Fixed bug #36365 (scandir duplicates file name at every 65535th file). (cmb)
23 Jul 2015, PHP 7.0.0 Beta 2
- Core:
. Fixed bug #70089 (segfault at ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER ()).
(Laruence)
. Fixed bug #70057 (Build failure on 32-bit Mac OS X 10.6.8: recursive
inlining). (Laruence)
. Fixed bug #70012 (Exception lost with nested finally block). (Laruence)
. Fixed bug #69996 (Changing the property of a cloned object affects the
original). (Dmitry, Laruence)
. Fixed bug #70083 (Use after free with assign by ref to overloaded objects).
(Bob)
- Curl:
. Fixed bug #70065 (curl_getinfo() returns corrupted values). (Anatol)
- GD:
. Fixed bug #53156 (imagerectangle problem with point ordering). (cmb)
. Fixed bug #66387 (Stack overflow with imagefilltoborder). (cmb)
. Fixed bug #70102 (imagecreatefromwebm() shifts colors). (cmb)
. Fixed bug #66590 (imagewebp() doesn't pad to even length). (cmb)
. Fixed bug #66882 (imagerotate by -90 degrees truncates image by 1px). (cmb)
. Fixed bug #70064 (imagescale(..., IMG_BICUBIC) leaks memory). (cmb)
. Fixed bug #69024 (imagescale segfault with palette based image). (cmb)
. Fixed bug #53154 (Zero-height rectangle has whiskers). (cmb)
. Fixed bug #67447 (imagecrop() add a black line when cropping). (cmb)
. Fixed bug #68714 (copy 'n paste error). (cmb)
. Fixed bug #66339 (PHP segfaults in imagexbm). (cmb)
. Fixed bug #70047 (gd_info() doesn't report WebP support). (cmb)
. Replace libvpx with libwebp for bundled libgd. (cmb, Anatol)
- Opcache:
. Fixed bug #70058 (Build fails when building for i386). (Laruence)
. Fixed bug #70022 (Crash with opcache using opcache.file_cache_only=1).
(Anatol)
- Soap:
. Fixed bug #70079 (Segmentation fault after more than 100 SoapClient
calls). (Laruence)
. Fixed bug #70032 (make_http_soap_request calls
zend_hash_get_current_key_ex(,,,NULL). (Laruence)
- SPL:
. Fixed bug #70053 (MutlitpleIterator array-keys incompatible change in
PHP 7). (Tjerk)
- Standard:
. Fixed bug #70096 (Repeated iptcembed() adds superfluous FF bytes). (cmb)
. Fixed bug #70018 (exec does not strip all whitespace). (Laruence)
- Tokenizer:
. Fixed bug #69430 (token_get_all has new irrecoverable errors). (Nikita)
09 Jul 2015, PHP 7.0.0 Beta 1
- Core:
. Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
(Laruence)
. Fixed bug #69521 (Segfault in gc_collect_cycles()).
(arjen at react dot com, Laruence)
. Improved zend_string API (Francois Laupretre)
. Fixed bug #69955 (Segfault when trying to combine [] and assign-op on
ArrayAccess object). (Laruence)
. Fixed bug #69957 (Different ways of handling div/mod/intdiv). (Bob)
. Fixed bug #69900 (Too long timeout on pipes). (Anatol)
- CLI server:
. Fixed bug #69655 (php -S changes MKCALENDAR request method to MKCOL). (cmb)
. Fixed bug #64878 (304 responses return Content-Type header). (cmb)
- COM:
. Fixed bug #69939 (Casting object to bool returns false). (Kalle)
- JSON:
. Fixed bug #62010 (json_decode produces invalid byte-sequences).
(Jakub Zelenka)
- OCI8:
. Corrected oci8 hash destructors to prevent segfaults, and a few other fixes.
(Cameron Porter)
- ODBC:
. Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined
columns). (cmb)
- OpenSSL:
. Fixed bug #69882 (OpenSSL error "key values mismatch" after
openssl_pkcs12_read with extra cert). (Tomasz Sawicki)
- PCRE:
. Fixed bug #53823 (preg_replace: * qualifier on unicode replace garbles the
string). (cmb)
- Session:
. Fixed bug #69952 (Data integrity issues accessing superglobals by
reference). (Bob)
- SPL:
. Fixed bug #69970 (Use-after-free vulnerability in
spl_recursive_it_move_forward_ex()). (Laruence)
- Sqlite3:
. Fixed bug #69972 (Use-after-free vulnerability in
sqlite3SafetyCheckSickOrOk()). (Laruence)
- Standard:
. Fixed bug #69983 (get_browser fails with user agent of null).
(Kalle, cmb, Laruence)
. Fixed bug #69976 (Unable to parse "all" urls with colon char). (cmb)
. Fixed bug #69768 (escapeshell*() doesn't cater to !). (cmb)
25 Jun 2015, PHP 7.0.0 Alpha 2
- Core:
. Fixed bug #69872 (uninitialised value in strtr with array). (Laruence)
. Fixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting).
(Laruence)
. Fixed bug #69849 (Broken output of apache_request_headers). (Kalle)
. Fixed bug #69840 (iconv_substr() doesn't work with UTF-16BE). (Kalle)
. Fixed bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33
extensions are loaded). (Laruence)
. Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name).
(Laruence)
. Fixed bug #69802 (Reflection on Closure::__invoke borks type hint class
name). (Dmitry)
. Fixed bug #69761 (Serialization of anonymous classes should be prevented).
(Laruence)
. Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation
fault). (Christoph M. Becker)
. Fixed bug #69781 (phpinfo() reports Professional Editions of Windows
7/8/8.1/10 as "Business"). (Christian Wenz)
. Fixed bug #69835 (phpinfo() does not report many Windows SKUs).
(Christian Wenz)
. Fixed bug #69889 (Null coalesce operator doesn't work for string offsets).
(Nikita)
. Fixed bug #69891 (Unexpected array comparison result). (Nikita)
. Fixed bug #69892 (Different arrays compare indentical due to integer key
truncation). (Nikita)
. Fixed bug #69893 (Strict comparison between integer and empty string keys
crashes). (Nikita)
- Curl:
. Fixed bug #69831 (Segmentation fault in curl_getinfo). (im dot denisenko at
yahoo dot com)
- DOM:
. Fixed bug #69846 (Segmenation fault (access violation) when iterating over
DOMNodeList). (Anatol Belski)
- GD:
. Fixed bug #61221 (imagegammacorrect function loses alpha channel). (cmb)
- JSON:
. Fixed bug #68546 (json_decode() Fatal error: Cannot access property
started with '\0'). (Jakub Zelenka)
- mysqlnd:
. Fixed Bug #69796 (mysqli_stmt::fetch doesn't assign null values to
bound variables). (Laruence)
- Opcache:
. Removed opcache.load_comments configuration directive. Now doc comments
loading costs nothing and always enabled. (Dmitry)
. Fixed bug #69838 (Wrong size calculation for function table). (Anatol)
- PCRE:
. Fixed bug #69864 (Segfault in preg_replace_callback). (cmb, ab)
- PDO_pgsql:
. Fixed bug #69752 (PDOStatement::execute() leaks memory with DML
Statements when closeCuror() is u). (Philip Hofstetter)
- SPL:
. Fixed bug #69845 (ArrayObject with ARRAY_AS_PROPS broken). (Dmitry)
- SQLite3:
. Fixed bug #69897 (segfault when manually constructing SQLite3Result).
(Kalle)
- Standard:
. Fixed bug #62922 (Truncating entire string should result in string).
(Nikita)
11 Jun 2015, PHP 7.0.0 Alpha 1
- Core:
. Fixed bug #69767 (Default parameter value with wrong type segfaults).
(cmb, Laruence)
. Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency
? with ===). (Dmitry, Laruence)
. Fixed bug #69758 (Item added to array not being removed by array_pop/shift
). (Laruence)
. Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method').
(Julien, Aaron Piotrowski)
. Fixed bug #69485 (Double free on zend_list_dtor). (Laruence)
. Fixed bug #69427 (Segfault on magic method __call of private method in
superclass). (Laruence)
. Improved __call() and __callStatic() magic method handling. Now they are
called in a stackless way using ZEND_CALL_TRAMPOLINE opcode, without
additional stack frame. (Laruence, Dmitry)
. Optimized strings concatenation. (Dmitry, Laruence)
. Fixed weird operators behavior. Division by zero now emits warning and
returns +/-INF, modulo by zero and intdid() throws an exception, shifts
by negative offset throw exceptions. Compile-time evaluation of division
by zero is disabled. (Dmitry, Andrea, Nikita)
. Fixed bug #69371 (Hash table collision leads to inaccessible array keys).
(Laruence)
. Fixed bug #68933 (Invalid read of size 8 in zend_std_read_property).
(Laruence, arjen at react dot com)
. Fixed bug #68252 (segfault in Zend/zend_hash.c in function
_zend_hash_del_el). (Laruence)
. Fixed bug #65598 (Closure executed via static autoload incorrectly marked as
static). (Nikita)
. Fixed bug #66811 (Cannot access static::class in lambda, writen outside of a
class). (Nikita)
. Fixed bug #69568 (call a private function in closure failed). (Nikita)
. Added PHP_INT_MIN constant. (Andrea)
. Added Closure::call() method. (Andrea)
. Fixed bug #67959 (Segfault when calling phpversion('spl')). (Florian)
. Implemented the RFC `Catchable "Call to a member function bar() on a
non-object"`. (Timm)
. Added options parameter for unserialize allowing to specify acceptable
classes (https://wiki.php.net/rfc/secure_unserialize). (Stas)
. Fixed bug #63734 (Garbage collector can free zvals that are still
referenced). (Dmitry)
. Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class
modifier. (Guilherme Blanco)
. is_long() & is_integer() is now an alias of is_int(). (Kalle)
. Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes). (Kalle)
. Added ?? operator. (Andrea)
. Added <=> operator. (Andrea)
. Added \u{xxxxx} Unicode Codepoint Escape Syntax. (Andrea)
. Fixed oversight where define() did not support arrays yet const syntax did.
(Andrea, Dmitry)
. Use "integer" and "float" instead of "long" and "double" in ZPP, type hint
and conversion error messages. (Andrea)
. Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output
buffering handler). (Kalle)
. Removed scoped calls of non-static methods from an incompatible $this
context. (Nikita)
. Removed support for #-style comments in ini files. (Nikita)
. Removed support for assigning the result of new by reference. (Nikita)
. Invalid octal literals in source code now produce compile errors, fixes
PHPSadness #31. (Andrea)
. Removed dl() function on fpm-fcgi. (Nikita)
. Removed support for hexadecimal numeric strings. (Nikita)
. Removed obsolete extensions and SAPIs. See the full list in UPGRADING. (Anatol)
. Added NULL byte protection to exec, system and passthru. (Yasuo)
. Added error_clear_last() function. (Reeze Xia)
. Fixed bug #68797 (Number 2.2250738585072012e-308 converted incorrectly).
(Anatol)
. Improved zend_qsort(using hybrid sorting algo) for better performance,
and also renamed zend_qsort to zend_sort. (Laruence)
. Added stable sorting algo zend_insert_sort. (Laruence)
. Improved zend_memnchr(using sunday algo) for better performance. (Laruence)
. Implemented the RFC `Scalar Type Decalarations v0.5`. (Anthony)
. Implemented the RFC `Group Use Declarations`. (Marcio)
. Implemented the RFC `Continue Output Buffering`. (Mike)
. Implemented the RFC `Constructor behaviour of internal classes`. (Dan, Dmitry)
. Implemented the RFC `Fix "foreach" behavior`. (Dmitry)
. Implemented the RFC `Generator Delegation`. (Bob)
. Implemented the RFC `Anonymous Class Support`. (Joe, Nikita, Dmitry)
. Implemented the RFC `Context Sensitive Lexer`. (Marcio Almada)
. Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink).
(Jan Starke, Anatol)
- CLI server:
. Refactor MIME type handling to use a hash table instead of linear search.
(Adam)
. Update the MIME type list from the one shipped by Apache HTTPD. (Adam)
- Core:
. Fixed #68933 (Invalid read of size 8 in zend_std_read_property).
(Laruence, arjen at react dot com)
. Fixed #68868 (Segfault in clean_non_persistent_constants() in SugarCRM
6.5.20). (Laruence)
. Fixed bug #68104 (Segfault while pre-evaluating a disabled function).
(Laruence)
. Fixed bug #68252 (segfault in Zend/zend_hash.c in function
_zend_hash_del_el). (Laruence)
. Added PHP_INT_MIN constant. (Andrea)
. Added Closure::call() method. (Andrea)
. Implemented FR #38409 (parse_ini_file() looses the type of booleans). (Tjerk)
. Fixed #67959 (Segfault when calling phpversion('spl')). (Florian)
. Implemented the RFC `Catchable "Call to a member function bar() on a
non-object"`. (Timm)
. Added options parameter for unserialize allowing to specify acceptable
classes (https://wiki.php.net/rfc/secure_unserialize). (Stas)
. Fixed bug #68185 ("Inconsistent insteadof definition."- incorrectly triggered). (Julien)
. Fixed bug #65419 (Inside trait, self::class != __CLASS__). (Julien)
. Fixed bug #65576 (Constructor from trait conflicts with inherited
constructor). (dunglas at gmail dot com)
. Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class
modifier. (Guilherme Blanco)
. is_long() & is_integer() is now an alias of is_int(). (Kalle)
. Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes). (Kalle)
. Fixed bug #55415 (php_info produces invalid anchor names). (Kalle, Johannes)
. Added ?? operator. (Andrea)
. Added \u{xxxxx} Unicode Codepoint Escape Syntax. (Andrea)
. Fixed oversight where define() did not support arrays yet const syntax did. (Andrea, Dmitry)
. Use "integer" and "float" instead of "long" and "double" in ZPP, type hint and conversion error messages. (Andrea)
. Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output buffering handler). (Kalle)
. Removed scoped calls of non-static methods from an incompatible $this
context. (Nikita)
. Removed support for #-style comments in ini files. (Nikita)
. Removed support for assigning the result of new by reference. (Nikita)
. Invalid octal literals in source code now produce compile errors, fixes PHPSadness #31. (Andrea)
. Removed dl() function on fpm-fcgi. (Nikita)
. Removed support for hexadecimal numeric strings. (Nikita)
. Removed obsolete extensions and SAPIs. See the full list in UPGRADING. (Anatol)
. Added support for SEARCH WebDav method. (Mats Lindh)
- Curl:
. Fixed bug #68937 (Segfault in curl_multi_exec). (Laruence)
. Removed support for unsafe file uploads. (Nikita)
- Date:
. Fixed day_of_week function as it could sometimes return negative values
internally. (Derick)
. Removed $is_dst parameter from mktime() and gmmktime(). (Nikita)
. Removed date.timezone warning
(https://wiki.php.net/rfc/date.timezone_warning_removal). (Bob)
. Added "v" DateTime format modifier to get the 3-digit version of fraction
of seconds. (Mariano Iglesias)
. Implemented FR #69089: Added DateTime::RFC3339_EXTENDED to output in
RFC3339 Extended format which includes fraction of seconds. (Mariano
Iglesias)
- DBA:
. Fixed bug #62490 (dba_delete returns true on missing item (inifile)). (Mike)
@@ -64,6 +695,7 @@
- GD:
. Made fontFetch's path parser thread-safe. (Sara)
. Removed T1Lib support. (Kalle)
- Fileinfo:
. Fixed bug #66242 (libmagic: don't assume char is signed). (ArdB)
@@ -72,35 +704,62 @@
. New FILTER_VALIDATE_DOMAIN and better RFC conformance for FILTER_VALIDATE_URL. (Kevin Dunglas)
- FPM:
. Fixed bug #68945 (Unknown admin values segfault pools) (Laruence)
. Fixed bug #68945 (Unknown admin values segfault pools). (Laruence)
. Fixed bug #65933 (Cannot specify config lines longer than 1024 bytes). (Chris Wright)
. Implement request #67106 (Split main fpm config). (Elan Ruusamäe, Remi)
- JSON
- FTP:
. Fixed bug #69082 (FTPS support on Windows). (Anatol)
- Intl:
. Removed deprecated aliases datefmt_set_timezone_id() and
IntlDateFormatter::setTimeZoneID(). (Nikita)
- JSON:
. Replace non-free JSON parser with a parser from Jsond extension, fixes #63520
(JSON extension includes a problematic license statement). (Jakub Zelenka)
. Fixed bug #68938 (json_decode() decodes empty string without error).
(jeremy at bat-country dot us)
- LDAP:
. Fixed bug #47222 (Implement LDAP_OPT_DIAGNOSTIC_MESSAGE). (Andreas Heigl)
- LiteSpeed:
. Updated LiteSpeed SAPI code from V5.5 to V6.6. (George Wang)
- libxml:
. Fixed handling of big lines in error messages with libxml >= 2.9.0.
(Christoph M. Becker)
- Mcrypt:
. Fixed possible read after end of buffer and use after free. (Dmitry)
. Removed mcrypt_generic_end() alias. (Nikita)
. Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb(). (Nikita)
- Opcache:
. Fixed bug #69688 (segfault with eval and opcache fast shutdown).
(Laruence)
. Added experimental (disabled by default) file based opcode cache.
(Dmitry, Laruence, Anatol)
. Fixed bug with try blocks being removed when extended_info opcode
generation is turned on. (Laruence)
. Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8
+ Opcache). (Laruence)
- OpenSSL:
. Fix bug #61285, #68329, #68046, #41631: encrypted streams don't observe
socket timeouts (Brad Broerman)
. Added "alpn_protocols" SSL context option allowing encrypted client/server
streams to negotiate alternative protocols using the ALPN TLS extension when
built against OpenSSL 1.0.2 or newer. Negotiated protocol information is
accessible through stream_get_meta_data() output.
. Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic
detection or the "peer_name" option instead. (Nikita)
- pcntl:
. Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler
when setting SIG_DFL). (Julien)
. Request #68505 (Added wifcontinued and wcontinued). (xilon-jul)
. Added rusage support to pcntl_wait() and pcntl_waitpid(). (Anton Stepanenko,
Tony)
- PCRE:
. Removed support for the /e (PREG_REPLACE_EVAL) modifier. (Nikita)
@@ -113,31 +772,47 @@
. Fixed bug #68424 (Add new PDO mysql connection attr to control multi
statements option). (peter dot wolanin at acquia dot com)
- Reflection
- PDO_pgsql:
. Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
ATTR_EMULATE_PREPARES). (Nikita)
- Reflection:
. Fixed inheritance chain of Reflector interface. (Tjerk)
. Added ReflectionGenerator class. (Bob)
. Added reflection support for return types and type declarations. (Sara,
Matteo)
- Session:
. Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
. Fixed bug #68941 (mod_files.sh is a bash-script) (bugzilla at ii.nl, Yasuo)
. Fixed bug #68941 (mod_files.sh is a bash-script). (bugzilla at ii.nl, Yasuo)
- SOAP:
. Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes).
(Laruence)
. Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes). (Laruence)
- SPL:
. Changed ArrayIterator implementation using zend_hash_iterator_... API.
Allowed modification of iterated ArrayObject using the same behavior
as proposed in `Fix "foreach" behavior`. Removed "Array was modified
outside object and internal position is no longer valid" hack. (Dmitry)
. Implemented #67886 (SplPriorityQueue/SplHeap doesn't expose extractFlags
nor curruption state). (Julien)
. Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME
breaks the RecursiveIterator). (Paul Garvin)
. Fixed bug #68479 (Added escape parameter to SplFileObject::fputcsv). (Salathe)
- Sqlite3:
. Fix bug #68260 (SQLite3Result::fetchArray declares wrong
- SQLite3:
. Fixed bug #68260 (SQLite3Result::fetchArray declares wrong
required_num_args). (Julien)
- Standard:
. Fixed bug #69723 (Passing parameters by reference and array_column).
(Laruence)
. Fixed bug #69523 (Cookie name cannot be empty). (Christoph M. Becker)
. Fixed bug #69325 (php_copy_file_ex does not pass the argument).
(imbolk at gmail dot com)
. Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7).
(Laruence)
. Removed call_user_method() and call_user_method_array() functions. (Kalle)
. Fix user session handlers (See rfc:session.user.return-value). (Sara)
. Fixed user session handlers (See rfc:session.user.return-value). (Sara)
. Added intdiv() function. (Andrea)
. Improved precision of log() function for base 2 and 10. (Marc Bennewitz)
. Remove string category support in setlocale(). (Nikita)
@@ -145,6 +820,12 @@
(Nikita)
. Fixed bug #65272 (flock() out parameter not set correctly in windows).
(Daniel Lowrey)
. Added preg_replace_callback_array function. (Wei Dai)
. Deprecated salt option to password_hash. (Anthony)
. Fixed bug #69686 (password_verify reports back error on PHP7 will null
string). (Anthony)
. Added Windows support for getrusage(). (Kalle)
. Removed hardcoded limit on number of pipes in proc_open(). (Tony)
- Streams:
. Fixed bug #68532 (convert.base64-encode omits padding bytes).
@@ -154,5 +835,18 @@
- XSL:
. Fixed bug #64776 (The XSLT extension is not thread safe). (Mike)
. Removed xsl.security_prefs ini option. (Nikita)
- Zlib:
. Added deflate_init(), deflate_add(), inflate_init(), inflate_add()
functions allowing incremental/streaming compression/decompression.
(Daniel Lowrey & Bob Weinand)
- Zip:
. Added ZipArchive::setCompressionName and ZipArchive::setCompressionIndex
methods. (Remi, Cedric Delmas)
. Update bundled libzip to 1.0.1. (Remi, Anatol)
. Fixed bug #67161 (ZipArchive::getStream() returns NULL for certain file).
(Christoph M. Becker)
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
+6 -6
View File
@@ -12,7 +12,7 @@ Collaboration is a Good Thing(tm), and Git lets us do this. Thus, following
some basic rules with regards to Git usage will::
a. Make everybody happier, especially those responsible for maintaining
Git itself.
PHP itself.
b. Keep the changes consistently well documented and easily trackable.
@@ -48,11 +48,11 @@ Currently we have the following branches in use::
PHP-5.6 Is used to release the PHP 5.6.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.5 Is used to release the PHP 5.5.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.5 Is used to release the PHP 5.5.x series. This is an old
stable version and is open for security fixes only.
PHP-5.4 Is used to release the PHP 5.4.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.4 Is used to release the PHP 5.4.x series. This is an old
stable version and is open for security fixes only.
PHP-5.3 This branch is closed.
@@ -67,7 +67,7 @@ Currently we have the following branches in use::
The next few rules are more of a technical nature::
1. All changes should first go to the lowest branch (i.e. 5.4) and then
1. All changes should first go to the lowest branch (i.e. 5.6) and then
get merged up to all other branches. If a change is not needed for
later branches (i.e. fixes for features which where dropped from later
branches) an empty merge should be done.
+1 -1
View File
@@ -59,7 +59,7 @@ Type specifiers
h - array (returned as HashTable*)
H - array or HASH_OF(object) (returned as HashTable*)
l - long (zend_long)
L - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (zend_long)
L - long, limits out-of-range numbers to LONG_MAX/LONG_MIN (zend_long, ZEND_LONG_MAX/ZEND_LONG_MIN)
o - object of any type (zval*)
O - object of specific type given by class entry (zval*, zend_class_entry)
p - valid path (string without null bytes in the middle) and its length (char*, size_t)
+17 -5
View File
@@ -213,12 +213,14 @@ Getting the stable release announced
c. ``$PHP_X_MD5`` array and update all the md5 sums
d. set ``$PHP_X_RC`` to false!
d. ``$PHP_X_SHA256`` array and update all the SHA256 sums
e. Make sure there are no outdated "notes" or edited "date" keys in the
e. set ``$PHP_X_RC`` to false!
f. Make sure there are no outdated "notes" or edited "date" keys in the
``$RELEASES[X][$PHP_X_VERSION]["source"]`` array
f. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
g. if the windows builds aren't ready yet prefix the "windows" key with a dot (".windows")
3. Create the release file (releases/x_y_z.php)
Usually we use the same content as for point 6, but included in php template
@@ -264,9 +266,14 @@ to upgrade.
8. Commit all the changes to their respective git repos
9. Wait an hour or two, then send a mail to php-announce@lists.php.net,
9. Please note down the sha256 and the PGP signature (.asc). These *must* be
included in the release mail.
10. Wait an hour or two, then send a mail to php-announce@lists.php.net,
php-general@lists.php.net and internals@lists.php.net with a text similar to
http://news.php.net/php.internals/17222.
Please make sure that the mail to php-announce@ is its own completely seperate email.
This is to make sure that repiles to the announcement on php-general@ or internals@
will not accidentally hit the php-announce@ mailinglist.
Re-releasing the same version (or -pl)
--------------------------------------
@@ -283,7 +290,9 @@ Re-releasing the same version (or -pl)
d. ``$PHP_X_MD5`` array and update all the md5 sums
e. Make sure there are no outdated "notes" or edited "date" keys in the
e. ``$PHP_X_SHA256`` array and update all the SHA256 sums
f. Make sure there are no outdated "notes" or edited "date" keys in the
``$RELEASES[X][$PHP_X_VERSION]["source"]`` array
3. Add a short notice to phpweb stating that there is a new release, and
@@ -300,3 +309,6 @@ to upgrade.
5. Wait an hour or two, then send a mail to php-announce@lists.php.net,
php-general@lists.php.net and internals@lists.php.net with a text similar to
the news entry.
Please make sure that the mail to php-announce@ is its own completely seperate email.
This is to make sure that repiles to the announcement on php-general@ or internals@
will not accidentally hit the php-announce@ mailinglist.
+4 -1
View File
@@ -277,7 +277,10 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Creating data structures for thread %x", thread_id));
(*thread_resources_ptr) = (tsrm_tls_entry *) malloc(sizeof(tsrm_tls_entry));
(*thread_resources_ptr)->storage = (void **) malloc(sizeof(void *)*id_count);
(*thread_resources_ptr)->storage = NULL;
if (id_count > 0) {
(*thread_resources_ptr)->storage = (void **) malloc(sizeof(void *)*id_count);
}
(*thread_resources_ptr)->count = id_count;
(*thread_resources_ptr)->thread_id = thread_id;
(*thread_resources_ptr)->next = NULL;
+16 -8
View File
@@ -165,12 +165,18 @@ TSRM_API void *tsrm_get_ls_cache(void);
#define TSRMLS_FETCH_FROM_CTX(ctx) void ***tsrm_ls = (void ***) ctx
#define TSRMLS_SET_CTX(ctx) ctx = (void ***) tsrm_get_ls_cache()
#define TSRMG(id, type, element) (((type) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
#define TSRMG(id, type, element) (TSRMG_BULK(id, type)->element)
#define TSRMG_BULK(id, type) ((type) (*((void ***) tsrm_get_ls_cache()))[TSRM_UNSHUFFLE_RSRC_ID(id)])
#define TSRMG_STATIC(id, type, element) (((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])->element)
#define TSRMLS_CACHE_EXTERN extern TSRM_TLS void *TSRMLS_CACHE
#define TSRMLS_CACHE_DEFINE TSRM_TLS void *TSRMLS_CACHE = NULL
#define TSRMLS_CACHE_UPDATE if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache()
#define TSRMG_STATIC(id, type, element) (TSRMG_BULK_STATIC(id, type)->element)
#define TSRMG_BULK_STATIC(id, type) ((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])
#define TSRMLS_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL
#if ZEND_DEBUG
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
#else
#define TSRMLS_CACHE_UPDATE() if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache()
#endif
#define TSRMLS_CACHE _tsrm_ls_cache
/* BC only */
@@ -191,11 +197,13 @@ TSRM_API void *tsrm_get_ls_cache(void);
#define TSRMLS_SET_CTX(ctx)
#define TSRMG_STATIC(id, type, element)
#define TSRMLS_CACHE_EXTERN
#define TSRMLS_CACHE_DEFINE
#define TSRMLS_CACHE_UPDATE
#define TSRMLS_CACHE_EXTERN()
#define TSRMLS_CACHE_DEFINE()
#define TSRMLS_CACHE_UPDATE()
#define TSRMLS_CACHE
#define TSRM_TLS
/* BC only */
#define TSRMLS_D void
#define TSRMLS_DC
+18 -4
View File
@@ -43,13 +43,13 @@ static tsrm_win32_globals win32_globals;
static void tsrm_win32_ctor(tsrm_win32_globals *globals)
{
#ifdef ZTS
TSRMLS_CACHE_UPDATE;
TSRMLS_CACHE_UPDATE();
#endif
globals->process = NULL;
globals->shm = NULL;
globals->process_size = 0;
globals->shm_size = 0;
globals->comspec = _strdup((GetVersion()<0x80000000)?"cmd.exe":"command.com");
globals->comspec = _strdup("cmd.exe");
/* Set it to INVALID_HANDLE_VALUE
* It will be initialized correctly in tsrm_win32_access or set to
@@ -437,6 +437,7 @@ static shm_pair *shm_get(int key, void *addr)
TWG(shm) = newptr;
ptr = newptr + TWG(shm_size);
TWG(shm_size)++;
memset(ptr, 0, sizeof(*ptr));
return ptr;
}
@@ -598,8 +599,10 @@ TSRM_API int shmget(int key, int size, int flags)
return -1;
}
sprintf(shm_segment, "TSRM_SHM_SEGMENT:%d", key);
sprintf(shm_info, "TSRM_SHM_DESCRIPTOR:%d", key);
snprintf(shm_segment, sizeof(shm_segment)-1, "TSRM_SHM_SEGMENT:%d", key);
snprintf(shm_info, sizeof(shm_info)-1, "TSRM_SHM_DESCRIPTOR:%d", key);
shm_segment[sizeof(shm_segment)-1] = '\0';
shm_info[sizeof(shm_info)-1] = '\0';
shm_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_segment);
info_handle = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, shm_info);
@@ -611,6 +614,12 @@ TSRM_API int shmget(int key, int size, int flags)
created = TRUE;
}
if (!shm_handle || !info_handle) {
if (shm_handle) {
CloseHandle(shm_handle);
}
if (info_handle) {
CloseHandle(info_handle);
}
return -1;
}
} else {
@@ -620,6 +629,11 @@ TSRM_API int shmget(int key, int size, int flags)
}
shm = shm_get(key, NULL);
if (!shm) {
CloseHandle(shm_handle);
CloseHandle(info_handle);
return -1;
}
shm->segment = shm_handle;
shm->info = info_handle;
shm->descriptor = MapViewOfFileEx(shm->info, FILE_MAP_ALL_ACCESS, 0, 0, 0, NULL);
+1 -1
View File
@@ -72,7 +72,7 @@ typedef struct {
#ifdef ZTS
# define TWG(v) TSRMG_STATIC(win32_globals_id, tsrm_win32_globals *, v)
TSRMLS_CACHE_EXTERN;
TSRMLS_CACHE_EXTERN();
#else
# define TWG(v) (win32_globals.v)
#endif
+637 -57
View File
@@ -1,6 +1,4 @@
$Id$
PHP X.Y UPGRADE NOTES
PHP 7.0 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
@@ -21,59 +19,430 @@ PHP X.Y UPGRADE NOTES
1. Backward Incompatible Changes
========================================
- Core
. list() now always supports ArrayAccess and never supports strings.
Previously both were accepted in some situations and not in others.
(RFC: https://wiki.php.net/rfc/fix_list_behavior_inconsistency)
. Bitwise shifts by negative numbers of bits are disallowed (throws E_WARNING
and gives FALSE, like a division by zero).
. Left bitwise shifts by a number of bits beyond the bit width of an integer
will always result in 0, even on CPUs which wrap around.
. Right bitwise shifts by a number of bits beyond the bit width of an integer
will always result in 0 or -1 (depending on sign), even on CPUs which wrap
around.
Language changes
================
Changes to variable handling
----------------------------
* Indirect variable, property and method references are now interpreted with
left-to-right semantics. Some examples:
$$foo['bar']['baz'] // interpreted as ($$foo)['bar']['baz']
$foo->$bar['baz'] // interpreted as ($foo->$bar)['baz']
$foo->$bar['baz']() // interpreted as ($foo->$bar)['baz']()
Foo::$bar['baz']() // interpreted as (Foo::$bar)['baz']()
To restore the previous behavior add explicit curly braces:
${$foo['bar']['baz']}
$foo->{$bar['baz']}
$foo->{$bar['baz']}()
Foo::{$bar['baz']}()
* The global keyword now only accepts simple variables. Instead of
global $$foo->bar;
it is now required to write the following:
global ${$foo->bar};
* Parentheses around variables or function calls no longer have any influence
on behavior. For example the following code, where the result of a function
call is passed to a by-reference function
function getArray() { return [1, 2, 3]; }
$last = array_pop(getArray());
// Strict Standards: Only variables should be passed by reference
$last = array_pop((getArray()));
// Strict Standards: Only variables should be passed by reference
will now throw a strict standards error regardless of whether parentheses
are used. Previously no notice was generated in the second case.
* Array elements or object properties that are automatically created during
by-reference assignments will now result in a different order. For example
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
now results in the array ["a" => 1, "b" => 1], while previously the result
was ["b" => 1, "a" => 1];
Relevant RFCs:
* https://wiki.php.net/rfc/uniform_variable_syntax
* https://wiki.php.net/rfc/abstract_syntax_tree
Changes to list()
-----------------
* list() will no longer assign variables in reverse order. For example
list($array[], $array[], $array[]) = [1, 2, 3];
var_dump($array);
will now result in $array == [1, 2, 3] rather than [3, 2, 1]. Note that only
the **order** of the assignments changed, but the assigned values stay the
same. E.g. a normal usage like
list($a, $b, $c) = [1, 2, 3];
// $a = 1; $b = 2; $c = 3;
will retain its current behavior.
* Empty list() assignments are no longer allowed. As such all of the following
are invalid:
list() = $a;
list(,,) = $a;
list($x, list(), $y) = $a;
* list() no longer supports unpacking strings (while previously this was only
supported in some cases). The code
$string = "xy";
list($x, $y) = $string;
will now result in $x == null and $y == null (without notices) instead of
$x == "x" and $y == "y". Furthermore list() is now always guaranteed to
work with objects implementing ArrayAccess, e.g.
list($a, $b) = (object) new ArrayObject([0, 1]);
will now result in $a == 0 and $b == 1. Previously both $a and $b were null.
Relevant RFCs:
* https://wiki.php.net/rfc/abstract_syntax_tree#changes_to_list
* https://wiki.php.net/rfc/fix_list_behavior_inconsistency
Changes to foreach
------------------
* Iteration with foreach() no longer has any effect on the internal array
pointer, which can be accessed through the current()/next()/etc family of
functions. For example
$array = [0, 1, 2];
foreach ($array as &$val) {
var_dump(current($array));
}
will now print the value int(0) three times. Previously the output was int(1),
int(2) and bool(false).
* When iterating arrays by-value, foreach will now always operate on a copy of
the array, as such changes to the array during iteration will not influence
iteration behavior. For example
$array = [0, 1, 2];
$ref =& $array; // Necessary to trigger the old behavior
foreach ($array as $val) {
var_dump($val);
unset($array[1]);
}
will now print all three elements (0 1 2), while previously the second element
1 was skipped (0 2).
* When iterating arrays by-reference, modifications to the array will continue
to influence the iteration. However PHP will now do a better job of
maintaining a correct position in a number of cases. E.g. appending to an
array during by-reference iteration
$array = [0];
foreach ($array as &$val) {
var_dump($val);
$array[1] = 1;
}
will now iterate over the appended element as well. As such the output of this
example will now be "int(0) int(1)", while previously it was only "int(0)".
* Iteration of plain (non-Traversable) objects by-value or by-reference will
behave like by-reference iteration of arrays. This matches the previous
behavior apart from the more accurate position management mentioned in the
previous point.
* Iteration of Traversable objects remains unchanged.
Relevant RFC: https://wiki.php.net/rfc/php7_foreach
Changes to parameter handling
-----------------------------
* It is no longer possible to define two function parameters with the same name.
For example, the following method will trigger a compile-time error:
public function foo($a, $b, $unused, $unused) {
// ...
}
Code like this should be changed to use distinct parameter names, for example:
public function foo($a, $b, $unused1, $unused2) {
// ...
}
* The func_get_arg() and func_get_args() functions will no longer return the
original value that was passed to a parameter and will instead provide the
current value (which might have been modified). For example
function foo($x) {
$x++;
var_dump(func_get_arg(0));
}
foo(1);
will now print "2" instead of "1". This code should be changed to either
perform modifications only after calling func_get_arg(s)
function foo($x) {
var_dump(func_get_arg(0));
$x++;
}
or avoid modifying the parameters altogether:
function foo($x) {
$newX = $x + 1;
var_dump(func_get_arg(0));
}
* Similarly exception backtraces will no longer display the original value that
was passed to a function and show the modified value instead. For example
function foo($x) {
$x = 42;
throw new Exception;
}
foo("string");
will now result in the stack trace
Stack trace:
#0 file.php(4): foo(42)
#1 {main}
while previously it was:
Stack trace:
#0 file.php(4): foo('string')
#1 {main}
While this should not impact runtime behavior of your code, it is worthwhile
to be aware of this difference for debugging purposes.
The same limitation also applies to debug_backtrace() and other functions
inspecting function arguments.
Relevant RFC: https://wiki.php.net/phpng
Changes to integer handling
---------------------------
* Invalid octal literals (containing digits larger than 7) now produce compile
errors. For example, the following is no longer valid:
$i = 0781; // 8 is not a valid octal digit!
Previously the invalid digits (and any following valid digits) were simply
ignored. As such $i previously held the value 7, because the last two digits
were silently discarded.
* Bitwise shifts by negative numbers will now throw an ArithmeticError:
var_dump(1 >> -1);
// ArithmeticError: Bit shift by negative number
* Left bitwise shifts by a number of bits beyond the bit width of an integer
will always result in 0:
var_dump(1 << 64); // int(0)
Previously the behavior of this code was dependent on the used CPU
architecture. For example on x86 (including x86-64) the result was int(1),
because the shift operand was wrapped.
* Similarly right bitwise shifts by a number of bits beyond the bit width of an
integer will always result in 0 or -1 (depending on sign):
var_dump(1 >> 64); // int(0)
var_dump(-1 >> 64); // int(-1)
Relevant RFC: https://wiki.php.net/rfc/integer_semantics
Changes to string handling
--------------------------
* Strings that contain hexadecimal numbers are no longer considered to be
numeric and don't receive special treatment anymore. Some examples of the
new behavior:
var_dump("0x123" == "291"); // bool(false) (previously true)
var_dump(is_numeric("0x123")); // bool(false) (previously true)
var_dump("0xe" + "0x1"); // int(0) (previously 16)
var_dump(substr("foo", "0x1")); // string(3) "foo" (previously "oo")
// Notice: A non well formed numeric value encountered
filter_var() can be used to check if a string contains a hexadecimal number
or convert such a string into an integer:
$str = "0xffff";
$int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX);
if (false === $int) {
throw new Exception("Invalid integer!");
}
var_dump($int); // int(65535)
* Due to the addition of the Unicode Codepoint Escape Syntax for double-quoted
strings and heredocs, "\u{" followed by an invalid sequence will now result in
an error:
$str = "\u{xyz}"; // Fatal error: Invalid UTF-8 codepoint escape sequence
To avoid this the leading backslash should be escaped:
$str = "\\u{xyz}"; // Works fine
However, "\u" without a following { is unaffected. As such the following code
won't error and will work the same as before:
$str = "\u202e"; // Works fine
Relevant RFCs:
* https://wiki.php.net/rfc/remove_hex_support_in_numeric_strings
* https://wiki.php.net/rfc/unicode_escape
Changes to error handling
-------------------------
* There are now two exception classes: Exception and Error. Both classes
implement a new interface Throwable. Type hints in exception handling code
may need to be changed to account for this.
* Some fatal errors and recoverable fatal errors now throw an Error instead.
As Error is a separate class from Exception, these exceptions will not be
caught by existing try/catch blocks.
For the recoverable fatal errors which have been converted into an exception,
it is no longer possible to silently ignore the error from an error handler.
In particular, it is no longer possible to ignore type hint failures.
* Parser errors now generate a ParseError that extends Error. Error
handling for eval()s on potentially invalid code should be changed to catch
ParseError in addition to the previous return value / error_get_last()
based handling.
* Constructors of internal classes will now always throw an exception on
failure. Previously some constructors returned NULL or an unusable object.
* The error level of some E_STRICT notices has been changed.
Relevant RFCs:
* https://wiki.php.net/rfc/engine_exceptions_for_php7
* https://wiki.php.net/rfc/throwable-interface
* https://wiki.php.net/rfc/internal_constructor_behaviour
* https://wiki.php.net/rfc/reclassify_e_strict
Other language changes
----------------------
* Removed support for static calls to non-static calls form an incompatible
$this context. In this case $this will not be defined, but the call will be
allowed with a deprecation notice. An example:
class A {
public function test() { var_dump($this); }
}
// Note: Does NOT extend A
class B {
public function callNonStaticMethodOfA() { A::test(); }
}
(new B)->callNonStaticMethodOfA();
// Deprecated: Non-static method A::test() should not be called statically
// Notice: Undefined variable $this
NULL
Note that this only applies to calls from an incompatible context. If class B
extended from A the call would be allowed without any notices.
* It is no longer possible to use the following class, interface and trait names
(case-insensitive):
bool
int
float
string
null
false
true
This applies to class/interface/trait declarations, class_alias() and use
statements.
Furthermore the following class, interface and trait names are now reserved
for future use, but do not yet throw an error when used:
resource
object
mixed
numeric
* The yield language construct no longer requires parentheses when used in an
expression context. It is now a right-associative operator with precedence
between the "print" and "=>" operators. This can result in different behavior
in some cases, for example:
echo yield -1;
// Was previously interpreted as
echo (yield) - 1;
// And is now interpreted as
echo yield (-1);
yield $foo or die;
// Was previously interpreted as
yield ($foo or die);
// And is now interpreted as
(yield $foo) or die;
Such cases can always be resolved by adding additional parentheses.
. Removed ASP (<%) and script (<script language=php>) tags.
(RFC: https://wiki.php.net/rfc/remove_alternative_php_tags)
. call_user_method() and call_user_method_array() no longer exists.
. PHP 7 doesn't keep original values of arguments passed to user functions,
so func_get_arg() and func_get_args() will return current value of argument
instead of the actually passed. The following code is going to be affected:
function foo($x) { $x = 2; return func_get_arg(0);} var_dump(foo(1));
It will now produce 2, not 1.
. Function parameters with duplicate name are not allowed anymore. Definitions
like “function foo($x,$x) {}” will lead to compile time error.
. Indirect variable, property and method references are now interpreted with
left-to-right semantics. See details in:
https://wiki.php.net/rfc/uniform_variable_syntax#semantic_differences_in_existing_syntax
. The global keyword now only accepts simple variables. See details in:
https://wiki.php.net/rfc/uniform_variable_syntax#global_keyword_takes_only_simple_variables
. The addition of Unicode Codepoint Escape Syntax for double-quoted strings
and heredocs means that \u{ followed by an invalid sequence will now error.
However, \u without a following { is unaffected, so "\u202e" won't error and
will work the same as before.
. zend_function.common.num_args don't include the variadic argument anymore.
. ob_start() no longer issues an E_ERROR, but instead an E_RECOVERABLE_ERROR in case an
output buffer is created in an output buffer handler.
. Removed support for assigning the result of new by reference.
. Removed support for scoped calls to non-static methods from an incompatible
$this context. See details in https://wiki.php.net/rfc/incompat_ctx.
. Removed support for #-style comments in ini files. Use ;-style comments
instead.
. Added zend_memnstr_ex, which is based on string matching sunday algo.
. Added zend_memnrstr, zend_memnrstr_ex.
. Added hybrid sorting algo zend_sort for better performance.
. Added stable sorting algo zend_insert_sort.
. Invalid octal literals in source code now produce compile errors, fixing
PHPSadness #31. Previously, the invalid digits (and any following valid
digits) were simply ignored, such that 0781 became 7.
. Removed dl() function on fpm-fcgi.
. Removed support for hexadecimal numeric strings. This means that some
operations like == will no longer specially interpret strings containing
hexadecimal numbers. Furthermore is_numeric() will not consider hexadecimal
strings to be numeric (use FILTER_VALIDATE_INT instead).
(RFC: https://wiki.php.net/rfc/remove_hex_support_in_numeric_strings)
. $HTTP_RAW_POST_DATA is no longer available. Use the php://input stream instead.
Standard library changes
========================
. substr() now returns an empty string instead of FALSE when the truncation happens on boundaries.
. call_user_method() and call_user_method_array() no longer exists.
. ob_start() no longer issues an E_ERROR, but instead an E_RECOVERABLE_ERROR in case an
output buffer is created in an output buffer handler.
. The internal sorting algorithm has been improved, what may result in
different sort order of elements that compare as equal.
. Removed dl() function on fpm-fcgi.
. setcookie() with an empty cookie name now issues a WARNING and doesn't send an empty set-cookie header line anymore.
Other
=====
- Curl:
. Removed support for disabling the CURLOPT_SAFE_UPLOAD option. All curl file
uploads must use the curl_file / CURLFile APIs.
- Date:
. Removed $is_dst parameter from mktime() and gmmktime().
@@ -86,6 +455,22 @@ PHP X.Y UPGRADE NOTES
. gmp_setbit() and gmp_clrbit() now return FALSE for negative indices, making
them consistent with other GMP functions.
- Intl:
. Removed deprecated aliases datefmt_set_timezone_id() and
IntlDateFormatter::setTimeZoneID(). Use datefmt_set_timezone() and
IntlDateFormatter::setTimeZone() instead.
- libxml:
. Added LIBXML_BIGLINES parser option. It's available starting with libxml 2.9.0
and adds suppport for line numbers >16-bit in the error reporting.
- Mcrypt
. Removed deprecated mcrypt_generic_end() alias in favor of
mcrypt_generic_deinit().
. Removed deprecated mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb()
functions in favor of mcrypt_encrypt() and mcrypt_decrypt() with an
MCRYPT_MODE_* flag.
- Session
. session_start() accepts all INI settings as array. e.g. ['cache_limiter'=>'private']
sets session.cache_limiter=private. It also supports 'read_and_close' which closes
@@ -98,9 +483,23 @@ PHP X.Y UPGRADE NOTES
. session.lazy_write(default=On) INI setting enables only write session data when
session data is updated.
- Opcache
. Removed opcache.load_comments configuration directive. Now doc comments
loading costs nothing and always enabled.
- OpenSSL:
. Removed the "rsa_key_size" SSL context option in favor of automatically
setting the appropriate size given the negotiated crypto algorithm.
. Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic
detection or the "peer_name" option instead.
- PCRE:
. Removed support for /e (PREG_REPLACE_EVAL) modifier. Use
preg_reaplace_callback() instead.
preg_replace_callback() instead.
- PDO_pgsql:
. Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of
ATTR_EMULATE_PREPARES.
- Standard:
. Removed string category support in setlocale(). Use the LC_* constants
@@ -110,23 +509,78 @@ PHP X.Y UPGRADE NOTES
- JSON:
. Rejected RFC 7159 incompatible number formats in json_decode string -
top level (07, 0xff, .1, -.1) and all levels ([1.], [1.e1])
. Empty PHP string passed to json_encode emits a JSON syntax error.
. Calling json_decode with 1st argument equal to empty PHP string or value that
after casting to string is empty string (NULL, FALSE) results in JSON syntax error.
- Stream:
. Removed set_socket_blocking() in favor of its alias stream_set_blocking().
- XSL:
. Removed xsl.security_prefs ini option. Use XsltProcessor::setSecurityPrefs()
instead.
========================================
2. New Features
========================================
- Core
. Added group use declarations.
(RFC: https://wiki.php.net/rfc/group_use_declarations)
. Added null coalesce operator (??).
(RFC: https://wiki.php.net/rfc/isset_ternary)
. Support for strings with length >= 2^31 bytes in 64 bit builds.
. Closure::call() method added.
. Closure::call() method added (works only with userland classes).
. Added \u{xxxxxx} Unicode Codepoint Escape Syntax for double-quoted strings
and heredocs.
. define() now supports arrays as constant values, fixing an oversight where define() did not support arrays yet const syntax did.
. define() now supports arrays as constant values, fixing an oversight where
define() did not support arrays yet const syntax did.
. Added the comparison operator (<=>), aka the spaceship operator.
(RFC: https://wiki.php.net/rfc/combined-comparison-operator)
. Added the yield from operator for delegating Generators like coroutines.
(RFC: https://wiki.php.net/rfc/generator-delegation)
. Reserved keywords can now be used in various new contexts.
(RFC: https://wiki.php.net/rfc/context_sensitive_lexer)
. Added support for scalar type declarations and strict mode using
declare(strict_types=1) (RFC: https://wiki.php.net/rfc/scalar_type_hints_v5)
. Added support for cryptographically secure user land RNG
(RFC: https://wiki.php.net/rfc/easy_userland_csprng)
- Opcache
. Added second level file based opcode cache. It may be enabled by setting
opcache.file_cache=<DIR> configuration directive in php.ini. The second
level cache may improve performance when SHM is full, at server restart or
SHM reset. In addition, it's possibe to use file cache without SHM at all,
using opcache.file_cache_only=1 (this may be useful for sharing hosting),
and disable file cache consistency check, to speedup loading at the cost of
safety, using opcache.file_cache_consistency_checks=0.
. Added ability to move PHP code pages (PHP TEXT segment) into HUGE pages.
It's possible to enable/disable this feature in php.ini through
opcache.huge_code_pages=0/1. OS should be configured to provide huge pages.
. Added Windows only opcache.file_cache_fallback=1 ini option, which implies
the implemented fallback mechanism. When OPcache was not able to reattach
the shared memory segment to the desired address and opcache.file_cache
is on, opcache.file_cache_only=1 will be automatically enforced.
- OpenSSL
. Added "alpn_protocols" SSL context option allowing encrypted client/server
streams to negotiate alternative protocols using the ALPN TLS extension when
built against OpenSSL 1.0.2 or newer. Negotiated protocol information is
accessible through stream_get_meta_data() output.
- Reflection
. Added a ReflectionGenerator class (yield from Traces, current file/line,
etc.)
. Added a ReflectionType class to better support the new return type and
scalar type declarations features. The new ReflectionParameter::getType()
and ReflectionFunctionAbstract::getReturnType() methods both return an
instance of ReflectionType.
- Stream:
. New Windows only stream context options was added to allow blocking reads
on pipes. To enable it, pass array("pipe" => array("blocking" => true))
when creating the stream context. Be aware, that this option can under
circumstances cause dead locks on the pipe buffer. However it can be useful
in several CLI use case scenarios.
========================================
3. Changes in SAPI modules
@@ -140,6 +594,15 @@ PHP X.Y UPGRADE NOTES
4. Deprecated Functionality
========================================
- Core
. PHP 4 style constructors, where the constructor name is the same as the
class name, are now deprecated.
. Static calls to non-static methods are now deprecated.
- OpenSSL
. The "capture_session_meta" SSL context option is now deprecated. Meta
data concerning active crypto on a stream resource is now accessible
through the return result from stream_get_meta_data().
========================================
5. Changed Functions
@@ -152,22 +615,64 @@ PHP X.Y UPGRADE NOTES
. Added second parameter for unserialize function
(RFC: https://wiki.php.net/rfc/secure_unserialize) allowing to specify
acceptable classes:
unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]);
unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]]);
- proc_open():
. The maximum number of pipes used by proc_open() was previously limited by
hardcoded value of 16. This limit is now removed and the number of pipes is
effectively limited by the amount of memory available to PHP.
. New Windows only configuration option "blocking_pipes" can be used to
force blocking reads on child process pipes. This covers several
edge cases in CLI usage however can lead to dead locks. Also, this
correlates with the new stream context options for pipes.
- array_column():
The function now supports an array of objects as well as two-dimensional
arrays. Only public properties are considered, and objects that make use of
__get() for dynamic properties must also implement __isset().
- stream_context_create()
It accepts now a Windows only configuration
array("pipe" => array("blocking" => <boolean>)) which forces blocking reads
on pipes. This option should be used carefully because due to the
platform restrictions dead locks on pipe buffers are possible.
- dirname()
A new optional argument ($levels) allow to go up various times
dirname(dirname($foo)) => dirname($foo, 2);
- debug_zval_dump
It prints now "int" instead of "long", and "float" instead of "double".
========================================
6. New Functions
========================================
- GMP
. Added gmp_random_seed().
- PCRE:
. Added preg_replace_callback_array function
(RFC: https://wiki.php.net/rfc/preg_replace_callback_array)
- Standard
. Added intdiv() function for integer division.
. Added error_clear_last() function to reset error state.
- Zip:
. Added ZipArchive::setCompressionIndex() and ZipArchive::setCompressionName()
for setting the compression method.
- Zlib:
. Added deflate_init(), deflate_add(), inflate_init(), inflate_add()
functions allowing incremental/streaming compression/decompression.
========================================
7. New Classes and Interfaces
========================================
- ReflectionGenerator
- ReflectionType
========================================
8. Removed Extensions and SAPIs
@@ -181,6 +686,7 @@ PHP X.Y UPGRADE NOTES
- sapi/continuity
- sapi/isapi
- sapi/milter
- sapi/nsapi
- sapi/phttpd
- sapi/pi3web
- sapi/roxen
@@ -188,13 +694,31 @@ PHP X.Y UPGRADE NOTES
- sapi/tux
- sapi/webjames
- ext/mssql
- ext/mysql
- ext/sybase_ct
For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
- ext/ereg
For more details see
https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
NOTE: NSAPI was not voted in the RFC, however it was removed afterwards. It turned
out, that the corresponding SDK isn't available anymore.
========================================
9. Other Changes to Extensions
========================================
- Mhash
Mhash is not an extension anymore, use function_exists("mhash") to check whether
it is avaliable.
- GD
The bundled libgd requires libwebp instead of libvpx for the WebP functionality.
- Openssl
minimum supported OpenSSL version series was raised to 0.9.8
========================================
10. New Global Constants
@@ -203,6 +727,38 @@ For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
- Core
. PHP_INT_MIN added.
- PCRE
. This error constant is added to signal errors due to stack size limitations
when PCRE JIT support is enabled:
. PREG_JIT_STACKLIMIT_ERROR
- Zlib
. These constants are added to control flush behavior with the new
incremental deflate_add() and inflate_add() functions:
. ZLIB_NO_FLUSH
. ZLIB_PARTIAL_FLUSH
. ZLIB_SYNC_FLUSH
. ZLIB_FULL_FLUSH
. ZLIB_BLOCK
. ZLIB_FINISH
- GD
. T1Lib support removed, thus lifting the optional dependency on T1Lib, the
following is therefore not available anymore:
Functions:
- imagepsbbox()
- imagepsencodefont()
- imagepsextendedfont()
- imagepsfreefont()
- imagepsloadfont()
- imagepsslantfont()
- imagepstext()
Resources:
- 'gd PS font'
- 'gd PS encoding'
========================================
11. Changes to INI File Handling
========================================
@@ -219,6 +775,19 @@ For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
- Core
. Support for native 64 bit integers in 64 bit builds.
. Support for large files in 64 bit builds.
. Support for getrusage()
- ftp
. The ftp extension is always shipped shared
. For SSL support, the dependency on the openssl extension was abolished. Instead
it depends alone on the openssl library. If it's present at the compile time,
ftp_ssl_connect() is enabled automatically.
- imap
. Static building of ext/imap is disabled
- odbc
. The odbc extension is always shipped shared
========================================
13. Other Changes
@@ -226,7 +795,18 @@ For more details see https://wiki.php.net/rfc/removal_of_dead_sapis_and_exts
- Core
. Instead of being undefined and platform-dependent, NaN and Infinity will
always be zero when casted to integer.
. Calling a method on a non-object no longer raises a fatal error; see
also: https://wiki.php.net/rfc/catchable-call-to-member-of-non-object.
. Error messages for zend_parse_parameters, type hints and conversions now always say "integer" and "float" instead of "long" and "double".
always be zero when cast to integer.
. Calling a method on a non-object now raises a catchable error instead of a
fatal error; see: https://wiki.php.net/rfc/catchable-call-to-member-of-non-object
. Error messages for zend_parse_parameters, type hints and conversions now
always say "integer" and "float" instead of "long" and "double".
. Output buffering now continues to work for an aborted connection if
ignore_user_abort is set to true.
. Zend Extensions API was extended with zend_extension.op_array_persist_calc()
and zend_extensions.op_array_persist() handlers. They allow to store (or
reset) associated with op_array addition information in Opcache Shared
Memory.
. zend_internal_function.reserved[] array was introduced to allow association
of aditional information with internal functions. In PHP-5 it was possible
to use zend_function.op_array.reserved[] even for internal functions, but
now we don't allocate extra space.
+95 -8
View File
@@ -1,7 +1,6 @@
$Id$
PHP 7.0 INTERNALS UPGRADE NOTES
0. Wiki Examples
1. Internal API changes
e. New data types
f. zend_parse_parameters() specs
@@ -17,11 +16,24 @@ PHP 7.0 INTERNALS UPGRADE NOTES
p. TSRM changes
q. gc_collect_cycles() is now hookable
r. PDO uses size_t for lengths
s. Resource API changes
t. Optimized strings concatenation.
u. Streams changes
v. Sort algorithm changes
2. Build system changes
a. Unix build system changes
b. Windows build system changes
3. Module changes
================
0. Wiki Examples
================
The wiki contains multiple examples and further explanations of the internal
changes. See: https://wiki.php.net/phpng-upgrading
========================
1. Internal API changes
@@ -70,15 +82,15 @@ PHP 7.0 INTERNALS UPGRADE NOTES
g. sprintf() formats
New printf modifier 'p' was implemented to platform independently output zend_long,
zend_ulong and php_size_t datatypes. That modifier can be used with'd', 'u', 'x' and 'o'
zend_ulong and php_size_t datatypes. That modifier can be used with 'd', 'u', 'x' and 'o'
printf format specs with spprintf, snprintf and the wrapping printf implementations.
%pu is sufficient for both zend_ulong and php_size_t. the code using %p spec to output
pointer address might need to be enclosed into #ifdef when it unlickily followed by 'd',
'u', 'x' or 'o'.
The only exceptions are the snprintf and zend_sprintf functions yet, because in some cases
they can use the implemenations available on the system, not the PHP one. Fro snprintf the
the macros ZEND_INT_FMT ZEND_UINT_FMT should be used.
they can use the implemenations available on the system, not the PHP one. With snprintf the
macros ZEND_INT_FMT and ZEND_UINT_FMT should be used.
h. HashTable API
@@ -106,6 +118,10 @@ PHP 7.0 INTERNALS UPGRADE NOTES
- ZEND_ULONG_MAX replaces ULONG_MAX where appropriate
- SIZEOF_ZEND_LONG reworked SIZEOF_ZEND_LONG representing the size of zend_long datatype
- ZEND_SIZE_MAX Max value of size_t
- Z_L casts an integral constant to zend_long
- Z_UL casts an integral constant to zend_ulong
The macro ZEND_ENABLE_ZVAL_LONG64 reveals whether zval operates on 64 or 32 bit integer.
k. The get_class_entry object handler is no longer available. Instead
zend_object.ce is always used.
@@ -165,11 +181,41 @@ PHP 7.0 INTERNALS UPGRADE NOTES
before any globals was accessed.
Porting an extension or SAPI is usually as easy as removing all the TSRMLS_*
ocurrences and integrating the macros mentioned above. However if tsrm_ls
is used explicitly, its usage can considered obsolete in most cases.
occurrences and integrating the macros mentioned above. However if tsrm_ls
is used explicitly, its usage can be considered obsolete in most cases.
Additionally, if an extension triggers its own threads, TSRMLS_CACHE shouldn't
be passed to that threads directly.
When working with CTOR/DTOR for the extension globals, only the data passed
as parameters should be touched. For example, don't use code like
free(MYEXT_G(vars)); inside globals destructor, as it possibly can destroy
the data from a wrong thread. Instead use the pointer to the data delivered
into the destructor. So the previous example could look like
free(my_struct->vars); given the income was casted to (struct my_struct *).
A new macro was introduced to simplify the declaration to the extension
globals. A simplified declaration looks as follows
#define MYEXT_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(myext, v)
Another new macro ZEND_MODULE_GLOBALS_BULK(myext) delivers the corresponding
globals struct as a whole.
Two new storage specifiers was introduced.
ZEND_EXT_TLS - expand to an appropriate thread specific storage specifier in
the thread safe build, expands to empty in a non thread safe
build.
ZEND_TLS - expands to an appropriate thread specific storage specifier
with static visibility in the thread safe build, expands to
static specifier in a non thread safe build.
Variables declared with these storage specifiers can not be shared across
threads. While ZEND_TLS enforces the local scope visibility, ZEND_EXT_TLS
pertains to the visiblity across several compilation units. In both cases,
there's no portable way to achieve the visibility across shared objects.
Thus, these specifiers are not compatible with ZEND_API and PHPAPI specifiers.
q. gc_collect_cycles() is now a function pointer, and can be replaced in the
same manner as zend_execute_ex() if needed (for example, to include the
time spent in the garbage collector in a profiler). The default
@@ -184,6 +230,27 @@ PHP 7.0 INTERNALS UPGRADE NOTES
as first argument, if you still need to fetch a resource from zval, use
zend_fetch_resource_ex. More details can be found in Zend/zend_list.c.
t. Optimized strings concatenation.
ZEND_ADD_STRING/VAR/CHAR are replaced with ZEND_ROPE_INIT, ZEND_ROPE_ADD,
ZEND_ROPE_END.
Instead of reallocation and copying string on each ZEND_ADD_STRING/VAR/CAHR,
collect all the strings and then allocate and construct the resulting string once.
u. Streams changes
- It is possible to do blocking reads on Windows pipes. It can be done either
using context stream option PHP_STREAM_OPTION_PIPE_BLOCKING or
adding STREAM_USE_BLOCKING_PIPE when opening the stream.
v. Sort algorithm changes
- Improved zend_qsort(using hybrid sorting algo) for better performance,
and also renamed zend_qsort to zend_sort.
- Added stable sorting algo zend_insert_sort.
w. Tick functions internal API change
Tick functions have different declaration now. They expect a single
single parameter while before they were parameterless. When registering the
tick function a value for this parameter must be passed. This value will be
provided to the tick function on every execution.
========================
2. Build system changes
@@ -209,6 +276,12 @@ PHP 7.0 INTERNALS UPGRADE NOTES
and library manager. This solves the issues with the long command lines
which can exceed the OS limit.
- with clang toolset, an option --with-uncritical-warn-choke is available,
which suppresses the most frequent false positive warnings
- the --with-mp option will by default utilize all the available cores. It's
enabled by default for release builds and can be disabled with the special
"disable" keyword.
========================
3. Module changes
@@ -229,9 +302,23 @@ PHP 7.0 INTERNALS UPGRADE NOTES
Do not access PS(id) directly, but use this handler and it's parameter.
- PS_UPDATE_TIMESTAMP() defines timestamp updating handler. This handler
must update session data timestamp for GC if it is needed. e.g. Memcache
updates timestap on read, so it does not need to update timestamp. Return
updates timestamp on read, so it does not need to update timestamp. Return
SUCCESS simply for this case.
- PS_CREATE_SID() should check session ID collision. Return NULL for failure.
- More documentation can be found in ext/session/mod_files.c as comments.
mod_files.c may be used as reference implementation.
Openssl:
- several ext/openssl functions require the inclusion of the applink shim
as documented in the OpenSSL FAQ https://www.openssl.org/support/faq.html#PROG2
to properly work on Windows. While this primarily affects the OpenSSL
functionality, the shim needs to be included into the executable file
which loads the extension DLL, not into the extension DLL itself. Alternatively
it can be compiled and linked with the main program as a separate object file.
More information and explanation in the linked OpenSSL FAQ.
Thus, this primarily affects any WAMP or other redistributions bundling the
official PHP release zipballs or building from sources. The applink shim is
already integrated with all the PHP executables from the official distribution
starting with 7.0.0beta1.
+2 -2
View File
@@ -12,13 +12,13 @@ libZend_la_SOURCES=\
zend_execute.c zend_execute_API.c zend_highlight.c zend_llist.c \
zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
zend_list.c zend_builtin_functions.c zend_sprintf.c \
zend_ini.c zend_sort.c zend_objects.c zend_object_handlers.c \
zend_objects_API.c zend_ts_hash.c zend_stream.c \
zend_default_classes.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c \
zend_generators.c zend_virtual_cwd.c zend_ast.c
zend_generators.c zend_virtual_cwd.c zend_ast.c zend_smart_str.c
libZend_la_CFLAGS = -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1
libZend_la_LDFLAGS =
+64 -31
View File
@@ -153,14 +153,6 @@ AC_ARG_ENABLE(debug,
AC_DEFUN([LIBZEND_OTHER_CHECKS],[
AC_ARG_WITH(zend-vm,
[ --with-zend-vm=TYPE Set virtual machine dispatch method. Type is
one of "CALL", "SWITCH" or "GOTO" [TYPE=CALL]],[
PHP_ZEND_VM=$withval
],[
PHP_ZEND_VM=CALL
])
AC_ARG_ENABLE(maintainer-zts,
[ --enable-maintainer-zts Enable thread safety - for code maintainers only!!],[
ZEND_MAINTAINER_ZTS=$enableval
@@ -176,9 +168,6 @@ AC_ARG_ENABLE(inline-optimization,
ZEND_INLINE_OPTIMIZATION=yes
])
AC_MSG_CHECKING([virtual machine dispatch method])
AC_MSG_RESULT($PHP_ZEND_VM)
AC_MSG_CHECKING(whether to enable thread-safety)
AC_MSG_RESULT($ZEND_MAINTAINER_ZTS)
@@ -188,19 +177,6 @@ AC_MSG_RESULT($ZEND_INLINE_OPTIMIZATION)
AC_MSG_CHECKING(whether to enable Zend debugging)
AC_MSG_RESULT($ZEND_DEBUG)
case $PHP_ZEND_VM in
SWITCH)
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_SWITCH,[virtual machine dispatch method])
;;
GOTO)
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_GOTO,[virtual machine dispatch method])
;;
*)
PHP_ZEND_VM=CALL
AC_DEFINE(ZEND_VM_KIND,ZEND_VM_KIND_CALL,[virtual machine dispatch method])
;;
esac
if test "$ZEND_DEBUG" = "yes"; then
AC_DEFINE(ZEND_DEBUG,1,[ ])
echo " $CFLAGS" | grep ' -g' >/dev/null || DEBUG_CFLAGS="-g"
@@ -425,11 +401,68 @@ if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_DEFINE([HAVE_DEV_ARANDOM], 1, [Define if the target system has /dev/arandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_DEFINE([HAVE_DEV_ARANDOM], 1, [Define if the target system has /dev/arandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_ARG_ENABLE(gcc-global-regs,
[ --disable-gcc-global-regs
whether to enable GCC global register variables],[
ZEND_GCC_GLOBAL_REGS=$enableval
],[
ZEND_GCC_GLOBAL_REGS=yes
])
AC_MSG_CHECKING(for global register variables support)
if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then
AC_TRY_COMPILE([
#if defined(__GNUC__)
# define ZEND_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#else
# define ZEND_GCC_VERSION 0
#endif
#if defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(i386)
# define ZEND_VM_FP_GLOBAL_REG "%esi"
# define ZEND_VM_IP_GLOBAL_REG "%edi"
#elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__x86_64__)
# define ZEND_VM_FP_GLOBAL_REG "%r14"
# define ZEND_VM_IP_GLOBAL_REG "%r15"
#elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__)
# define ZEND_VM_FP_GLOBAL_REG "r28"
# define ZEND_VM_IP_GLOBAL_REG "r29"
#elif defined(__IBMC__) && ZEND_GCC_VERSION >= 4002 && defined(__powerpc64__)
# define ZEND_VM_FP_GLOBAL_REG "r28"
# define ZEND_VM_IP_GLOBAL_REG "r29"
#else
# error "global register variables are not supported"
#endif
typedef int (*opcode_handler_t)(void);
register void *FP __asm__(ZEND_VM_FP_GLOBAL_REG);
register const opcode_handler_t *IP __asm__(ZEND_VM_IP_GLOBAL_REG);
int emu(const opcode_handler_t *ip, void *fp) {
const opcode_handler_t *orig_ip = IP;
void *orig_fp = FP;
IP = ip;
FP = fp;
while ((*ip)());
FP = orig_fp;
IP = orig_ip;
}
], [
], [
ZEND_GCC_GLOBAL_REGS=yes
], [
ZEND_GCC_GLOBAL_REGS=no
])
fi
if test "$ZEND_GCC_GLOBAL_REGS" = "yes"; then
AC_DEFINE([HAVE_GCC_GLOBAL_REGS], 1, [Define if the target system has support for global register variables])
else
HAVE_GCC_GLOBAL_REGS=no
fi
AC_MSG_RESULT($ZEND_GCC_GLOBAL_REGS)
+3 -3
View File
@@ -90,10 +90,10 @@ int zend_sprintf(char *buffer, const char *format, ...);
#define zend_isinf(a) 0
#endif
#ifdef HAVE_FINITE
#define zend_finite(a) finite(a)
#elif defined(HAVE_ISFINITE) || defined(isfinite)
#if defined(HAVE_ISFINITE) || defined(isfinite)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
#elif defined(fpclassify)
#define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
#else
+2 -2
View File
@@ -30,10 +30,10 @@ var_dump(get_class($f2));
echo "Done\n";
?>
--EXPECTF--
Strict Standards: Non-static method foo::bar() should not be called statically in %s on line %d
Deprecated: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
Strict Standards: Non-static method foo::bar() should not be called statically in %s on line %d
Deprecated: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
string(3) "foo"
string(3) "foo"
+2 -2
View File
@@ -201,7 +201,7 @@ class Point
var $y;
var $lable;
function Point($x, $y) {
function __construct($x, $y) {
$this->x = $x;
$this->y = $y;
}
@@ -1271,7 +1271,7 @@ bool(false)
bool(true)
array(3) {
[0]=>
string(5) "Point"
string(11) "__construct"
[1]=>
string(8) "setLable"
[2]=>
+4 -1
View File
@@ -20,4 +20,7 @@ bool(true)
Notice: Undefined offset: 2 in %s on line %d
Fatal error: Function name must be a string in %s on line %d
Fatal error: Uncaught Error: Function name must be a string in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+4 -1
View File
@@ -16,4 +16,7 @@ var_dump($x::$x);
--EXPECTF--
int(1)
Fatal error: Access to undeclared static property: Closure::$x in %s on line %d
Fatal error: Uncaught Error: Access to undeclared static property: Closure::$x in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
-1
View File
@@ -10,5 +10,4 @@ abstract class TestClass
===DONE===
--EXPECTF--
Strict Standards: Static function TestClass::getName() should not be abstract in %sabstract-static.php on line %d
===DONE===
+6 -1
View File
@@ -28,4 +28,9 @@ new c;
?>
--EXPECTF--
Fatal error: Call to private method d::test2() from context 'a' in %s on line %d
Fatal error: Uncaught Error: Call to private method d::test2() from context 'a' in %s:%d
Stack trace:
#0 %s(%d): a->test()
#1 %s(%d): c->__construct()
#2 {main}
thrown in %s on line %d
+14 -1
View File
@@ -8,12 +8,25 @@ $a = array(1,2,3);
$o = new stdclass;
$o->prop = "value";
try {
var_dump($a + $o);
} catch (Error $e) {
echo "\nException: " . $e->getMessage() . "\n";
}
$c = $a + $o;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %sadd_002.php on line %d
Exception: Unsupported operand types
Notice: Object of class stdClass could not be converted to int in %s on line %d
Fatal error: Unsupported operand types in %s on line %d
Fatal error: Uncaught Error: Unsupported operand types in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+14 -1
View File
@@ -8,12 +8,25 @@ $a = array(1,2,3);
$o = new stdclass;
$o->prop = "value";
try {
var_dump($o + $a);
} catch (Error $e) {
echo "\nException: " . $e->getMessage() . "\n";
}
$c = $o + $a;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %sadd_003.php on line %d
Exception: Unsupported operand types
Notice: Object of class stdClass could not be converted to int in %s on line %d
Fatal error: Unsupported operand types in %s on line %d
Fatal error: Uncaught Error: Unsupported operand types in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+12 -1
View File
@@ -5,10 +5,21 @@ adding numbers to arrays
$a = array(1,2,3);
try {
var_dump($a + 5);
} catch (Error $e) {
echo "\nException: " . $e->getMessage() . "\n";
}
$c = $a + 5;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Fatal error: Unsupported operand types in %s on line %d
Exception: Unsupported operand types
Fatal error: Uncaught Error: Unsupported operand types in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+12 -1
View File
@@ -7,10 +7,21 @@ $a = array(1,2,3);
$s1 = "some string";
try {
var_dump($a + $s1);
} catch (Error $e) {
echo "\nException: " . $e->getMessage() . "\n";
}
$c = $a + $s1;
var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Fatal error: Unsupported operand types in %s on line %d
Exception: Unsupported operand types
Fatal error: Uncaught Error: Unsupported operand types in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+10
View File
@@ -0,0 +1,10 @@
--TEST--
declare bare anonymous class
--FILE--
<?php
var_dump(new class{});
--EXPECTF--
object(class@%s)#%d (0) {
}
+21
View File
@@ -0,0 +1,21 @@
--TEST--
declare anonymous class extending another
--FILE--
<?php
class A{}
interface B{
public function method();
}
$a = new class extends A implements B {
public function method(){
return true;
}
};
var_dump($a instanceof A, $a instanceof B);
--EXPECTF--
bool(true)
bool(true)
+54
View File
@@ -0,0 +1,54 @@
--TEST--
reusing anonymous classes
--FILE--
<?php
while (@$i++<10) {
var_dump(new class($i) {
public function __construct($i) {
$this->i = $i;
}
});
}
--EXPECTF--
object(class@%s)#1 (1) {
["i"]=>
int(1)
}
object(class@%s)#1 (1) {
["i"]=>
int(2)
}
object(class@%s)#1 (1) {
["i"]=>
int(3)
}
object(class@%s)#1 (1) {
["i"]=>
int(4)
}
object(class@%s)#1 (1) {
["i"]=>
int(5)
}
object(class@%s)#1 (1) {
["i"]=>
int(6)
}
object(class@%s)#1 (1) {
["i"]=>
int(7)
}
object(class@%s)#1 (1) {
["i"]=>
int(8)
}
object(class@%s)#1 (1) {
["i"]=>
int(9)
}
object(class@%s)#1 (1) {
["i"]=>
int(10)
}
+30
View File
@@ -0,0 +1,30 @@
--TEST--
testing anonymous inheritance
--FILE--
<?php
class Outer {
protected $data;
public function __construct($data) {
$this->data = $data;
}
public function getArrayAccess() {
/* create a proxy object implementing array access */
return new class($this->data) extends Outer implements ArrayAccess {
public function offsetGet($offset) { return $this->data[$offset]; }
public function offsetSet($offset, $data) { return ($this->data[$offset] = $data); }
public function offsetUnset($offset) { unset($this->data[$offset]); }
public function offsetExists($offset) { return isset($this->data[$offset]); }
};
}
}
$outer = new Outer(array(
rand(1, 100)
));
/* not null because inheritance */
var_dump($outer->getArrayAccess()[0]);
--EXPECTF--
int(%d)
+36
View File
@@ -0,0 +1,36 @@
--TEST--
testing reusing anons that implement an interface
--FILE--
<?php
class Outer {
protected $data;
public function __construct(&$data) {
/* array access will be implemented by the time we get to here */
$this->data = &$data;
}
public function getArrayAccess() {
/* create a child object implementing array access */
/* this grants you access to protected methods and members */
return new class($this->data) implements ArrayAccess {
public function offsetGet($offset) { return $this->data[$offset]; }
public function offsetSet($offset, $data) { return ($this->data[$offset] = $data); }
public function offsetUnset($offset) { unset($this->data[$offset]); }
public function offsetExists($offset) { return isset($this->data[$offset]); }
};
}
}
$data = array(
rand(1, 100),
rand(2, 200)
);
$outer = new Outer($data);
$proxy = $outer->getArrayAccess();
/* null because no inheritance, so no access to protected member */
var_dump(@$outer->getArrayAccess()[0]);
--EXPECT--
NULL
+15
View File
@@ -0,0 +1,15 @@
--TEST--
testing anon classes inside namespaces
--FILE--
<?php
namespace lone {
$hello = new class{} ;
}
namespace {
var_dump ($hello);
}
--EXPECTF--
object(class@%s)#1 (0) {
}
+23
View File
@@ -0,0 +1,23 @@
--TEST--
testing anon classes in functions outside of classes in namespaces
--FILE--
<?php
namespace lone {
function my_factory() {
return new class{};
}
class Outer {
public function __construct() {
var_dump(
my_factory());
}
}
new Outer();
}
--EXPECTF--
object(class@%s)#2 (0) {
}
+23
View File
@@ -0,0 +1,23 @@
--TEST--
testing static access for methods and properties in anon classes
--FILE--
<?php
$anonClass = new class("cats", "dogs") {
public static $foo;
private static $bar;
public function __construct($foo, $bar) {
static::$foo = $foo;
static::$bar = $bar;
}
public static function getBar() {
return static::$bar;
}
};
var_dump($anonClass::$foo);
var_dump($anonClass::getBar());
--EXPECT--
string(4) "cats"
string(4) "dogs"
+18
View File
@@ -0,0 +1,18 @@
--TEST--
testing traits in anon classes
--FILE--
<?php
trait Foo {
public function someMethod() {
return "bar";
}
}
$anonClass = new class {
use Foo;
};
var_dump($anonClass->someMethod());
--EXPECT--
string(3) "bar"
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Trait binding after anon class
--FILE--
<?php
trait T {
public function m1() { return 42; }
}
class C {
public function m2() {
return new class {};
}
use T;
}
$c = new C;
var_dump($c->m1());
?>
--EXPECT--
int(42)
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Ensure proper inheritance with get_class(anon class instance) used via class_alias (see also bug #70106)
--FILE--
<?php
class_alias(get_class(new class { protected $foo = 1; }), "AnonBase");
var_dump((new class extends AnonBase {
function getFoo() {
return $this->foo;
}
})->getFoo());
?>
--EXPECT--
int(1)
+11
View File
@@ -0,0 +1,11 @@
--TEST--
Ensure correct unmangling of private property names for anonymous class instances
--FILE--
<?php
var_dump(new class { private $foo; });
?>
--EXPECT--
object(class@anonymous)#1 (1) {
["foo":"class@anonymous":private]=>
NULL
}
+10 -6
View File
@@ -7,14 +7,18 @@ set_error_handler(function($errno, $errstr) {
var_dump($errstr);
});
var_dump(...[1, 2, "foo" => 3, 4]);
var_dump(...new ArrayIterator([1, 2, "foo" => 3, 4]));
try {
var_dump(...[1, 2, "foo" => 3, 4]);
} catch (Error $ex) {
var_dump($ex->getMessage());
}
try {
var_dump(...new ArrayIterator([1, 2, "foo" => 3, 4]));
} catch (Error $ex) {
var_dump($ex->getMessage());
}
?>
--EXPECTF--
string(36) "Cannot unpack array with string keys"
int(1)
int(2)
string(42) "Cannot unpack Traversable with string keys"
int(1)
int(2)
+1 -1
View File
@@ -13,4 +13,4 @@ class Sub extends Base {
}
?>
--EXPECTF--
Strict Standards: Declaration of Sub::test() should be compatible with & Base::test($foo, array $bar, $option = NULL, $extra = 'llllllllll...') in %sargument_restriction_001.php on line %d
Warning: Declaration of & Sub::test() should be compatible with & Base::test($foo, array $bar, $option = NULL, $extra = 'llllllllll...') in %sargument_restriction_001.php on line %d
+1 -1
View File
@@ -13,4 +13,4 @@ class Sub extends Base {
}
?>
--EXPECTF--
Strict Standards: Declaration of Sub::test() should be compatible with Base::test($foo, array &$bar, $option = NULL, $extra = 3.1415926535898) in %sargument_restriction_002.php on line %d
Warning: Declaration of Sub::test($foo, array &$bar) should be compatible with Base::test($foo, array &$bar, $option = NULL, $extra = 3.1415926535898) in %sargument_restriction_002.php on line %d
+1 -1
View File
@@ -16,4 +16,4 @@ class Sub extends Base {
}
?>
--EXPECTF--
Strict Standards: Declaration of Sub::test() should be compatible with Base::test(Foo $foo, array $bar, $option = NULL, $extra = 'llllllllll...') in %sargument_restriction_003.php on line %d
Warning: Declaration of Sub::test() should be compatible with Base::test(Foo $foo, array $bar, $option = NULL, $extra = 'llllllllll...') in %sargument_restriction_003.php on line %d
+1 -1
View File
@@ -13,4 +13,4 @@ class Sub extends Base {
}
?>
--EXPECTF--
Strict Standards: Declaration of Sub::test() should be compatible with Base::test($foo, $extra = Array) in %sargument_restriction_006.php on line %d
Warning: Declaration of Sub::test($foo, $extra) should be compatible with Base::test($foo, $extra = Array) in %sargument_restriction_006.php on line %d
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Accept hashes being equal to zero
--FILE--
<?php
$hashes = [
"\x8e\x1a\x63\x0f\x61" => 32,
"\xf7\x17\x7f\x7f\x7f\x7f\x7f\x7f\x7f\x6b\x03\x6a\x13\x63\x17\x6b\x1d\x67" => 64,
];
foreach ($hashes as $hash => $bits) {
var_dump($hashes[$hash], $bits);
}
?>
--EXPECT--
int(32)
int(32)
int(64)
int(64)
+21
View File
@@ -0,0 +1,21 @@
--TEST--
Ensure "undefined offset" notice formats message corectly when undefined key is negative
--FILE--
<?php
[][-1];
[][-1.1];
(new ArrayObject)[-1];
(new ArrayObject)[-1.1];
echo "Done\n";
?>
--EXPECTF--
Notice: Undefined offset: -1 in %s on line 3
Notice: Undefined offset: -1 in %s on line 4
Notice: Undefined offset: -1 in %s on line 5
Notice: Undefined offset: -1 in %s on line 6
Done
+5 -1
View File
@@ -12,4 +12,8 @@ foo(123);
--EXPECTF--
3
Catchable fatal error: Argument 1 passed to foo() must be of the type array, integer given, called in %sarray_type_hint_001.php on line 7 and defined in %sarray_type_hint_001.php on line 2
Fatal error: Uncaught TypeError: Argument 1 passed to foo() must be of the type array, integer given, called in %sarray_type_hint_001.php on line 7 and defined in %sarray_type_hint_001.php:2
Stack trace:
#0 %s(%d): foo(123)
#1 {main}
thrown in %sarray_type_hint_001.php on line 2
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #70208 (scope information must be preserved with assert())
--FILE--
<?php
function non_class_scope() {
return true;
}
class test {
protected $prop = 1;
public function __construct() {
assert('non_class_scope();');
var_dump($this->prop);
}
}
new test;
?>
--EXPECT--
int(1)
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #70528 (assert() with instanceof adds apostrophes around class name)
--INI--
zend.assertions=1
assert.exception=0
assert.warning=1
--FILE--
<?php
namespace Foo;
class Bar {}
$bar = "Bar";
assert(new \stdClass instanceof $bar);
assert(new \stdClass instanceof Bar);
assert(new \stdClass instanceof \Foo\Bar);
?>
--EXPECTF--
Warning: assert(): assert(new \stdClass() instanceof $bar) failed in %sbug70528.php on line %d
Warning: assert(): assert(new \stdClass() instanceof Bar) failed in %sbug70528.php on line %d
Warning: assert(): assert(new \stdClass() instanceof \Foo\Bar) failed in %sbug70528.php on line %d
+12
View File
@@ -0,0 +1,12 @@
--TEST--
test passing assertion
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
assert(true);
var_dump(true);
?>
--EXPECTF--
bool(true)
+16
View File
@@ -0,0 +1,16 @@
--TEST--
test failing assertion
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
assert(false);
var_dump(true);
?>
--EXPECTF--
Fatal error: Uncaught AssertionError: assert(false) in %sexpect_002.php:%d
Stack trace:
#0 %sexpect_002.php(%d): assert(false, 'assert(false)')
#1 {main}
thrown in %sexpect_002.php on line %d
+15
View File
@@ -0,0 +1,15 @@
--TEST--
test catching failed assertion
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
try {
assert(false);
} catch (AssertionError $ex) {
var_dump($ex->getMessage());
}
?>
--EXPECT--
string(13) "assert(false)"
+15
View File
@@ -0,0 +1,15 @@
--TEST--
test providing reason (fail)
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
try {
assert(false, "I require this to succeed");
} catch (AssertionError $ex) {
var_dump($ex->getMessage());
}
?>
--EXPECT--
string(25) "I require this to succeed"
+17
View File
@@ -0,0 +1,17 @@
--TEST--
test providing reason (pass)
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
try {
/* by passing we test there are no leaks upon success */
assert(true, "I require this to succeed");
} catch (AssertionError $ex) {
var_dump($ex->getMessage());
}
var_dump(true);
?>
--EXPECT--
bool(true)
+14
View File
@@ -0,0 +1,14 @@
--TEST--
test looping assert (pass)
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
for($i=0; $i<100000; $i++) {
assert ($i < 100000, "The universe should make sense");
}
var_dump(true);
?>
--EXPECT--
bool(true)
+22
View File
@@ -0,0 +1,22 @@
--TEST--
test compiled reason
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
$next = 1;
$data = array(
"key" => "X-HTTP ",
"value" => "testing"
);
class HeaderMalfunctionError extends AssertionError {}
assert (preg_match("~^([a-zA-Z0-9-]+)$~", $data["key"]), new HeaderMalfunctionError("malformed key found at {$next} \"{$data["key"]}\""));
?>
--EXPECTF--
Fatal error: Uncaught HeaderMalfunctionError: malformed key found at 1 "X-HTTP " in %sexpect_007.php:10
Stack trace:
#0 {main}
thrown in %sexpect_007.php on line 10
+34
View File
@@ -0,0 +1,34 @@
--TEST--
test disabled expectations have no ill side effects
--INI--
zend.assertions=0
assert.exception=1
--FILE--
<?php
class One {
public function __construct() {
assert($this || 0);
}
}
class Two extends One {}
class OdEar extends AssertionError {}
function blah(){ return 1; }
$variable = 1;
assert(true, "constant message");
assert(($variable && $variable) || php_sapi_name(), new OdEar("constant message"));
assert(false);
assert(blah(), blah());
new Two();
new Two();
new Two();
assert (blah() || blah() || blah(), blah() || blah() || blah() || blah());
var_dump(true);
?>
--EXPECT--
bool(true)
+25
View File
@@ -0,0 +1,25 @@
--TEST--
test stack trace is correct from failed exception in extended class
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
class One {
public function __construct() {
}
}
class Two extends One {
public function __construct() {
assert(false);
}
}
new Two();
?>
--EXPECTF--
Fatal error: Uncaught AssertionError: assert(false) in %sexpect_009.php:%d
Stack trace:
#0 %sexpect_009.php(%d): assert(false, 'assert(false)')
#1 %sexpect_009.php(%d): Two->__construct()
#2 {main}
thrown in %sexpect_009.php on line %d
+23
View File
@@ -0,0 +1,23 @@
--TEST--
test stack trace is correct from failed exception in extended class (parent implementing constructor)
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
class One {
public function __construct() {
assert(false);
}
}
class Two extends One {}
new Two();
?>
--EXPECTF--
Fatal error: Uncaught AssertionError: assert(false) in %sexpect_010.php:%d
Stack trace:
#0 %sexpect_010.php(%d): assert(false, 'assert(false)')
#1 %sexpect_010.php(%d): One->__construct()
#2 {main}
thrown in %sexpect_010.php on line %d
+30
View File
@@ -0,0 +1,30 @@
--TEST--
test overloaded __toString on custom exception
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
class MyExpectations extends AssertionError {
public function __toString() {
return sprintf(
"[Message]: %s", __CLASS__);
}
}
class One {
public function __construct() {
assert(false, (string) new MyExpectations());
}
}
class Two extends One {}
new Two();
?>
--EXPECTF--
Fatal error: Uncaught AssertionError: [Message]: MyExpectations in %sexpect_011.php:%d
Stack trace:
#0 %sexpect_011.php(%d): assert(false, '[Message]: MyEx...')
#1 %sexpect_011.php(%d): One->__construct()
#2 {main}
thrown in %sexpect_011.php on line %d
+21
View File
@@ -0,0 +1,21 @@
--TEST--
test enable/disable assertions at runtime
--INI--
zend.assertions=1
assert.exception=1
--FILE--
<?php
var_dump((integer)ini_get("zend.assertions"));
ini_set("zend.assertions", 0);
var_dump((integer)ini_get("zend.assertions"));
assert(false);
ini_set("zend.assertions", 1);
var_dump((integer)ini_get("zend.assertions"));
assert(true);
var_dump(true);
?>
--EXPECT--
int(1)
int(0)
int(1)
bool(true)
+11
View File
@@ -0,0 +1,11 @@
--TEST--
test failing assertion when disabled (with return value)
--INI--
zend.assertions=0
assert.exception=1
--FILE--
<?php
var_dump(assert(false));
?>
--EXPECT--
bool(true)
+12
View File
@@ -0,0 +1,12 @@
--TEST--
test failing assertion when disabled
--INI--
zend.assertions=0
assert.exception=1
--FILE--
<?php
assert(false);
var_dump(true);
?>
--EXPECT--
bool(true)
+295
View File
@@ -0,0 +1,295 @@
--TEST--
AST pretty-peinter
--INI--
zend.assertions=1
assert.exception=0
--FILE--
<?php
assert(0 && ($a = function () {
global $a, $$b;
static $c, $d = 0;
unset($e);
$x = isset($a) && !empty($b) || eval($c);
$x = $a ? $b : $c;
$x = $a ?: $c;
$x = $a ?? $b;
list($a, $b, $c) = [1, 2=>'x', 'z'=>'c'];
@foo();
$y = clone $x;
yield 1 => 2;
yield from $x;
}));
assert(0 && ($a = function &(array &$a, X $b = null) use ($c,&$d) : X {
abstract class A extends B implements C, D {
const X = 12;
const Y = self::X, Z = "aaa";
public $a = 1, $b;
protected $c;
static private $d = null;
abstract function foo();
static private function f1() {
for ($i = 0, $j = 100; $i < $j; $i++, --$j) {
$s[$i] = $a[$j];
}
foreach ($a as $key => &$val) {
print "$key => $val\n";
}
while ($s[$i]) {
$i++;
}
do {
$i--;
} while ($s[$i]);
$x = foo($a + 1, 4, ...[1,2,3]);
$x = ${$a . "_1"}();
$x = A::foo();
$x = ${$a . "_1"}::foo();
$x = A::${$a . "_1"}();
$x = $x->foo();
$x = ${$a . "_1"}->foo();
$x = $x->{$a . "_1"}();
$x->a = C::C;
${$a . "_1"}->a = ${$a . "_1"}::C;
$x->{a . "_1"} = C::C;
$x = C::$z;
$x = ${$a . "_1"}::$z;
$x = C::${$z . "_1"};
}
}
}));
assert(0 && ($a = function &(array &$a, X $b = null) use ($c,&$d) : X {
final class A {
final protected function f2() {
if (!$x) {
return 0;
}
if ($x == 1) {
return 1;
} else if ($x == 2) {
return 2;
} else if ($x == 3) {
return 3;
} else {
if ($x == 9) {
return 9;
}
L0:
do {
switch ($x) {
case 4: break;
case 5: continue;
case 6: break 2;
case 7: continue 2;
case 8: goto L0;
default: return;
}
} while (0);
}
}
}
}));
assert(0 && ($a = function &(array &$a, X $b = null) use ($c,&$d) : X {
class A {
use T1, T2 {
T1::foo insteadof foo;
T2::foo as bar;
baz as public;
ops as protected x;
}
use T3;
}
}));
assert(0 && ($a = function &(array &...$a) {
declare(A=1,B=2);
try {
$i++;
} catch (MyException $e) {
echo 1;
} catch (Exception $e) {
echo 2;
} finally {
echo 3;
}
}));
assert(0 && ($a = function () {
declare(C=1) { echo 1; }
$x = '\'"`$a';
$x = "'\"`$a";
$x = `'"\`$a`;
$x = "{$a}b";
$x = "${a}b";
$x = " {$foo->bar} ${$foo->bar} ";
$x = " ${'---'} ";
foo();
\foo();
namespace\foo();
$x = foo;
$x = \foo;
$x = namespace\foo;
$x = new foo();
$x = new \foo();
$x = new namespace\foo();
if ($a) {
} elseif ($b) {
}
}));
?>
--EXPECTF--
Warning: assert(): assert(0 && ($a = function () {
global $a;
global $$b;
static $c;
static $d = 0;
unset($e);
$x = isset($a) && !empty($b) || eval($c);
$x = $a ? $b : $c;
$x = $a ?: $c;
$x = $a ?? $b;
list($a, $b, $c) = [1, 2 => 'x', 'z' => 'c'];
@foo();
$y = clone $x;
yield 1 => 2;
yield from $x;
})) failed in %sexpect_015.php on line %d
Warning: assert(): assert(0 && ($a = function &(array &$a, X $b = null) use($c, &$d): X {
abstract class A extends B implements C, D {
const X = 12;
const Y = self::X, Z = 'aaa';
public $a = 1, $b;
protected $c;
private static $d = null;
public abstract function foo();
private static function f1() {
for ($i = 0, $j = 100; $i < $j; $i++, --$j) {
$s[$i] = $a[$j];
}
foreach ($a as $key => &$val) {
print "$key => $val\n";
}
while ($s[$i]) {
$i++;
}
do {
$i--;
} while ($s[$i]);
$x = foo($a + 1, 4, ...[1, 2, 3]);
$x = ${$a . '_1'}();
$x = A::foo();
$x = ${$a . '_1'}::foo();
$x = A::${$a . '_1'}();
$x = $x->foo();
$x = ${$a . '_1'}->foo();
$x = $x->{$a . '_1'}();
$x->a = C::C;
${$a . '_1'}->a = ${$a . '_1'}::C;
$x->{a . '_1'} = C::C;
$x = C::$z;
$x = ${$a . '_1'}::$z;
$x = C::${$z . '_1'};
}
}
})) failed in %sexpect_015.php on line %d
Warning: assert(): assert(0 && ($a = function &(array &$a, X $b = null) use($c, &$d): X {
final class A {
protected final function f2() {
if (!$x) {
return 0;
}
if ($x == 1) {
return 1;
} else if ($x == 2) {
return 2;
} else if ($x == 3) {
return 3;
} else {
if ($x == 9) {
return 9;
}
L0:
do {
switch ($x) {
case 4:
break;
case 5:
continue;
case 6:
break 2;
case 7:
continue 2;
case 8:
goto L0;
default:
return;
}
} while (0);
}
}
}
})) failed in %sexpect_015.php on line %d
Warning: assert(): assert(0 && ($a = function &(array &$a, X $b = null) use($c, &$d): X {
class A {
use T1, T2 {
T1::foo insteadof foo;
T2::foo as bar;
baz as public;
ops as protected x;
}
use T3;
}
})) failed in %sexpect_015.php on line %d
Warning: assert(): assert(0 && ($a = function &(array &...$a) {
declare(A = 1, B = 2);
try {
$i++;
} catch (MyException $e) {
echo 1;
} catch (Exception $e) {
echo 2;
} finally {
echo 3;
}
})) failed in %sexpect_015.php on line %d
Warning: assert(): assert(0 && ($a = function () {
declare(C = 1) {
echo 1;
}
$x = '\'"`$a';
$x = "'\"`$a";
$x = `'"\`$a`;
$x = "{$a}b";
$x = "{$a}b";
$x = " {$foo->bar} {${$foo->bar}} ";
$x = " ${---} ";
foo();
\foo();
namespace\foo();
$x = foo;
$x = \foo;
$x = namespace\foo;
$x = new foo();
$x = new \foo();
$x = new namespace\foo();
if ($a) {
} elseif ($b) {
}
})) failed in %sexpect_015.php on line %d
+24
View File
@@ -0,0 +1,24 @@
--TEST--
test enable/disable assertions at runtime (assertions not completely disabled)
--INI--
zend.assertions=0
assert.exception=0
--FILE--
<?php
ini_set("zend.assertions", 0);
var_dump(assert(false));
var_dump(assert(true));
ini_set("zend.assertions", 1);
var_dump(assert(false));
var_dump(assert(true));
ini_set("zend.assertions", -1);
?>
--EXPECTF--
bool(true)
bool(true)
Warning: assert(): assert(false) failed in %sexpect_016.php on line 6
NULL
bool(true)
Warning: zend.assertions may be completely enabled or disabled only in php.ini in %sexpect_016.php on line 8
+19
View File
@@ -0,0 +1,19 @@
--TEST--
test enable/disable assertions at runtime (assertions completely disabled)
--INI--
zend.assertions=-1
assert.exception=0
--FILE--
<?php
var_dump(assert(false));
var_dump(assert(true));
ini_set("zend.assertions", 0);
ini_set("zend.assertions", 1);
?>
--EXPECTF--
bool(true)
bool(true)
Warning: zend.assertions may be completely enabled or disabled only in php.ini in %sexpect_017.php on line 4
Warning: zend.assertions may be completely enabled or disabled only in php.ini in %sexpect_017.php on line 5
+33
View File
@@ -0,0 +1,33 @@
--TEST--
test assertions in namespace
--INI--
zend.assertions=1
assert.exception=0
--FILE--
<?php
namespace Foo;
ini_set("zend.assertions", 0);
var_dump(\assert(false));
var_dump(\assert(true));
var_dump(assert(false));
var_dump(assert(true));
ini_set("zend.assertions", 1);
var_dump(\assert(false));
var_dump(\assert(true));
var_dump(assert(false));
var_dump(assert(true));
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
bool(true)
Warning: assert(): assert(false) failed in %sexpect_018.php on line 10
NULL
bool(true)
Warning: assert(): assert(false) failed in %sexpect_018.php on line 12
NULL
bool(true)
+19
View File
@@ -0,0 +1,19 @@
--TEST--
test assertions in namespace (assertions completely disabled)
--INI--
zend.assertions=-1
assert.exception=0
--FILE--
<?php
namespace Foo;
var_dump(\assert(false));
var_dump(\assert(true));
var_dump(assert(false));
var_dump(assert(true));
?>
--EXPECTF--
bool(true)
bool(true)
bool(true)
bool(true)
@@ -0,0 +1,11 @@
--TEST--
Empty statement in assert() shouldn't segfault
--FILE--
<?php
assert((function () { return true;; })());
echo "ok";
?>
--EXPECT--
ok
+24
View File
@@ -0,0 +1,24 @@
--TEST--
assgin to object leaks with ref
--FILE--
<?php
function &a($i) {
$a = "str". $i ."ing";
return $a;
}
class A {
public function test() {
$this->a = a(1);
unset($this->a);
}
}
$a = new A;
$a->test();
$a->test();
echo "okey";
?>
--EXPECT--
okey
+10
View File
@@ -0,0 +1,10 @@
--TEST--
'break' error (non positive numbers)
--FILE--
<?php
function foo () {
break 0;
}
?>
--EXPECTF--
Fatal error: 'break' operator accepts only positive numbers in %sbreak_error_001.php on line 3
+10
View File
@@ -0,0 +1,10 @@
--TEST--
'break' error (operator with non-constant operand)
--FILE--
<?php
function foo () {
break $x;
}
?>
--EXPECTF--
Fatal error: 'break' operator with non-constant operand is no longer supported in %sbreak_error_002.php on line 3
+10
View File
@@ -0,0 +1,10 @@
--TEST--
'break' error (not in the loop context)
--FILE--
<?php
function foo () {
break;
}
?>
--EXPECTF--
Fatal error: 'break' not in the 'loop' or 'switch' context in %sbreak_error_003.php on line 3
+12
View File
@@ -0,0 +1,12 @@
--TEST--
'break' error (wrong level)
--FILE--
<?php
function foo () {
while (1) {
break 2;
}
}
?>
--EXPECTF--
Fatal error: Cannot 'break' 2 levels in %sbreak_error_004.php on line 4
+1 -1
View File
@@ -8,7 +8,7 @@ setlocale(LC_ALL, $g_lang);
class InfoBlob {
var $foo;
function InfoBlob() {
function __construct() {
$this->foo = "Foo";
}
}
+1 -1
View File
@@ -9,7 +9,7 @@ class test
{
public $member;
function test() {
function __construct() {
$this->member = 1;
register_shutdown_function(array($this, 'destructor'));
}
+4 -1
View File
@@ -6,4 +6,7 @@ Bug #24773 (unset() of integers treated as arrays causes a crash)
unset($array["lvl1"]["lvl2"]["b"]);
?>
--EXPECTF--
Fatal error: Cannot use string offset as an array in %s on line %d
Fatal error: Uncaught Error: Cannot use string offset as an array in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+6 -6
View File
@@ -37,25 +37,25 @@ function my_error_handler($errno, $errstr, $errfile, $errline) {
set_error_handler('my_error_handler');
class None
class NoneTest
{
function __toString() {
}
}
$o = new None;
$o = new NoneTest;
echo $o;
echo "===THROW===\n";
class Error
class ErrorTest
{
function __toString() {
throw new Exception("This is an error!");
}
}
$o = new Error;
$o = new ErrorTest;
try {
echo $o;
}
@@ -68,7 +68,7 @@ catch (Exception $e) {
--EXPECTF--
Hello World!
===NONE===
string(52) "Method None::__toString() must return a string value"
string(56) "Method NoneTest::__toString() must return a string value"
===THROW===
Fatal error: Method Error::__toString() must not throw an exception in %sbug26166.php on line %d
Fatal error: Method ErrorTest::__toString() must not throw an exception in %sbug26166.php on line %d
+4 -1
View File
@@ -8,4 +8,7 @@ $a->$x = "string('')";
var_dump($a);
?>
--EXPECTF--
Fatal error: Cannot access empty property in %sbug29015.php on line 4
Fatal error: Uncaught Error: Cannot access empty property in %sbug29015.php:4
Stack trace:
#0 {main}
thrown in %sbug29015.php on line 4
+5 -1
View File
@@ -38,4 +38,8 @@ NULL
===CHILD===
string(4) "Base"
Fatal error: Cannot access private property ChildClass::$private_child in %sbug29674.php on line %d
Fatal error: Uncaught Error: Cannot access private property ChildClass::$private_child in %sbug29674.php:%d
Stack trace:
#0 %s(%d): BaseClass->printVars()
#1 {main}
thrown in %sbug29674.php on line %d
+1 -1
View File
@@ -2,7 +2,7 @@
Bug #29890 (crash if error handler fails)
--FILE--
<?php
function customErrorHandler($fErrNo,$fErrStr,$fErrFile,$fErrLine,&$fClass) {
function customErrorHandler($fErrNo,$fErrStr,$fErrFile,$fErrLine,$fClass) {
echo "error :".$fErrStr."\n";
}
+1 -1
View File
@@ -3,7 +3,7 @@ Bug #30080 (Passing array or non array of objects)
--FILE--
<?php
class foo {
function foo($arrayobj) {
function __construct($arrayobj) {
var_dump($arrayobj);
}
}
+2 -2
View File
@@ -21,8 +21,8 @@ $b = new Blah();
$b->show();
?>
--EXPECTF--
Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 7
Notice: Accessing static property Blah::$x as non static in %sbug30820.php on line 7
Blah::$x = 1
Strict Standards: Accessing static property Blah::$x as non static in %sbug30820.php on line 10
Notice: Accessing static property Blah::$x as non static in %sbug30820.php on line 10
$this->x = 5
+5 -1
View File
@@ -45,4 +45,8 @@ __autoload(Test2,2)
Caught: __autoload
__autoload(Test3,3)
Fatal error: Class 'Test3' not found in %sbug31102.php(%d) : eval()'d code on line 1
Fatal error: Uncaught Error: Class 'Test3' not found in %sbug31102.php(%d) : eval()'d code:1
Stack trace:
#0 %s(%d): eval()
#1 {main}
thrown in %sbug31102.php(%d) : eval()'d code on line 1
+2 -2
View File
@@ -3,13 +3,13 @@ Bug #31177 (memory corruption because of incorrect refcounting)
--FILE--
<?php
class foo {
function foo($n=0) {
function __construct($n=0) {
if($n) throw new Exception("new");
}
}
$x = new foo();
try {
$y=$x->foo(1);
$y=$x->__construct(1);
} catch (Exception $e) {
var_dump($x);
}
+1 -1
View File
@@ -17,6 +17,6 @@ $bar->destroyThis();
var_dump($bar);
?>
--EXPECTF--
Strict Standards: Only variables should be assigned by reference in %sbug31525.php on line 7
Notice: Only variables should be assigned by reference in %sbug31525.php on line 7
object(Foo)#1 (0) {
}
+1 -1
View File
@@ -5,7 +5,7 @@ Bug #32226 (SEGV with exception handler on non existing instance)
class A
{
public function A()
public function __construct()
{
set_exception_handler(array($this, 'EH'));
+2 -2
View File
@@ -68,13 +68,13 @@ Try static instance inside class :
New class Singleton1 created
Using old class Singleton1
Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 49
Notice: Only variables should be assigned by reference in %sbug32322.php on line 49
Using old class Singleton1
Try static instance inside function :
New class Singleton2 created
Using old class Singleton2
Strict Standards: Only variables should be assigned by reference in %sbug32322.php on line 55
Notice: Only variables should be assigned by reference in %sbug32322.php on line 55
Using old class Singleton2
Class Singleton1 destroyed at script end
Class Singleton2 destroyed at script end
+4 -1
View File
@@ -36,4 +36,7 @@ A Object
Notice: Indirect modification of overloaded property A::$whatever has no effect in %sbug32660.php on line 23
Fatal error: Cannot assign by reference to overloaded object in %sbug32660.php on line 23
Fatal error: Uncaught Error: Cannot assign by reference to overloaded object in %sbug32660.php:23
Stack trace:
#0 {main}
thrown in %sbug32660.php on line 23
+1 -1
View File
@@ -16,7 +16,7 @@ array_splice(X::getArr(), 1, 1);
print_r(X::getArr());
?>
--EXPECTF--
Strict Standards: Only variables should be passed by reference in %sbug33257.php on line 10
Notice: Only variables should be passed by reference in %sbug33257.php on line 10
Array
(
[0] => a
+4 -1
View File
@@ -5,4 +5,7 @@ Bug #33318 (throw 1; results in Invalid opcode 108/1/8)
throw 1;
?>
--EXPECTF--
Fatal error: Can only throw objects in %sbug33318.php on line 2
Fatal error: Uncaught Error: Can only throw objects in %sbug33318.php:2
Stack trace:
#0 {main}
thrown in %sbug33318.php on line 2
+5 -1
View File
@@ -26,4 +26,8 @@ FooTest(new Foo());
--EXPECTF--
Warning: Missing argument 1 for NormalTest(), called in %sbug33996.php on line %d and defined in %sbug33996.php on line %d
Hi!
Catchable fatal error: Argument 1 passed to FooTest() must be an instance of Foo, none given, called in %sbug33996.php on line %d and defined in %sbug33996.php on line %d
Fatal error: Uncaught TypeError: Argument 1 passed to FooTest() must be an instance of Foo, none given, called in %sbug33996.php on line %d and defined in %sbug33996.php:%d
Stack trace:
#0 %s(%d): FooTest()
#1 {main}
thrown in %sbug33996.php on line %d
+5 -1
View File
@@ -31,5 +31,9 @@ array(1) {
string(2) "ok"
}
Fatal error: Cannot use [] for reading in %sbug34064.php on line 18
Fatal error: Uncaught Error: Cannot use [] for reading in %sbug34064.php:18
Stack trace:
#0 %s(%d): XmlTest->run()
#1 {main}
thrown in %sbug34064.php on line 18
+1 -1
View File
@@ -23,7 +23,7 @@ Array
[0] => main
)
Strict Standards: Only variables should be passed by reference in %sbug35393.php on line 12
Notice: Only variables should be passed by reference in %sbug35393.php on line 12
Array
(
[0] => main
+4 -1
View File
@@ -8,4 +8,7 @@ $a = clone 0;
$a[0]->b = 0;
?>
--EXPECTF--
Fatal error: __clone method called on non-object in %sbug36071.php on line 2
Fatal error: Uncaught Error: __clone method called on non-object in %sbug36071.php:2
Stack trace:
#0 {main}
thrown in %sbug36071.php on line 2
+4 -1
View File
@@ -11,4 +11,7 @@ $x = new Foo();
bar();
?>
--EXPECTF--
Fatal error: Call to undefined function bar() in %sbug36268.php on line 8
Fatal error: Uncaught Error: Call to undefined function bar() in %sbug36268.php:8
Stack trace:
#0 {main}
thrown in %sbug36268.php on line 8
Loaded 100 of 3245 files, more files were not shown because too many files have changed in this diff. Show more