Compare commits

..
Author SHA1 Message Date
Davey Shafik cd162bd4ab Bump versions/dates for release of 7.1.0alpha3 2016-07-05 22:52:18 -07:00
Christoph M. Becker 5cb774faf1 Merge branch 'master' of http://git.php.net/repository/php-src 2016-07-05 16:59:20 +02:00
Nikita Popov 441d44c2eb Merge branch 'PHP-7.0' 2016-07-05 16:57:32 +02:00
Christoph M. Becker 411c809787 Merge branch 'PHP-7.0' 2016-07-05 16:56:39 +02:00
Nikita Popov 1bdfdb1733 Add NEWS entries 2016-07-05 16:56:36 +02:00
Lauri Kenttä 3380acbdd4 base64_decode: fix bug #72264 ('VV= =' shouldn't fail in strict mode) 2016-07-05 16:51:36 +02:00
Lauri Kenttä 77e8c299ba base64_decode: remove redundant code
case 1 is already handled in the first lines of the for loop;
it would only be entered in the invalid case where the string
continues past the defined length (ch != 0 but length-- == 0).

case 2 and case 3 are redundant, since k >= j and later the
string is truncated to j characters anyway.
2016-07-05 16:51:36 +02:00
Lauri Kenttä 6d17ee744f base64_decode: fix bug #72263 (skips char after padding) 2016-07-05 16:51:36 +02:00
Lauri Kenttä 260c07db85 base64_decode: fix bug #72152 (fail on NUL bytes in strict mode)
This added check is actually for NOT failing in NON-strict mode.
The ch == -2 check later causes the desired failure in strict mode.
2016-07-05 16:51:36 +02:00
Lauri Kenttä fbc74bb5f9 base64_decode: remove redundant check
If length == 0 || *current != '=' is false, the for loop will always
end up in this same point, until the if statement becomes true.
Thus, the if statement is not needed.
2016-07-05 16:51:36 +02:00
Lauri Kenttä 59d36bfcf2 base64_decode: reorder to fix out of bounds read 2016-07-05 16:51:36 +02:00
Christoph M. Becker 869604eefb Update NEWS 2016-07-05 16:49:40 +02:00
Christoph M. Becker c015095042 Merge branch 'PHP-5.6' into PHP-7.0
# Resolved conflicts:
#	ext/spl/spl_directory.c
2016-07-05 16:43:39 +02:00
Valentin VALCIU 4c24f170ea Fix bug #55701: GlobIterator throws LogicException
GlobIterator throws LogicException with message 'The parent constructor was
not called' on its first operation when the glob expression doesn't match
any file. It also throws on the first operation after the iteration
completes, when the glob expression matches some files.

# Resolved conflicts:
#	ext/spl/spl_directory.c
2016-07-05 16:39:25 +02:00
Jeremy Mikola 7aaa310d7b Export php_date_get_interface_ce() for extension use 2016-07-05 16:19:45 +02:00
Nikita Popov cc909a8923 Merge branch 'PHP-7.0' 2016-07-05 16:10:25 +02:00
Adam Baratz f22bc6438d Use size_t instead of int for loop counter 2016-07-05 16:09:27 +02:00
Valentin V. Bartenev a129799628 Removed duplicate php.h include in SAPI.h
It's already included a few lines above.
2016-07-05 16:06:20 +02:00
Valentin V. Bartenev baa812ca95 Removed a surplus condition in php_register_variable_ex()
The test for equality to " " implies that the character isn't NUL.
2016-07-05 16:06:19 +02:00
Anatol Belski 4a522e3b17 fix error text 2016-07-05 15:58:55 +02:00
Anatol Belski 28ed30df53 fix datatypes and add range checks 2016-07-05 15:54:57 +02:00
Nikita Popov dbe6a23194 Closure::fromCallable(): Getting non-static method statically
As this is new functionality, I'm going directly for a TypeError,
rather than a deprecation warning.
2016-07-05 15:52:03 +02:00
Nikita Popov ceae9fb540 Closure::fromCallable(): Better LSB handling
The previous fix missed the "late" part of "late static binding" :)
2016-07-05 15:44:17 +02:00
Nikita Popov e959a9b652 Closure::fromCallable(): Fix late static binding 2016-07-05 15:31:11 +02:00
Anatol Belski de643ead3e re-add range check 2016-07-05 15:15:20 +02:00
Nikita Popov e395b62c51 Closure::fromCallable(): Use fake closures 2016-07-05 15:13:51 +02:00
Nikita Popov 03fbc27f07 Closure::fromCallable(): Fix test files and names 2016-07-05 15:13:51 +02:00
Anatol Belski 5920445a5f Merge branch 'PHP-7.0'
* PHP-7.0:
  fix possible optimization bug
2016-07-05 15:04:10 +02:00
Anatol Belski 4576c41291 fix possible optimization bug 2016-07-05 14:57:16 +02:00
Nikita Popov 041476f4ae Closure::fromCallable(): Fix stack corruption
So the tests work at least...
2016-07-05 14:54:35 +02:00
Nikita Popov 2b46e3c710 Merge branch 'PHP-7.0' 2016-07-05 14:34:20 +02:00
Nikita Popov 8a555d7c66 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_compile.c
2016-07-05 14:32:38 +02:00
Pedro Magalhães 08777e9615 Don't enforce LSP if prototype method is private
Fixes bug #72496.
2016-07-05 14:30:22 +02:00
Anatol Belski 382f6a20c9 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix typo
2016-07-05 12:38:14 +02:00
Anatol Belski adf0920065 fix typo 2016-07-05 12:36:55 +02:00
Anatol Belski 41622c86bd Revert "fix datatype and add range check"
This reverts commit 14bdd8246c.
2016-07-05 10:35:19 +02:00
Dmitry Stogov 818a47c24a Fixed tests 2016-07-05 11:30:55 +03:00
Anatol Belski 14bdd8246c fix datatype and add range check 2016-07-05 10:04:23 +02:00
Xinchen Hui 11d0101516 Some cleanup:
1. use c89 comments
2. exception should not be swallowd
3. ZVAL_OBJ may have problem if obj is NULL in the feature(who knows)
2016-07-05 15:31:46 +08:00
Aaron Piotrowski 3f108f50f9 Merge branch 'pull-request/1929' 2016-07-05 02:29:53 -05:00
Aaron Piotrowski 9962ab2962 Update NEWS and UPGRADING 2016-07-05 02:10:33 -05:00
Aaron Piotrowski 24237027bc Merge branch 'throw-error-in-extensions' 2016-07-05 02:08:39 -05:00
Joe Watkins 42666da171 upgrading entry for Closure::fromCallable 2016-07-05 08:03:00 +01:00
Joe Watkins b9b048c113 news entry for Closure::fromCallable 2016-07-05 08:01:31 +01:00
Joe Watkins f4a6b74667 Merge branch 'pull-request/1906' 2016-07-05 07:57:06 +01:00
Anatol Belski 5ee9ac9898 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare next version
2016-07-05 08:10:26 +02:00
Anatol Belski 2ed986d3c8 prepare next version 2016-07-05 08:09:20 +02:00
Anatol Belski 4b9362d347 Increase ODBCVER to 3.5 by default 2016-07-04 16:48:59 +02:00
Anatol Belski 421cc65510 Merge branch 'PHP-7.0'
* PHP-7.0:
  add missing NEWS entry
2016-07-04 11:07:54 +02:00
Anatol Belski d5adc1c1be add missing news entry 2016-07-04 11:07:34 +02:00
Anatol Belski a4a34c2c0b add missing NEWS entry 2016-07-04 11:05:49 +02:00
Aaron Piotrowski d8507d4f58 Update NEWS and UPGRADING 2016-07-03 23:35:40 -05:00
Aaron Piotrowski 40cfc4fccc Merge branch 'iterable' 2016-07-03 23:12:37 -05:00
Aaron Piotrowski d9a9cf8eca Merge branch 'master' into iterable 2016-07-03 22:42:10 -05:00
Christoph M. Becker c2b29a58bc Merge branch 'PHP-7.0' 2016-07-04 03:20:01 +02:00
Christoph M. Becker 60fc27f912 Merge branch 'PHP-5.6' into PHP-7.0 2016-07-04 03:18:50 +02:00
Christoph M. Becker 717a043a32 Fix typo in comment 2016-07-04 03:17:17 +02:00
Ferenc Kovacs 3380b1ed55 Merge branch 'PHP-7.0' 2016-07-03 23:37:58 +02:00
Ferenc Kovacs 50433f708e Merge branch 'PHP-5.6' into PHP-7.0 2016-07-03 23:35:00 +02:00
Ferenc Kovacs 9a9ede00bc this was actually fixed in 5.6.23 2016-07-03 23:31:32 +02:00
Xinchen Hui f6aaaf02a9 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  update NEWS
  extend test
  Fixed bug #72534 stream_socket_get_name crashes
2016-07-03 23:57:42 +08:00
Xinchen Hui 9f63291ab6 Update NEWS 2016-07-03 23:57:23 +08:00
Xinchen Hui ee2d662434 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72538 (readline_redisplay crashes php)
2016-07-03 23:57:02 +08:00
Xinchen Hui 612aff3a8a Fixed bug #72538 (readline_redisplay crashes php) 2016-07-03 23:56:27 +08:00
Anatol Belski 4fddc3889e update NEWS 2016-07-03 17:16:53 +02:00
Anatol Belski b60ecc890e Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  extend test
  Fixed bug #72534 stream_socket_get_name crashes
2016-07-03 17:16:10 +02:00
Anatol Belski b90c2fc7b9 update NEWS 2016-07-03 17:15:19 +02:00
Anatol Belski 8b229bfeeb extend test 2016-07-03 17:13:46 +02:00
Anatol Belski ea9da7529c Fixed bug #72534 stream_socket_get_name crashes 2016-07-03 17:09:19 +02:00
Christoph M. Becker f6af81d5c8 Update NEWS and UPGRADING 2016-07-03 12:43:30 +02:00
Christoph M. Becker 73303b6c24 Merge branch 'pull-request/1945' 2016-07-03 12:33:27 +02:00
Xinchen Hui 9fe4bff79c update NEWS 2016-07-03 09:31:06 +08:00
Xinchen Hui 72ec312f23 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow)
2016-07-03 09:30:48 +08:00
Xinchen Hui 6744737577 Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow) 2016-07-03 09:30:33 +08:00
Anatol Belski 1fe553065a update NEWS 2016-07-01 18:45:27 +02:00
Anatol Belski dad2a3ef67 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #72498 variant_date_from_timestamp null dereference
2016-07-01 18:45:02 +02:00
Anatol Belski c9fa39da5e update NEWS 2016-07-01 18:44:20 +02:00
Anatol Belski 3455848dfe Fixed bug #72498 variant_date_from_timestamp null dereference 2016-07-01 18:41:50 +02:00
Xinchen Hui d1dd474ff9 Fixed bug #72523 (dtrace issue with reflection (failed test)) 2016-07-01 18:50:35 +08:00
Dmitry Stogov acdafc0a27 Prevent inlining through call_user_func() and call_user_func_array() 2016-07-01 00:16:54 +03:00
Dmitry Stogov f2e4fc307b Fixed ext/opcache/tests/bug70207.phpt 2016-06-30 21:50:57 +03:00
Dmitry Stogov 1a14533806 Introduce new CHECK_VAR instruction to keep warnings about undefined variables. 2016-06-30 21:40:34 +03:00
Dmitry Stogov 3a45242669 Disable inlining for $this->foo(), because $this may be not in object context 2016-06-30 21:05:48 +03:00
Dmitry Stogov c3667a5eed Disable inlining for $this->foo(), because $this may be used not in object context 2016-06-30 21:03:08 +03:00
Dmitry Stogov 5ae07dc34a Fixed incorrect constant propagation 2016-06-30 20:48:16 +03:00
Aaron Piotrowski e9832b5ab1 Switch failure to register class back to E_ERROR 2016-06-30 12:01:44 -05:00
Nikita Popov 6f8273e3bf Fix RT_CONSTANT_EX typo 2016-06-30 17:42:57 +02:00
Dmitry Stogov d898344663 Inline simple constant functions 2016-06-30 17:04:25 +03:00
Jakub Zelenka e247e93961 Merge branch 'json_api_return_codes' 2016-06-29 20:51:10 +01:00
Jakub Zelenka 9fabb7cac7 Remove openssl test 029 as it is incomplete 2016-06-29 20:49:14 +01:00
Aaron Piotrowski 9638e45d2f Return null instead of false 2016-06-29 10:02:17 -05:00
Aaron Piotrowski e4b1bfc075 Add missed return replacing bail out 2016-06-29 09:56:25 -05:00
Dmitry Stogov 871cd76af4 clanup 2016-06-29 17:53:39 +03:00
Aaron Piotrowski 583386d59e Swap type check order 2016-06-29 09:36:33 -05:00
Dmitry Stogov f5dbba0d54 Revert "Skip new OpenSSL ECC tests on 32bit"
This reverts commit 0a4f89bc29.
2016-06-29 11:43:31 +03:00
Remi Collet d53fa7f451 Improve php-fpm systemd unit file
- use PrivateTmp, now available everwhere, for better security
- add comment about how to customize the unit file
2016-06-29 06:48:06 +02:00
Jakub Zelenka bea131f0bc Add return code from json API functions
It will allow fix few json bugs in a better way
2016-06-28 20:49:38 +01:00
Jakub Zelenka 0a4f89bc29 Skip new OpenSSL ECC tests on 32bit
There has been reported that they fail on 32bit so
they will be skipped till the issue is investigated.
2016-06-28 20:39:31 +01:00
Nikita Popov e48ded4bf8 Merge branch 'PHP-7.0' 2016-06-28 21:36:28 +02:00
Nikita Popov 9b8f1d6037 Don't use FUNC_ARG fetches for call_user_func()
This makes no sense -- SEND_USER can't even handle INDIRECTs.
2016-06-28 21:34:20 +02:00
Jakub Zelenka 53edf441b7 Fix typos in UPGRADING 2016-06-28 20:27:11 +01:00
Nikita Popov 45cfe7852a Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2016-06-28 20:57:55 +02:00
Nikita Popov fafe01b07b Make call_user_func() on reference args consistent
Previously reference arguments were allowed if call_user_func()
was compiled to SEND_USER and not otherwise. Make it consistent
by always forbidding them.
2016-06-28 20:43:38 +02:00
Nikita Popov 2710ce22a0 Remove assert for now 2016-06-28 18:47:29 +02:00
Nikita Popov cb7cc16c2d Use DO_UCALL for method calls 2016-06-28 12:05:03 +02:00
Nikita Popov cdd58edf42 More type inferences fixes 2016-06-28 11:49:50 +02:00
Dmitry Stogov 0cfb47651c Fixed compilation warnings 2016-06-28 11:37:51 +03:00
Stanislav Malyshev 0ac5144836 Fix bug #72099: xml_parse_into_struct segmentation fault 2016-06-28 01:23:24 -07:00
Xinchen Hui b8a9e98166 Fixed build 2016-06-28 15:54:20 +08:00
Xinchen Hui 791d16834c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
2016-06-28 15:39:10 +08:00
Xinchen Hui 76370f30db Fixed test 2016-06-28 15:39:02 +08:00
Xinchen Hui 63a5b1994b Update NEWS 2016-06-28 15:37:33 +08:00
Xinchen Hui 3a4b8f6719 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72508 (strange references after recursive function call and "switch" statement)
2016-06-28 15:36:58 +08:00
Xinchen Hui ce7e180a04 Fixed bug #72508 (strange references after recursive function call and "switch" statement) 2016-06-28 15:36:50 +08:00
Xinchen Hui e9143d5ab2 Merge branch 'PHP-7.0'
* PHP-7.0:
  MFH: Fixed fd leak (the origin commit can not be cherry-picked)

Conflicts:
	main/fastcgi.c
	sapi/cli/ps_title.c
2016-06-28 11:37:20 +08:00
Xinchen Hui de7a6b1232 MFH: Fixed fd leak (the origin commit can not be cherry-picked) 2016-06-28 11:36:27 +08:00
Xinchen Hui 7d729d9cc0 Merge branch 'master' of https://github.com/devnexen/php-src
* 'master' of https://github.com/devnexen/php-src:
  couple of resource leaks fixes and use after free's
2016-06-28 11:29:31 +08:00
Xinchen Hui 7b6235ee05 Updated NEWS 2016-06-28 11:12:22 +08:00
Xinchen Hui 4fb5885bf8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72505 (readfile() mangles files larger than 2G)
2016-06-28 11:12:01 +08:00
Xinchen Hui 86732b4ea0 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 the fix for #72403 on nl2br
  Update NEWS
  Update NEWS
  Fix #70628: Clearing bindings on an SQLite3 statement doesn't work
  5.5.38 now
2016-06-28 11:11:39 +08:00
Xinchen Hui c73a2f7f45 Fixed bug #72505 (readfile() mangles files larger than 2G) 2016-06-28 11:11:25 +08:00
Davey Shafik ae8cf3cb54 Update NEWS 2016-06-27 14:23:00 -07:00
Davey Shafik 32454700eb Merge support for HTTP/2 Server Push in ext/curl 2016-06-27 13:34:37 -07:00
Stanislav Malyshev 0eb630db16 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix the fix for #72403 on nl2br
  5.5.38 now
2016-06-27 12:33:53 -07:00
Stanislav Malyshev ec82c6b4e1 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix the fix for #72403 on nl2br
  5.5.38 now

Conflicts:
	ext/standard/string.c
2016-06-27 12:32:58 -07:00
Stanislav Malyshev b8487b6a7d Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix the fix for #72403 on nl2br
  5.5.38 now

Conflicts:
	configure.in
	main/php_version.h
2016-06-27 12:32:11 -07:00
Stanislav Malyshev 25bd11cf27 Fix the fix for #72403 on nl2br 2016-06-27 12:30:42 -07:00
Jakub Zelenka 947257b79e Merge branch 'precise_float' 2016-06-27 19:40:44 +01:00
Jakub Zelenka 341b35114e Update NEWS and UPGRADING 2016-06-27 19:40:17 +01:00
Christoph M. Becker 62f366e056 Update NEWS 2016-06-27 17:25:06 +02:00
Christoph M. Becker 0d0f5976d8 Merge branch 'PHP-7.0' 2016-06-27 17:18:44 +02:00
Christoph M. Becker b5fc4dbf21 Update NEWS 2016-06-27 17:17:34 +02:00
Christoph M. Becker 0f03224d59 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-27 17:09:55 +02:00
Christoph M. Becker 1314db7109 Update NEWS 2016-06-27 17:07:26 +02:00
Christoph M. Becker 57940605da Fix #70628: Clearing bindings on an SQLite3 statement doesn't work
Obiously, it isn't sufficient to call sqlite3_clear_bindings() alone, but
also the bound_params of the php_sqlite3_stmt have to be cleared.
2016-06-27 17:06:27 +02:00
David Carlier d0217e0022 Merge branch 'master' of https://github.com/php/php-src 2016-06-27 11:49:57 +01:00
Davey Shafik ad15e1ccda Implement curl server push 2016-06-27 01:17:32 -07:00
Davey Shafik d56d2f452b Refactor easy handle lookup 2016-06-27 00:52:46 -07:00
Davey Shafik 63275a1e58 Refactor setup of handlers on copied curl handles 2016-06-27 00:52:46 -07:00
Dmitry Stogov 044e2718fe Fixed executor without global register variales (gcc warnings or clang errors) 2016-06-27 10:36:41 +03:00
David Carlier ca91509957 Merge branch 'master' of https://github.com/php/php-src 2016-06-27 07:45:27 +01:00
David Carlier 85e985f191 couple of resource leaks fixes and use after free's 2016-06-27 07:44:21 +01:00
Pierrick Charron e53982320b Update NEWS 2016-06-26 13:36:44 -04:00
Pierrick Charron 3d71c1de7a Add curl_multi/share_errno() curl_share_strerror()
Add 3 new functions :
- curl_multi_errno()
- curl_share_errno()
- curl_share_strerror()

https://wiki.php.net/rfc/new-curl-error-functions
2016-06-26 13:29:42 -04:00
Jakub Zelenka f7281ce483 Merge branch 'openssl_ecc_keypair' 2016-06-26 17:29:29 +01:00
Jakub Zelenka f05736b37c Update NEWS with ECC curve support info 2016-06-26 17:29:02 +01:00
Jakub Zelenka e8a09ddc07 Improve openssl ecc keypair support implementation 2016-06-26 16:55:51 +01:00
Dominic Luechinger 9688138d38 Adds initial support to generate and work with ECC public key pair
New features:
- openssl_get_curve_names => list ECC curve names
- generate a ECC public key pair
- generate an CSR with an ECC key
- export x,y,d params of ECC public/private key

Thanks to @bukka for the review and feedback
2016-06-26 16:15:25 +01:00
Jakub Zelenka 3f13507dd2 Use one place to define max length of double
Introduce new constant PHP_DOUBLE_MAX_LENGTH for that purpose
2016-06-26 14:03:01 +01:00
Jakub Zelenka 158b537c99 Change default for serialize_precision to -1 (use mode 0) 2016-06-26 13:41:22 +01:00
Jakub Zelenka 71774c241e Add decimal point in double serialization 2016-06-26 13:26:43 +01:00
Jakub Zelenka 75b86a2c22 Replace json.precision with serialize_precision 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki 3043be3716 Avoid magic number. NUM_BUF_SIZE may be in header. Suggestions are appreciated 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki b509b24e35 Add better value to test 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki 086835f2b3 Remove unneeded WS change 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki a160b518d0 Remove unneeded output from test 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki c71550472a Fix mode when precision=0. Add test 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki 5f5dc04fc2 Add cast 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki 3f23e6bca9 Enable 0 mode for echo/print 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki e3d9f1f4d8 Simply use ndigit for flag for zend_dtoa mode 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki 3aa2aadcf0 Add JSON_G(precision) 2016-06-26 13:26:43 +01:00
Yasuo Ohgaki f943daf2d7 Initial patch for 0 mode float conversion. The magic number is better to be improved. Any suggestion where to define it? 2016-06-26 13:26:42 +01:00
Lior Kaplan ad32c7b538 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add CVE info for PHP 5.6.22
  Add CVE info for PHP 5.6.23
  Add missing entries for PHP 5.6.23
2016-06-25 21:32:38 +03:00
Lior Kaplan d826bdf1c7 Align NEWS files with 7.0.8 and Changelog 2016-06-25 21:25:57 +03:00
Lior Kaplan b4873e57b4 Add CVE info for PHP 5.6.22 2016-06-25 20:31:26 +03:00
Lior Kaplan 6bd527771c Add CVE info for PHP 5.6.23 2016-06-25 20:28:51 +03:00
Lior Kaplan 02c24be8e4 Add missing entries for PHP 5.6.23 2016-06-25 19:56:00 +03:00
Xinchen Hui 8de8636a2b Merge branch 'PHP-7.0' 2016-06-24 18:08:28 -07:00
Xinchen Hui 0183a9af5a Fixed bug #72484 (SCRIPT_FILENAME shows wrong path if the user specify router.php) 2016-06-24 18:08:16 -07:00
Dmitry Stogov a485ae2871 Fallback to kill() if raise() doesn't work 2016-06-24 19:32:24 +03:00
Dmitry Stogov e5a8dd8ca9 Add temporary workaround for raise() failure 2016-06-24 18:00:47 +03:00
Xinchen Hui 03ebdb4616 Fixed unused var 2016-06-24 21:15:00 +08:00
Xinchen Hui 3440054ca8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed format

Conflicts:
	ext/opcache/zend_shared_alloc.c
2016-06-24 21:14:02 +08:00
Xinchen Hui 53de1c2830 Fixed format 2016-06-24 21:13:04 +08:00
Dmitry Stogov a6387c0aa5 Added ability to make non-local control transfer through interrupt function 2016-06-24 12:20:41 +03:00
Xinchen Hui 700ba3fc1e Update NEWS 2016-06-24 13:56:41 +08:00
Anatol Belski c9a538cdb4 improve ZEND_MODULE_GLOBALS_BULK macro, fix data type 2016-06-23 16:47:04 +02:00
Anatol Belski 35bbcd17a9 remove unused declarations 2016-06-23 15:02:43 +02:00
Xinchen Hui 697e3bb48b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  typo
  Turn safe timeout handling into general interrupt handling ability.
  Fixed compilation warnings
  yet another test rewrite
  Add additional LDAP SASL constants
  Add tests for LDAP_OPT_* constants
  Add LDAP TLS Protocol Min constants
  Add tests for the LDAP CRL check option
  Add missing LDAP constants
2016-06-23 20:59:28 +08:00
Xinchen Hui eb65db0808 Use zend_sort in array_multisort (tests change is expected) 2016-06-23 20:58:45 +08:00
Dmitry Stogov 13a2dde62a typo 2016-06-23 15:22:08 +03:00
Dmitry Stogov d0460d8f6b Turn safe timeout handling into general interrupt handling ability. 2016-06-23 15:01:23 +03:00
Dmitry Stogov adc95c5114 Fixed compilation warnings 2016-06-23 12:47:06 +03:00
Anatol Belski 4ac29543d6 Merge branch 'PHP-7.0'
* PHP-7.0:
  yet another test rewrite
2016-06-23 09:42:50 +02:00
Anatol Belski 056c2ce349 yet another test rewrite 2016-06-23 09:42:17 +02:00
Côme Bernigaud a5858ca910 Merge branch 'PHP-7.1.0'
* PHP-7.1.0:
  Add additional LDAP SASL constants
  Add tests for LDAP_OPT_* constants
  Add LDAP TLS Protocol Min constants
  Add tests for the LDAP CRL check option
  Add missing LDAP constants
2016-06-23 09:13:40 +02:00
Xinchen Hui f0bbc230f7 Update NEWS 2016-06-23 14:07:31 +08:00
Xinchen Hui dad500ef6a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72476 (Memleak in jit_stack)
2016-06-23 14:07:08 +08:00
Xinchen Hui bd74e7d013 Fixed bug #72476 (Memleak in jit_stack) 2016-06-23 14:06:48 +08:00
Côme Bernigaud 355c5954da Merge branch 'pull-request/1946' into PHP-7.1.0
* pull-request/1946:
  Add additional LDAP SASL constants
  Add tests for LDAP_OPT_* constants
  Add LDAP TLS Protocol Min constants
  Add tests for the LDAP CRL check option
  Add missing LDAP constants
2016-06-23 07:22:40 +02:00
Anatol Belski 782caa7301 update NEWS 2016-06-22 20:20:48 +02:00
Anatol Belski 05ae6b01e1 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-06-22 20:19:57 +02:00
Anatol Belski f90c832cb2 update NEWS 2016-06-22 20:19:09 +02:00
Anatol Belski 0b0758cc31 Merge branch 'PHP-7.0'
* PHP-7.0:
  rewrite test
2016-06-22 19:47:59 +02:00
Anatol Belski 4edbac6ec5 rewrite test 2016-06-22 19:46:02 +02:00
Anatol Belski d20372cf6c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72463 mail fails with invalid argument
2016-06-22 19:10:57 +02:00
Anatol Belski e453904251 Fixed bug #72463 mail fails with invalid argument 2016-06-22 19:06:33 +02:00
Joe Watkins 32721aa9d5 Merge branch 'master' of https://github.com/php/php-src 2016-06-22 16:07:16 +01:00
Joe Watkins b70322bbd9 Merge branch 'PHP-7.1.0'
* PHP-7.1.0:
  merge news entries from 5.5
2016-06-22 16:07:01 +01:00
Joe Watkins 451586da17 merge news entries from 5.5 2016-06-22 15:55:16 +01:00
Dmitry Stogov f8faffe37e Merge branch 'PHP-7.0'
* PHP-7.0:
  Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others).
2016-06-22 17:28:59 +03:00
Dmitry Stogov 3c84e5e1ce Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others). 2016-06-22 17:23:04 +03:00
Dmitry Stogov 6f40b01dee Regenerated html_tables.h to fix compilation warnings 2016-06-22 17:22:06 +03:00
Julien Pauli e2add3ed87 Fixed parse_url() for better compliance with RFC3986 2016-06-22 14:05:25 +02:00
Anatol Belski 9c1fba8593 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test cleanup
2016-06-22 12:23:24 +02:00
Anatol Belski c196f9cdf7 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix test cleanup
2016-06-22 12:22:03 +02:00
Anatol Belski 4638ba9c07 fix test cleanup 2016-06-22 12:20:02 +02:00
Anatol Belski b6259fc91f Merge branch 'PHP-7.0'
* PHP-7.0:
  fix dir separator in test
2016-06-22 11:45:30 +02:00
Anatol Belski 98f6248dcf Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix dir separator in test
2016-06-22 11:44:14 +02:00
Anatol Belski de1c407348 fix dir separator in test 2016-06-22 11:41:05 +02:00
Anatol Belski 0d953f66be fix test 2016-06-22 08:41:39 +02:00
Joe Watkins 378de94faa bump version after release 2016-06-22 06:33:20 +01:00
Joe Watkins 4e312c3f00 bump version for release 2016-06-22 06:30:30 +01:00
Ferenc Kovacs 5cf9e0189d Merge branch 'PHP-7.0' 2016-06-22 03:09:18 +02:00
Ferenc Kovacs 63d5e21f42 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-22 03:08:10 +02:00
Ferenc Kovacs ba980d0a62 update NEWS 2016-06-22 03:03:01 +02:00
Dmitry Stogov ffef14a0a1 Fixed test according to FR #46600 ("_empty_" key in objects) 2016-06-22 00:56:56 +03:00
Dmitry Stogov 323b2733f6 Fixed compilation warnings 2016-06-22 00:40:50 +03:00
Dmitry Stogov 4ccbe03e44 Enable Zend signals by default 2016-06-21 20:14:19 +03:00
Dmitry Stogov 1433162083 Fixed compilation warnings 2016-06-21 20:12:29 +03:00
Dmitry Stogov ccf4ae95bd Restored signed format specifier 2016-06-21 20:12:04 +03:00
Dmitry Stogov a0df06fc4b Revert "sync tests with the latest format fixes"
This reverts commit ef7116d55b.
2016-06-21 20:10:44 +03:00
Anatol Belski ef7116d55b sync tests with the latest format fixes 2016-06-21 19:06:28 +02:00
Anatol Belski da15af8b3f fix include order 2016-06-21 18:58:11 +02:00
Anatol Belski c1db861fb4 fix typos 2016-06-21 17:44:29 +02:00
Anatol Belski bdd127528e Merge branch 'PHP-7.0'
* PHP-7.0:
  fix two remaining tests
2016-06-21 17:25:12 +02:00
Anatol Belski ed10168b30 fix two remaining tests 2016-06-21 17:24:08 +02:00
Dmitry Stogov 22ecd4428a Fixed compilation warnings 2016-06-21 17:56:07 +03:00
Anatol Belski 307e6b7ac9 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test
2016-06-21 16:23:50 +02:00
Anatol Belski 1d5a4520be Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix test
2016-06-21 16:22:51 +02:00
Anatol Belski e3bd360ec9 fix test
There is a difference between TS and NTS warning message, since
virtual_mkdir vs glibc directly is used. This has no effect for
the actual fix functionality.
2016-06-21 16:20:03 +02:00
Dmitry Stogov 8f39293b86 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  re-fix leak
  re-fix leak
  Revert "fix leak"
  Revert "fix leak"
2016-06-21 16:55:59 +03:00
Dmitry Stogov ebb99a1a3a Fixed compilation warnings 2016-06-21 16:55:17 +03:00
Anatol Belski 166a2288ee Merge branch 'PHP-7.0'
* PHP-7.0:
  re-fix leak
  re-fix leak
  Revert "fix leak"
2016-06-21 15:22:31 +02:00
Anatol Belski 5a9f0c77ad re-fix leak 2016-06-21 15:21:58 +02:00
Anatol Belski 7002c32809 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  re-fix leak
  Revert "fix leak"
2016-06-21 15:21:26 +02:00
Anatol Belski a00350486f re-fix leak 2016-06-21 15:18:10 +02:00
Anatol Belski 4fcf7683db Merge branch 'master' of git.php.net:php-src 2016-06-21 15:14:22 +02:00
Dmitry Stogov 1616038698 Added ZEND_ATTRIBUTE_FORMAT to some middind functions.
"%p" replaced by ZEND_LONG_FMT to avoid compilation warnings.
Fixed most incorrect use cases of format specifiers.
2016-06-21 16:00:37 +03:00
Anatol Belski f74c88e945 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "fix leak"
2016-06-21 14:59:56 +02:00
Anatol Belski 9a9249a8d0 Revert "fix leak"
This reverts commit 757105e2a2.
2016-06-21 14:58:15 +02:00
Anatol Belski e6cc30e167 Revert "fix leak"
This reverts commit c5d9c50897.
2016-06-21 14:51:43 +02:00
Anatol Belski 67e23f4be3 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix leak
  fix leak
2016-06-21 13:27:09 +02:00
Anatol Belski e8f2315a00 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix leak
2016-06-21 13:26:34 +02:00
Anatol Belski 757105e2a2 fix leak 2016-06-21 13:26:12 +02:00
Julien Pauli 155619184f 5.5.38 now 2016-06-21 13:10:37 +02:00
Anatol Belski c5d9c50897 fix leak 2016-06-21 12:29:41 +02:00
Remi Collet 8726de48c8 Merge branch 'PHP-7.0'
* PHP-7.0:
  bump zip version
2016-06-21 11:17:08 +02:00
Remi Collet 69fd1133d0 bump zip version 2016-06-21 11:16:21 +02:00
Anatol Belski d9a4b7cc24 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove the huge test file, generate it on the fly instead
  remove the huge test file, generate it on the fly instead
2016-06-21 09:55:20 +02:00
Anatol Belski 722ed4c757 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  remove the huge test file, generate it on the fly instead
  remove the huge test file, generate it on the fly instead
2016-06-21 09:54:34 +02:00
Anatol Belski 6d7500c14c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  remove the huge test file, generate it on the fly instead
2016-06-21 09:53:04 +02:00
Anatol Belski 8a4a73e61b Merge branch 'PHP-7.0'
* PHP-7.0:
  remove the huge test file, generate it on the fly instead
2016-06-21 09:49:13 +02:00
Anatol Belski 2af71a04b0 remove the huge test file, generate it on the fly instead 2016-06-21 09:48:11 +02:00
Anatol Belski fd93c8601d remove the huge test file, generate it on the fly instead 2016-06-21 09:45:26 +02:00
Anatol Belski 0c7250f260 remove the huge test file, generate it on the fly instead 2016-06-21 09:42:38 +02:00
Stanislav Malyshev 60ca22a015 Merge branch 'PHP-7.0'
* PHP-7.0:
  Now the right bug #
  Fix NEWS
2016-06-21 00:28:26 -07:00
Stanislav Malyshev 7c389e8429 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Now the right bug #
  Fix NEWS

Conflicts:
	configure.in
	main/php_version.h
2016-06-21 00:28:17 -07:00
Stanislav Malyshev 5b90a8bd7c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Now the right bug #
  Fix NEWS
2016-06-21 00:27:46 -07:00
Stanislav Malyshev 3e0397c25c Merge branch 'PHP-7.0'
* PHP-7.0:
  iFixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow
  update NEWS
  fix tests
  fix build
  Fix bug #72455:  Heap Overflow due to integer overflows
  Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fix bug #72407: NULL Pointer Dereference at _gdScaleVert
  Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free
  Fix bug #72298	pass2_no_dither out-of-bounds access
  Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
  Fix bug #72262 - do not overflow int
  Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
  Fix bug #72275: don't allow smart_str to overflow int
  Fix bug #72340: Double Free Courruption in wddx_deserialize
  Fix bug #72321 - use efree() for emalloc allocation
  5.6.23RC1
  fix NEWS
  set versions
2016-06-21 00:27:01 -07:00
Stanislav Malyshev 8705254f2d Merge branch 'PHP-7.0.8' into PHP-7.0
* PHP-7.0.8:
  iFixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow
  update NEWS
  fix tests
  fix build
  Fix bug #72455:  Heap Overflow due to integer overflows
  Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fix bug #72407: NULL Pointer Dereference at _gdScaleVert
  Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free
  Fix bug #72298	pass2_no_dither out-of-bounds access
  Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
  Fix bug #72262 - do not overflow int
  Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
  Fix bug #72275: don't allow smart_str to overflow int
  Fix bug #72340: Double Free Courruption in wddx_deserialize
  Fix bug #72321 - use efree() for emalloc allocation
  5.6.23RC1
  fix NEWS
  set versions

Conflicts:
	configure.in
	main/php_version.h
2016-06-21 00:25:49 -07:00
Stanislav Malyshev 2a65544f78 Merge branch 'PHP-5.6.23' into PHP-7.0.8
* PHP-5.6.23: (24 commits)
  iFixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow
  update NEWS
  fix tests
  fix build
  Fix bug #72455:  Heap Overflow due to integer overflows
  Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fix bug #72407: NULL Pointer Dereference at _gdScaleVert
  Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free
  Fix bug #72298	pass2_no_dither out-of-bounds access
  Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
  Fix bug #72262 - do not overflow int
  Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
  Fix bug #72275: don't allow smart_str to overflow int
  Fix bug #72340: Double Free Courruption in wddx_deserialize
  update NEWS
  Fix #66387: Stack overflow with imagefilltoborder
  Fix bug #72321 - use efree() for emalloc allocation
  5.6.23RC1
  Fix bug #72140 (segfault after calling ERR_free_strings())
  ...

Conflicts:
	configure.in
	ext/mbstring/php_mbregex.c
	ext/mcrypt/mcrypt.c
	ext/spl/spl_array.c
	ext/spl/spl_directory.c
	ext/standard/php_smart_str.h
	ext/standard/string.c
	ext/standard/url.c
	ext/wddx/wddx.c
	ext/zip/php_zip.c
	main/php_version.h
2016-06-21 00:24:32 -07:00
Stanislav Malyshev fc0b0afdc3 Now the right bug # 2016-06-21 00:18:27 -07:00
Stanislav Malyshev 2af6dded37 Fix NEWS 2016-06-21 00:14:56 -07:00
Stanislav Malyshev c9b24ef307 Merge branch 'PHP-5.6.23' into PHP-5.6
* PHP-5.6.23:
  Fixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow
  update NEWS
  fix tests
  fix build
  Fix bug #72455:  Heap Overflow due to integer overflows
  Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fix bug #72407: NULL Pointer Dereference at _gdScaleVert
  Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free
  Fix bug #72298	pass2_no_dither out-of-bounds access
  Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
  Fix bug #72262 - do not overflow int
  Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
  Fix bug #72275: don't allow smart_str to overflow int
  Fix bug #72340: Double Free Courruption in wddx_deserialize
  Fix bug #72321 - use efree() for emalloc allocation
  5.6.23RC1

Conflicts:
	configure.in
	main/php_version.h
2016-06-21 00:02:37 -07:00
Stanislav Malyshev 7dde353ee7 Merge branch 'PHP-5.5' into PHP-5.6.23
* PHP-5.5:
  Fixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow
  update NEWS
  fix tests
  fix build
  Fix bug #72455:  Heap Overflow due to integer overflows
  Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fix bug #72407: NULL Pointer Dereference at _gdScaleVert
  Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free
  Fix bug #72298	pass2_no_dither out-of-bounds access
  Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
  Fix bug #72262 - do not overflow int
  Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
  Fix bug #72275: don't allow smart_str to overflow int
  Fix bug #72340: Double Free Courruption in wddx_deserialize
  update NEWS
  Fix #66387: Stack overflow with imagefilltoborder
  Skip test which is 64bits only
  5.5.37 now

Conflicts:
	configure.in
	ext/mcrypt/mcrypt.c
	ext/spl/spl_directory.c
	main/php_version.h
2016-06-21 00:01:48 -07:00
Stanislav Malyshev c395c6e5d7 iFixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow 2016-06-20 23:58:26 -07:00
Stanislav Malyshev b028cacf31 update NEWS 2016-06-20 23:45:37 -07:00
Stanislav Malyshev e1d2f86a41 Merge branch 'PHP-5.5.37' into PHP-5.5
* PHP-5.5.37:
  fix tests
  fix build
  Fix bug #72455:  Heap Overflow due to integer overflows
  Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
  Fix bug #72407: NULL Pointer Dereference at _gdScaleVert
  Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free
  Fix bug #72298	pass2_no_dither out-of-bounds access
  Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
  Fix bug #72262 - do not overflow int
  Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
  Fix bug #72275: don't allow smart_str to overflow int
  Fix bug #72340: Double Free Courruption in wddx_deserialize
2016-06-20 23:31:54 -07:00
Stanislav Malyshev 5f107ab8a6 fix tests 2016-06-20 22:54:55 -07:00
Stanislav Malyshev 7f428cae88 fix build 2016-06-20 22:13:31 -07:00
Stanislav Malyshev 6c5211a0ce Fix bug #72455: Heap Overflow due to integer overflows 2016-06-20 21:51:42 -07:00
Stanislav Malyshev f6aef68089 Fix bug #72434: ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize 2016-06-20 21:35:22 -07:00
Stanislav Malyshev 3f627e580a Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize 2016-06-20 21:26:33 -07:00
Dmitry Stogov 1af449f7ef Merge branch 'master' into zend_signals
* master:
  Improved support for zend-signals.
  Use empty keys instead of _empty_ in json decoding
  update NEWS
  Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA)
2016-06-20 22:42:18 +03:00
Dmitry Stogov 89533083ae Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Use empty keys instead of _empty_ in json decoding
  update NEWS
  Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA)
2016-06-20 22:41:36 +03:00
Dmitry Stogov 7cc1b00163 Improved support for zend-signals. 2016-06-20 22:41:14 +03:00
Dmitry Stogov 72376dc3d2 Improved support for zend-signals. 2016-06-20 22:18:46 +03:00
Jakub Zelenka f0d1cca672 Use empty keys instead of _empty_ in json decoding 2016-06-20 19:44:00 +01:00
Anatol Belski 2975026090 update NEWS 2016-06-20 20:20:32 +02:00
Remi Collet 43f4cade9a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA)
2016-06-20 18:45:10 +02:00
Remi Collet d002037dc1 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA)
2016-06-20 18:44:39 +02:00
Remi Collet 1b4570b79f Fix bug #71936 (Segmentation fault destroying HTTP_RAW_POST_DATA) 2016-06-20 18:43:07 +02:00
Dmitry Stogov e7897dc0cd Merge branch 'master' into zend_signals
* master:
  Zend signals should be installed after request startup (or regular signals may be installed before zend_signal_startup)
  notes to UPGRADING.INTERNALS
2016-06-20 19:21:06 +03:00
Dmitry Stogov 4943f0bcff Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  notes to UPGRADING.INTERNALS
2016-06-20 19:20:30 +03:00
Dmitry Stogov c22a1c83f3 Zend signals should be installed after request startup (or regular signals may be installed before zend_signal_startup) 2016-06-20 19:19:16 +03:00
Anatol Belski 5e66b8f232 notes to UPGRADING.INTERNALS 2016-06-20 18:03:19 +02:00
Dmitry Stogov 3453055248 Merge branch 'master' into zend_signals
* master:
  Removed wrong HANDLE_UNBLOCK_INTERRUPTIONS()
  notes to UPGRADING
  Update NEWS
  Update NEWS
  Update NEWS
  Fix #64641: imagefilledpolygon doesn't draw horizontal line
2016-06-20 18:51:23 +03:00
Dmitry Stogov 8b823235d6 Removed wrong HANDLE_UNBLOCK_INTERRUPTIONS() 2016-06-20 18:50:24 +03:00
Anatol Belski 7e1087026e notes to UPGRADING 2016-06-20 16:54:43 +02:00
Dmitry Stogov 3950271722 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Update NEWS
  Update NEWS
  Update NEWS
  Fix #64641: imagefilledpolygon doesn't draw horizontal line
2016-06-20 17:17:56 +03:00
Dmitry Stogov 384224276d Enable Zend signals by default 2016-06-20 17:15:04 +03:00
Dmitry Stogov bee4d7fd7b Reverted chunk committed by mistake. 2016-06-20 17:11:35 +03:00
Christoph M. Becker 5408d96716 Merge branch 'master' of http://git.php.net/repository/php-src 2016-06-20 15:43:33 +02:00
Christoph M. Becker a291d92067 Update NEWS 2016-06-20 15:39:34 +02:00
Dmitry Stogov c622cc4446 Fixed phpdbg build without --enable-zend-signals 2016-06-20 16:32:24 +03:00
Christoph M. Becker 2e6cc50f74 Merge branch 'PHP-7.0' 2016-06-20 15:29:27 +02:00
Christoph M. Becker 4cde87b5b6 Update NEWS 2016-06-20 15:28:41 +02:00
Christoph M. Becker 5cc924e5c2 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-20 15:20:58 +02:00
Christoph M. Becker b3f3cd5903 Update NEWS 2016-06-20 15:18:47 +02:00
Christoph M. Becker 4b4275059f Fix #64641: imagefilledpolygon doesn't draw horizontal line
As has been reported, 1-dimensional horizontal filled polygons are not drawn
at all. That is caused by the scanline algorithm used for drawing filled
polygons which skips the drawing of horizontal edges, because that is
normally not necessary. If, however, the polygon consists of horizontal
edges only, that obviously doesn't work, so we add a special case handling.

That has also been fixed in libgd with
<https://github.com/libgd/libgd/commit/f9f10fa9>.
2016-06-20 15:17:52 +02:00
Dmitry Stogov ad55348e66 Protect OPcache from termination during SHM modification. 2016-06-20 16:03:31 +03:00
Dmitry Stogov 4042f543c4 HANDLE_BLOCK/UNBLOCK_INTERRUPTIONS() protection on inter-process data is completely useless now.
Historicaly, these macros were introduced as a protection from execution timeout handling, but we don't need them anymore after "safe execution timeout" implementation.
These macros are still useful to protect from termination during inner process data modification, because of OS signals (e.g. SIGTERM during OPcache SHM update).
2016-06-20 15:50:41 +03:00
Dmitry Stogov 6ef43be1d7 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed the UTF-8 and long path support in the streams on Windows.
2016-06-20 14:59:35 +03:00
Dmitry Stogov c8706331b5 Cleanup zend_signal API 2016-06-20 14:58:42 +03:00
Anatol Belski 3d3f11ede4 Fixed the UTF-8 and long path support in the streams on Windows.
Since long the default PHP charset is UTF-8, however the Windows part is
out of step with this important point. The current implementation in PHP
doesn't technically permit to handle UTF-8 filepath and several other
things. Till now, only the ANSI compatible APIs are being used. Here is more
about it

https://msdn.microsoft.com/en-us/library/windows/desktop/dd317752%28v=vs.85%29.aspx

The patch fixes not only issues with multibyte filenames under
incompatible codepages, but indirectly also issues with some other multibyte
encodings like BIG5, Shift-JIS, etc. by providing a clean way to access
filenames in UTF-8. Below is a small list of issues from the bug tracker,
that are getting fixed:

https://bugs.php.net/63401
https://bugs.php.net/41199
https://bugs.php.net/50203
https://bugs.php.net/71509
https://bugs.php.net/64699
https://bugs.php.net/64506
https://bugs.php.net/30195
https://bugs.php.net/65358
https://bugs.php.net/61315
https://bugs.php.net/70943
https://bugs.php.net/70903
https://bugs.php.net/63593
https://bugs.php.net/54977
https://bugs.php.net/54028
https://bugs.php.net/43148
https://bugs.php.net/30730
https://bugs.php.net/33350
https://bugs.php.net/35300
https://bugs.php.net/46990
https://bugs.php.net/61309
https://bugs.php.net/69333
https://bugs.php.net/45517
https://bugs.php.net/70551
https://bugs.php.net/50197
https://bugs.php.net/72200
https://bugs.php.net/37672

Yet more related tickets can for sure be found - on bugs.php.net, Stackoverflow
and Github. Some of the bugs are pretty recent, some descend to early
2000th, but  the user comments in there last even till today. Just for example,
bug #30195 was opened in 2004, the latest comment in there was made in 2014. It
is certain, that these bugs descend not only to pure PHP use cases, but get also
redirected from the popular PHP based projects. Given the modern systems (and
those supported by PHP) are always based on NTFS, there is no excuse to keep
these issues unresolved.

The internalization approach on Windows is in many ways different from
UNIX and Linux, while it supports and is based on Unicode. It depends on the
current system code page, APIs used and exact kind how the binary was compiled
The locale doesn't affect the way Unicode or ANSI API work. PHP in particular
is being compiled without _UNICODE defined and this is conditioned by the
way we handle strings. Here is more about it

https://msdn.microsoft.com/en-us/library/tsbaswba.aspx

However, with any system code page ANSI functions automatically convert
paths to UTF-16. Paths in some encodings incompatible with the
current system code page, won't work correctly with ANSI APIs. PHP
till now only uses the ANSI Windows APIs.

For example, on a system with the current code page 1252, the paths
in cp1252 are supported and transparently converted to UTF-16 by the
ANSI functions. Once one wants to handle a filepath encoded with cp932 on
that particular system, an ANSI or a POSIX compatible function used in
PHP will produce an erroneous result. When trying to convert that cp932 path
to UTF-8 and passing to the ANSI functions, an ANSI function would
likely interpret the UTF-8 string as some string in the current code page and
create a filepath that represents every single byte of the UTF-8 string.
These behaviors are not only broken but also disregard the documented
INI settings.

This patch solves the issies with the multibyte paths on Windows by
intelligently enforcing the usage of the Unicode aware APIs. For
functions expect Unicode (fe CreateFileW, FindFirstFileW, etc.), arguments
will be converted to UTF-16 wide chars. For functions returning Unicode
aware data (fe GetCurrentDirectoryW, etc.), resulting wide string is
converted back to char's depending on the current PHP charset settings,
either to the current ANSI codepage (this is the behavior prior to this patch)
or to UTF-8 (the default behavior).

In a particular case, users might have to explicitly set
internal_encoding or default_charset, if filenames in ANSI codepage are
necessary. Current tests show no regressions and witness that this will be an
exotic case, the current default UTF-8 encoding is compatible with any
supported system. The dependency libraries are long switching to Unicode APIs,
so some tests were also added for extensions not directly related to streams.
At large, the patch brings over 150 related tests into the core. Those target
and was run on various environments with European, Asian, etc. codepages.
General PHP frameworks was tested and showed no regressions.

The impact on the current C code base is low, the most places affected
are the Windows only places in the three files tsrm_win32.c, zend_virtual_cwd.c
and plain_wrapper.c. The actual implementation of the most of the wide
char supporting functionality is in win32/ioutil.* and win32/codepage.*,
several  low level functionsare extended in place to avoid reimplementation for
now. No performance impact was sighted. As previously mentioned, the ANSI APIs
used prior the patch perform Unicode conversions internally. Using the
Unicode  APIs directly while doing custom conversions just retains the status
quo. The ways to optimize it are open (fe. by implementing caching for the
strings converted to wide variants).

The long path implementation is user transparent. If a path exceeds the
length of _MAX_PATH, it'll be automatically prefixed with \\?\. The MAXPATHLEN
is set to 2048 bytes.

Appreciation to Pierre Joye, Matt Ficken, @algo13 and others for tips, ideas
and testing.

Thanks.
2016-06-20 12:45:39 +02:00
Dmitry Stogov 3abd9c34c1 Removed unused callbacks 2016-06-20 13:27:59 +03:00
Anatol Belski 459965be91 update NEWS 2016-06-19 20:40:45 +02:00
Anatol Belski 9d4fe9672a upgraded to PCRE 8.39 2016-06-19 20:38:31 +02:00
Jakub Zelenka 9d92d0594d Merge branch 'openssl_aead' 2016-06-19 18:01:57 +01:00
Jakub Zelenka 26abb1bad4 Add NEWS entry about OpenSSL AEAD 2016-06-19 17:59:09 +01:00
Jakub Zelenka e7637e5823 Merge branch 'openssl_error_store' into openssl_aead 2016-06-19 17:55:33 +01:00
Jakub Zelenka 6c27232bab Update NEWS with info about OpenSSL error store 2016-06-19 17:52:09 +01:00
Jakub Zelenka af79a58507 Merge branch 'openssl_error_store' into openssl_aead 2016-06-19 17:36:57 +01:00
Jakub Zelenka d22d71b6c5 Remove test for incorrect fix of bug #69882
The fix just cleared the errors without storing which was wrong
2016-06-19 17:25:30 +01:00
Jakub Zelenka e63a8540a6 Merge branch 'openssl_error_store' into openssl_aead 2016-06-19 17:05:48 +01:00
Jakub Zelenka 53071e6470 Remove expected openssl errors that are not needed anymore 2016-06-19 16:46:27 +01:00
Jakub Zelenka c2b90805e8 Merge branch 'master' into openssl_error_store 2016-06-19 16:20:02 +01:00
Xinchen Hui d0e84c6f47 Update NEWS (this bug also exists in 7.1-alpha) 2016-06-18 23:47:42 -07:00
Stanislav Malyshev 3a6f8ae04f Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS
2016-06-18 22:13:23 -07:00
Stanislav Malyshev 0925e7239d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS
2016-06-18 22:13:16 -07:00
Stanislav Malyshev 58797ab895 Update NEWS 2016-06-18 22:13:04 -07:00
Stanislav Malyshev d3f686d341 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #72447: Type Confusion in php_bz2_filter_create()
2016-06-18 22:11:38 -07:00
Stanislav Malyshev 8c0133f0eb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #72447: Type Confusion in php_bz2_filter_create()

Conflicts:
	ext/bz2/bz2_filter.c
2016-06-18 22:11:23 -07:00
Stanislav Malyshev 42b2d7fec5 Fix bug #72447: Type Confusion in php_bz2_filter_create() 2016-06-18 22:10:22 -07:00
Stanislav Malyshev b9ec171e7d Fix bug #72407: NULL Pointer Dereference at _gdScaleVert 2016-06-18 21:57:25 -07:00
Stanislav Malyshev 5b597a2e5b Fix bug #72402: _php_mb_regex_ereg_replace_exec - double free 2016-06-18 21:48:39 -07:00
Xinchen Hui 3e1329c184 Merge branch 'PHP-7.0' 2016-06-18 21:34:33 -07:00
Xinchen Hui af2c332f41 Update NEWS 2016-06-18 21:34:12 -07:00
Xinchen Hui 6b83832cf4 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	main/streams/xp_socket.c
2016-06-18 21:33:54 -07:00
Xinchen Hui c4c1993af6 Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault) 2016-06-18 21:29:47 -07:00
Stanislav Malyshev e9ac8954be Fix bug #72298 pass2_no_dither out-of-bounds access 2016-06-18 21:06:09 -07:00
Pierre Joye 7722455726 Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow 2016-06-18 20:15:10 +02:00
Nikita Popov a171522983 Exception safety for direct CV assign of *CALL instrs
Converting T = *CALL; ASSIGN $v, T into $v = *CALL may not be
safe if an exception is thrown after the return value has been
populated -- in this case the value might be destroyed twice.
2016-06-18 00:08:38 +02:00
Xinchen Hui f2e587cb43 typo 2016-06-17 09:40:12 -07:00
Xinchen Hui fcd8a5ca65 Fixed bug #72441 (Segmentation fault: RFC list_keys) 2016-06-17 09:34:15 -07:00
Christoph M. Becker 08f0345d0a Update NEWS 2016-06-17 18:09:46 +02:00
Christoph M. Becker 2bfb6d22d0 Merge branch 'PHP-7.0' 2016-06-17 18:00:54 +02:00
Christoph M. Becker cc64702796 Update NEWS 2016-06-17 18:00:24 +02:00
Christoph M. Becker eb456d2d27 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-17 17:52:10 +02:00
Christoph M. Becker ed0ec66996 Fix #53640: XBM images require width to be multiple of 8 2016-06-17 17:50:36 +02:00
Anatol Belski 7cb871d630 fix SQLite info 2016-06-17 17:26:31 +02:00
Anatol Belski 0d01f61b2a update NEWS and UPGRADING 2016-06-17 17:18:29 +02:00
Anatol Belski b94d533889 update NEWS 2016-06-17 17:16:36 +02:00
Anatol Belski 4a142af316 fix test portability 2016-06-17 17:09:42 +02:00
Anatol Belski d6b649f6da fix test portability 2016-06-17 17:03:13 +02:00
Xinchen Hui f83a586d55 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed "implicit declaration of function ‘msgformat_fix_quotes’"
2016-06-17 16:00:04 +08:00
Xinchen Hui 958f18c1a1 Fixed "implicit declaration of function ‘msgformat_fix_quotes’" 2016-06-17 15:59:41 +08:00
Anatol Belski e9eeb5edb9 fix test portability 2016-06-17 09:05:27 +02:00
Chad Sikorra 4718eb05b4 Add additional LDAP SASL constants 2016-06-16 21:00:32 -05:00
Jakub Zelenka e2904ffa65 Merge branch 'PHP-7.0' 2016-06-16 20:12:50 +01:00
Jakub Zelenka 307e546e1a Merge branch 'PHP-5.6' into PHP-7.0 2016-06-16 20:11:54 +01:00
Jakub Zelenka 0c34f53c93 Fix incorrect error suppressing in openssl_error_string test 2016-06-16 20:11:02 +01:00
Jakub Zelenka 84948e6382 Fix occasionally failing OpenSSL DH bug test
The test was failing when first byte was 0
2016-06-16 20:09:17 +01:00
Christoph M. Becker 312627728c Merge branch 'master' of http://git.php.net/repository/php-src 2016-06-16 14:35:50 +02:00
Christoph M. Becker 02c1afe974 Update NEWS 2016-06-16 14:34:34 +02:00
Christoph M. Becker cd84834dce Merge branch 'PHP-7.0' 2016-06-16 14:34:10 +02:00
Christoph M. Becker cc8ffa6911 Update NEWS 2016-06-16 14:33:41 +02:00
Christoph M. Becker 12230c66b1 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-16 14:32:10 +02:00
Christoph M. Becker 5f4113edb3 Update NEWS 2016-06-16 14:26:45 +02:00
Nikita Popov 811dfba4bf More type inference fixes 2016-06-16 14:25:48 +02:00
Christoph M. Becker d7d5136c23 Merge branch 'PHP-7.0' 2016-06-16 14:12:35 +02:00
Christoph M. Becker 60feda4ea4 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-16 14:06:39 +02:00
Christoph M. Becker 8aa511f1fc Fix #43475: Styled thick horizontal lines are scrambled
Thick lines are drawn by gdImageFilledRectangle(), which iterates over
the x ordinate first (Z order) to apply the style pattern. While this works
fine for vertical and diagonal lines, it obviously fails for horizontal
lines, which have to be iterated over in N order.

To fix this bug, we introduce the helpers  gdImageFilled(H|V)Rectangle(),
which may be reused for other purposes as well.

This is basically the same fix as libgd/libgd/c2b91dbc.
2016-06-16 13:59:00 +02:00
Dmitry Stogov 23790b1e91 Added NEWS entries 2016-06-16 08:44:38 +03:00
Stanislav Malyshev 7245bff300 Fix bug #72262 - do not overflow int 2016-06-15 21:58:26 -07:00
Stanislav Malyshev 88746d60ab Fix bug #72400 and #72403 - prevent signed int overflows for string lengths 2016-06-15 21:51:28 -07:00
Chad Sikorra a1f2649048 Add tests for LDAP_OPT_* constants 2016-06-15 23:01:26 -05:00
Chad Sikorra 6415a86c9d Add LDAP TLS Protocol Min constants 2016-06-15 22:45:38 -05:00
Chad Sikorra 8880367773 Add tests for the LDAP CRL check option 2016-06-15 20:29:39 -05:00
Dmitry Stogov ff363e2e7c Implemented RFC: Replace "Missing argument" warning with "Too few arguments" exception
Squashed commit of the following:

commit 8b45fa2acb8cd92542a39e1e4720fe1f4fabc26c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jun 16 01:52:50 2016 +0300

    Separate slow path of ZEND_RECV into a cold function.

commit 9e18895ee59c64c93a96b1ba3061355c4663e962
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 23:26:28 2016 +0300

    Required argument can't be IS_UNDEF anymore.

commit 662db66e3943d4455c65e4f987bb54abf724ecb2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 31 17:14:50 2016 +0300

    Replace "Missing argument" warning by "Too few arguments" exception.
2016-06-16 02:32:02 +03:00
Dmitry Stogov a9512af810 Implemented RFC: Fix inconsistent behavior of $this variable
Squashed commit of the following:

commit bdd3b6895c3ce3eacfcf7d4bf4feb8dfa61801fd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jun 16 00:19:42 2016 +0300

    Fixed GOTO VM

commit 2f1d7c8b89ce821086d357cf65f629f040a85c03
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 21:01:57 2016 +0300

    Removed unused variable

commit cf749c42b0b1919f70b1e7d6dcbfff76899506af
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 19:06:16 2016 +0300

    Protection from $this reassign through mb_parse_str()

commit 59a9a6c83c66b666971e57f1173b33a422166efd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 18:14:50 2016 +0300

    Added type inference rule for FETCH_THIS opcode

commit 73f8d14a856f14a461430b3c7534ab2ce870cbf6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 18:11:18 2016 +0300

    Restored PHP-7 behavior of isset($this->foo).
    It throws exception if not in object context.
    Removed useless opcode handlers.

commit fa0881381e8ae97e022ae5d1ec0851c952f33c82
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 31 12:25:47 2016 +0300

    Changed "Notice: Undefined variable: this" into "Exception: Using $this when not in object context".

commit e32cc528c0f2c97963d8ec83eff0269f1f45af18
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 02:02:43 2016 +0300

    Throw exception on attempt to re-assign $this through extract() and parse_str().

commit 41f1531b52113ec8a4c208aa6b9ef50f1386bb3f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon May 23 22:18:36 2016 +0300

    Fixed inconsistent $this behavior
2016-06-16 02:30:23 +03:00
Nikita Popov fba6f90ae3 Fix type inference bugs
* Add proper array_key_any|array_of_any|array_of_ref in some more
  places
* strlen() on objects may be null
* IS fetch on string dim may be null
2016-06-15 22:52:48 +02:00
Dmitry Stogov 006b8417d1 Added specialized handlers for SEND_VAR/SEND_VAR_EX opcodes. 2016-06-15 23:07:46 +03:00
Dmitry Stogov d12987256a Fixed mistakes in type inference rules. 2016-06-15 23:04:17 +03:00
Derick Rethans 8267a5fba7 Fixed expected test outcome due to rule changes 2016-06-15 18:31:41 +01:00
Derick Rethans 22343e8a31 Merge branch 'PHP-7.0' 2016-06-15 18:30:19 +01:00
Derick Rethans 76ec139a0a Merge branch 'PHP-5.6' into PHP-7.0 2016-06-15 18:30:03 +01:00
Derick Rethans e0e83c0180 Fixed expected test outcome due to rule changes 2016-06-15 18:29:40 +01:00
Christoph M. Becker c0efb06ee6 Change default gd.jpeg_ignore_warning = 1
Ignoring these warnings apparently works fine (libgd does so in
gdImageCreateJpeg()), but not ignoring them may cause imagecreatefromjpeg()
to fail completely, so it seems reasonable to ignore warnings by default.

Note that this change most likely doesn't constitute a BC break; we're
simply being more resilient with regard to slightly broken JPEGs.

See also the related [bug #72404](https://bugs.php.net/bug.php?id=72404).
2016-06-15 14:00:18 +02:00
Derick Rethans 334db3b921 Updated to version 2016.5 (2016e) 2016-06-15 11:58:51 +01:00
Derick Rethans 46853ba5c5 Empty merge 2016-06-15 11:58:51 +01:00
Derick Rethans 020541587a Updated to version 2016.5 (2016e) 2016-06-15 11:58:50 +01:00
Derick Rethans a1db72d519 Empty merge 2016-06-15 11:58:49 +01:00
Derick Rethans fffa1aa0f3 Updated to version 2016.5 (2016e) 2016-06-15 11:58:47 +01:00
Xinchen Hui 1bc1af001d Merge branch 'PHP-7.0'
* PHP-7.0:
2016-06-15 14:56:58 +08:00
Xinchen Hui 053a6eb0fe These bugs are also in 7.1-alpha 2016-06-15 14:56:41 +08:00
Xinchen Hui c3fc4194ea Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  Maybe fix bug #72011
  Fix #50845: exif_process_IFD_TAG: Use the right offset if reading from stream
  Fix bug #72138 - Integer Overflow in Length of String-typed ZVAL
2016-06-15 14:56:07 +08:00
Xinchen Hui 85fd260916 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed(attempt to) bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) - oob read access)
2016-06-15 14:55:43 +08:00
Xinchen Hui 999a3553d5 Fixed(attempt to) bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) - oob read access)
according to ext/mbstring/oniguruma/enc/utf8.c, max bytes are 6
2016-06-15 14:54:57 +08:00
Chad Sikorra 8e9e89610e Add missing LDAP constants 2016-06-14 23:32:59 -05:00
Nikita Popov 3389c2e6a6 Merge branch 'PHP-7.0' 2016-06-14 22:39:18 +02:00
Nikita Popov 93f7939891 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/date/php_date.c
2016-06-14 22:38:44 +02:00
Nikita Popov 248fdfcf73 Maybe fix bug #72011 2016-06-14 22:37:27 +02:00
Aaron Piotrowski 7d53864574 E_RECOVERABLE_ERROR -> thrown Error 2016-06-14 13:18:43 -05:00
Stanislav Malyshev a040c43ffc Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix #50845: exif_process_IFD_TAG: Use the right offset if reading from stream
2016-06-14 10:51:02 -07:00
Stanislav Malyshev 49b1290617 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix #50845: exif_process_IFD_TAG: Use the right offset if reading from stream
2016-06-14 10:50:45 -07:00
Bartosz Dziewoński 1ab5a1b432 Fix #50845: exif_process_IFD_TAG: Use the right offset if reading from stream
When the location of the data is outside of the range we have
preloaded (for example, if it's before the beginning of the IFD
structure), we have to read it from the stream into a separate buffer.
The offset calculations in this case were incorrect, resulting in
bogus values being read for the affected fields (sometimes parts of
other fields, sometimes binary data).

The included test image, sourced from [1], is in the public domain.

[1] https://commons.wikimedia.org/wiki/File:U.S._Marines_Prepare_to_board_an_MV-22_Osprey_160509-M-AF202-041.jpg
2016-06-14 10:48:08 -07:00
Xinchen Hui 493524454d Improve the signature 2016-06-14 08:05:17 -07:00
Xinchen Hui 8c41df5480 Unused var 2016-06-14 21:29:02 +08:00
Xinchen Hui f2a0d37323 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fix bug #72138 - Integer Overflow in Length of String-typed ZVAL
2016-06-14 18:20:23 +08:00
Xinchen Hui d6e668368d C89 compatibility 2016-06-14 18:17:49 +08:00
Stanislav Malyshev 8d78e936ad Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #72138 - Integer Overflow in Length of String-typed ZVAL
2016-06-14 01:04:07 -07:00
Stanislav Malyshev 79fc877290 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #72138 - Integer Overflow in Length of String-typed ZVAL
2016-06-14 01:03:37 -07:00
Stanislav Malyshev 4c968c6ddd Fix bug #72138 - Integer Overflow in Length of String-typed ZVAL 2016-06-14 01:03:03 -07:00
Stanislav Malyshev 489fd56fe3 Fix bug #72275: don't allow smart_str to overflow int 2016-06-14 00:02:17 -07:00
Xinchen Hui 9c8e1c03b9 Only allow single comma in tail 2016-06-14 14:02:34 +08:00
Xinchen Hui 14e790a075 Merge branch 'PHP-7.0' 2016-06-13 18:20:37 -07:00
Xinchen Hui 3d56418722 Fixed bug #72399 (Use-After-Free in MBString (search_re)) 2016-06-13 18:20:26 -07:00
Xinchen Hui 78a13e8290 Implemented FR #72385 (Update SQLite bundle lib(3.13.0)) 2016-06-13 17:53:31 -07:00
Xinchen Hui 564cc38245 Merge branch 'master' of git.php.net:/php-src 2016-06-13 17:36:26 -07:00
Xinchen Hui 6166c26f1c Cleanup 2016-06-13 17:36:03 -07:00
Nikita Popov 046889518d Add support for "instanceof" pi nodes 2016-06-13 19:03:59 +02:00
Nikita Popov 9877d8f019 Use union for pi constraints
This will make it easier to extend pi constraints without impacting
structure sizes.
2016-06-13 19:03:57 +02:00
Xinchen Hui aeb3948f3c Cleanup 2016-06-13 09:33:19 -07:00
Xinchen Hui f2fd469152 Merge branch 'master' of git.php.net:/php-src 2016-06-13 09:21:34 -07:00
Xinchen Hui dcd1c29f79 Fixed bug #72395 (list() regression) 2016-06-13 09:21:14 -07:00
Nikita Popov 1b29e0cacd Switch zend_print_zval_r to use smart_str
Instead of directly writing to stdout. This allows doing a print_r
into a string, without using output buffering.

The motivation for this is bug #67467: print_r() in return mode
will still dump the string to stdout (causing a potential information
leak) if a fatal error occurs.
2016-06-13 18:04:22 +02:00
Aaron Piotrowski 771e5cc247 Replace zend_ce_error with NULL and replace more E_ERROR with thrown Error 2016-06-13 09:02:17 -05:00
Anatol Belski 1cca3eb7c8 fix test portability 2016-06-13 15:47:08 +02:00
Xinchen Hui a94d53d0d1 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72306 (Heap overflow through proc_open and $env parameter)
2016-06-13 21:08:23 +08:00
Xinchen Hui d1ab974f0b Fixed bug #72306 (Heap overflow through proc_open and $env parameter) 2016-06-13 21:08:04 +08:00
Anatol Belski 1bad119723 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fix #66387: Stack overflow with imagefilltoborder
  Skip test which is 64bits only
  5.5.37 now
2016-06-13 08:20:11 +02:00
Anatol Belski d3bdbe6395 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  Fix #66387: Stack overflow with imagefilltoborder
  Skip test which is 64bits only
  5.5.37 now
2016-06-13 08:19:19 +02:00
Stanislav Malyshev a44c89e8af Fix bug #72340: Double Free Courruption in wddx_deserialize 2016-06-12 23:18:23 -07:00
Anatol Belski 93e8f59aab Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  update NEWS
  Fix #66387: Stack overflow with imagefilltoborder
  Skip test which is 64bits only
  5.5.37 now
2016-06-13 08:15:31 +02:00
Anatol Belski 6f73079ce1 update NEWS 2016-06-13 08:12:22 +02:00
Christoph M. Becker f96ebb0986 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.
2016-06-13 08:10:36 +02:00
Xinchen Hui 42f23effa9 Value should not be a reference here 2016-06-13 13:40:53 +08:00
Stanislav Malyshev d144590d38 Fix bug #72321 - use efree() for emalloc allocation 2016-06-12 21:35:13 -07:00
Jakub Zelenka b44cf1a854 Merge branch 'PHP-7.0' into openssl_error_store 2016-06-12 18:56:55 +01:00
Jakub Zelenka e933da9028 Merge branch 'PHP-7.0' 2016-06-12 18:40:24 +01:00
Jakub Zelenka a2f4c32eb1 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-12 18:39:32 +01:00
Jakub Zelenka 0e2447cd11 Fix bug #71915 (openssl_random_pseudo_bytes is not fork-safe)
Add time to the entropy before using RAND_bytes
2016-06-12 18:14:21 +01:00
Jakub Zelenka 54310d95f9 Fix bug #72336 (openssl_pkey_new does not fail for invalid DSA params) 2016-06-12 18:14:21 +01:00
Jakub Zelenka 4056edd20d Update openssl_error_string to run and be more forgiving 2016-06-12 18:14:21 +01:00
Christoph M. Becker 7d2c78208a Merge branch 'PHP-7.0' 2016-06-12 13:22:32 +02:00
Christoph M. Becker 5d57e25579 Fix #71554: FTP has not built-in support 2016-06-12 13:22:02 +02:00
Xinchen Hui ae3be78ce8 EG(fake_scope) was always set to NULL wrongly 2016-06-12 15:32:04 +08:00
Xinchen Hui 3f77db0510 cast const away 2016-06-11 16:11:40 +08:00
Aaron Piotrowski e3c681aa5c Merge branch 'master' into throw-error-in-extensions 2016-06-10 22:02:23 -05:00
Aaron Piotrowski 0dc772c9b4 Add iterable type to opcache 2016-06-10 19:01:27 -05:00
Nikita Popov 792e89385c Fixed bug #72373 2016-06-10 15:57:18 +02:00
Anatol Belski 33f6fc1790 fix test out 2016-06-09 20:16:09 +02:00
Anatol Belski 4ceffa7204 fix test 2016-06-09 20:12:49 +02:00
Anatol Belski b34496e08f sync with deleted file 2016-06-09 17:19:40 +02:00
Anatol Belski 30a78e96ed fix tests 2016-06-09 17:19:40 +02:00
Anatol Belski 22f20e2868 add flags to suppress the verbosity 2016-06-09 17:19:40 +02:00
Xinchen Hui 978f74a848 Request #69489 2016-06-09 17:19:40 +02:00
Christoph M. Becker b4ca066455 Merge branch 'pull-request/1912' 2016-06-09 16:30:52 +02:00
Christoph M. Becker 2ce190bb83 Merge branch 'master' of http://git.php.net/repository/php-src 2016-06-09 15:58:09 +02:00
Christoph M. Becker 74c06a64f0 Merge branch 'PHP-7.0' 2016-06-09 15:45:54 +02:00
Christoph M. Becker 07a793810f Merge branch 'PHP-5.6' into PHP-7.0 2016-06-09 15:35:28 +02:00
Christoph M. Becker 1f7cc24df7 Merge branch 'pull-request/1930' into PHP-5.6 2016-06-09 15:28:58 +02:00
Dmitry Stogov b602495e5c Optimization 2016-06-09 16:01:55 +03:00
Dmitry Stogov df7dccea83 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72369 (array_merge() produces references in PHP7)
2016-06-09 15:09:09 +03:00
Dmitry Stogov bfcf32237e Fixed bug #72369 (array_merge() produces references in PHP7) 2016-06-09 15:07:44 +03:00
Dmitry Stogov e7e79aa409 Delay IS_ERROR checks 2016-06-09 12:39:38 +03:00
Ferenc Kovacs 0307315769 5.6.23RC1 2016-06-09 10:54:35 +02:00
Ferenc Kovacs 4138db014c Merge branch 'PHP-7.0'
* PHP-7.0:
  5.6.24 will be next
2016-06-09 10:53:12 +02:00
Ferenc Kovacs 65b6950a56 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  5.6.24 will be next
2016-06-09 10:52:26 +02:00
Ferenc Kovacs c26097c2f1 5.6.24 will be next 2016-06-09 10:51:02 +02:00
Jakub Zelenka 296aa365ca Merge branch 'PHP-7.0' 2016-06-08 18:37:32 +01:00
Jakub Zelenka 84dce33b04 Merge branch 'PHP-5.6' into PHP-7.0 2016-06-08 18:36:36 +01:00
Jakub Zelenka 05033c9ebd Fix bug #72140 (segfault after calling ERR_free_strings()) 2016-06-08 18:21:39 +01:00
Dmitry Stogov a315842751 typo 2016-06-08 19:01:28 +03:00
Nikita Popov 766ad0d970 Followup for bug #53432
Assign-ops and nested accesses now get the same treatment.
2016-06-08 15:43:58 +02:00
Dmitry Stogov 0c79896208 cleanup 2016-06-08 12:55:31 +03:00
Dmitry Stogov b03dce0cb3 Replaced wrong check with proper ZEND_ASSERT() 2016-06-08 12:11:47 +03:00
Dmitry Stogov fc587c7c55 Removed useless reference counting 2016-06-08 11:24:53 +03:00
Dmitry Stogov 3610156c5d This test was fixed together with fix for bug #70228 2016-06-08 11:14:06 +03:00
Anatol Belski d2bc82586b fix php_log_err macro 2016-06-08 08:10:41 +02:00
Pierre Joye 4b75cb120d Merge branch 'PHP-5.6'
* PHP-5.6:
  prevent invalid color index (palette only), may lead to crash
  Add CVE to #66387

Conflicts:
	NEWS
2016-06-08 11:13:27 +07:00
Pierre Joye ced675de22 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0 2016-06-08 11:08:05 +07:00
Pierre Joye 4d81bf937f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  prevent invalid color index (palette only), may lead to crash
  Add CVE to #66387
  add missing NEWS entry
2016-06-08 11:07:32 +07:00
Pierre Joye 6d3fa654b7 prevent invalid color index (palette only), may lead to crash 2016-06-08 11:06:48 +07:00
Dmitry Stogov 10f056255e Better fix for bug #70228 (memleak if return in finally block) 2016-06-08 02:20:45 +03:00
Dmitry Stogov 2bae4e18a2 Fixed bug #70228 (Memleak if return in finally block) 2016-06-08 00:23:33 +03:00
Dmitry Stogov 421843977f Fixed bug #71266 (Missing separation of properties HT in foreach etc). 2016-06-07 23:18:52 +03:00
Lior Kaplan e6211038cb Add CVE to #66387 2016-06-07 21:46:59 +03:00
Lior Kaplan 48d629eb45 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add CVE to #66387
2016-06-07 21:46:25 +03:00
Lior Kaplan 62f9d1e3ae Add CVE to #66387 2016-06-07 21:45:24 +03:00
Nikita Popov be37de1ff1 Use LCA for object(ce) type joins
For B, C extending A the join of object(B) and object(C) should
be object(instanceof A). For simplicity we only handle the class
hierarchy, as computing the least common unique ancestor for
interfaces would be more involved.

Also ignore phi sources that don't have an object type: The join
of null and object(A) is now null|object(A) rather than
null|object.
2016-06-07 20:42:00 +02:00
Nikita Popov d8a2370884 Cleanup 2016-06-07 20:42:00 +02:00
Anatol Belski 18f30d702c fix NEWS 2016-06-07 18:53:18 +02:00
Anatol Belski 3473406b2a Merge branch 'PHP-7.0' into PHP-7.0.8
* PHP-7.0:
  fix NEWS
  add missing NEWS entry
  update NEWS
  #72337 invalid dimensions can lead to segv
  7.0.9 next

Conflicts:
	configure.in
	main/php_version.h
2016-06-07 18:51:34 +02:00
Anatol Belski f4a0011b9e Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NEWS
  add missing NEWS entry
  update NEWS
2016-06-07 18:45:46 +02:00
Anatol Belski 7935a1e2ff fix NEWS 2016-06-07 18:44:40 +02:00
Anatol Belski 74d8429f53 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add missing NEWS entry
2016-06-07 18:42:55 +02:00
Anatol Belski 1d0f128351 add missing NEWS entry 2016-06-07 18:41:17 +02:00
Joe Watkins 23c4ac2ca3 bump news file 2016-06-07 14:10:27 +01:00
Joe Watkins 43293c426d Revert "bump news file"
This reverts commit 61b848833d.
2016-06-07 14:09:09 +01:00
Joe Watkins cab1510360 Merge branch 'master' of https://github.com/php/php-src 2016-06-07 13:12:34 +01:00
Joe Watkins 61b848833d bump news file 2016-06-07 13:12:00 +01:00
Dmitry Stogov 90c2b237d6 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  #72337 invalid dimensions can lead to segv
  7.0.9 next
2016-06-07 14:08:41 +03:00
Dmitry Stogov b12dfbad6a Added test 2016-06-07 14:08:12 +03:00
Dmitry Stogov 5b81f9d92e Fixed bug #72202 (curl_close doesn't close cURL handle)
Now curl_close() forces connection close, independently of other links to the same resource.

This reverts commit 3ba4f8263d.
2016-06-07 14:03:14 +03:00
Pierre Joye 99f8a5587b update NEWS 2016-06-07 17:40:55 +07:00
Pierre Joye 2edbb3e115 Merge branch 'master' of git.php.net:php-src 2016-06-07 17:39:22 +07:00
Pierre Joye 3071ba1ff8 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0 2016-06-07 17:38:41 +07:00
Pierre Joye 4f8a451371 Merge branch 'PHP-5.6'
* PHP-5.6:
  #72337 invalid dimensions can lead to segv
2016-06-07 17:19:17 +07:00
Pierre Joye 1bbd7fc7eb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  #72337 invalid dimensions can lead to segv
2016-06-07 17:18:14 +07:00
Pierre Joye f80125950c #72337 invalid dimensions can lead to segv 2016-06-07 17:16:40 +07:00
Anatol Belski 407850e8c1 set versions 2016-06-07 10:10:16 +02:00
Anatol Belski d48764880e Merge branch 'PHP-7.0'
* PHP-7.0:
  7.0.9 next
2016-06-07 10:04:58 +02:00
Anatol Belski 041210f441 7.0.9 next 2016-06-07 10:04:25 +02:00
Dmitry Stogov 214d4613f5 cleanup 2016-06-07 01:14:53 +03:00
Dmitry Stogov d324db717c Fixed mixed declarations and code 2016-06-07 01:01:48 +03:00
Anatol Belski 3c4edc8c62 Merge branch 'PHP-7.0'
* PHP-7.0:
  Add test for bug #53735
2016-06-06 21:08:18 +02:00
Anatol Belski edb8c3f6e3 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add test for bug #53735
2016-06-06 21:07:45 +02:00
Anatol Belski 2a0ed8a2eb Add test for bug #53735 2016-06-06 21:06:06 +02:00
Dmitry Stogov cebb5cd46e micro-optimization 2016-06-06 20:45:10 +03:00
Dmitry Stogov 58c083dfc9 simplification 2016-06-06 15:50:06 +03:00
Dmitry Stogov 80b39b498a Improve type narrowing (check only SSA definitions). 2016-06-06 14:57:02 +03:00
Nikita Popov 543649bd4c Fix correctness issues with type narrowing
Fixes bug #72335.
2016-06-06 14:56:17 +03:00
Anatol Belski da280d41b6 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix ibase handle initialization, mostly compiler warnings
2016-06-06 13:33:39 +02:00
Anatol Belski 3e6c02b91a fix ibase handle initialization, mostly compiler warnings 2016-06-06 13:30:17 +02:00
Anatol Belski edf769c023 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix typo
2016-06-06 08:58:40 +02:00
Anatol Belski 174c3371bd Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix typo
2016-06-06 08:58:08 +02:00
Anatol Belski eaef8f6db2 fix typo 2016-06-06 08:56:40 +02:00
Anatol Belski ba3763fa2d hard_timeout ignored on TS 2016-06-06 08:41:07 +02:00
Anatol Belski 52ebd5611f fix hard_timeout support in shutdown functions 2016-06-06 08:41:07 +02:00
Anatol Belski db68121da8 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix broken skipif and add xfail for now
2016-06-06 08:23:22 +02:00
Anatol Belski 075c75873e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix broken skipif and add xfail for now
2016-06-06 08:21:39 +02:00
Anatol Belski 1b2afd478b fix broken skipif and add xfail for now 2016-06-06 08:20:01 +02:00
Anatol Belski 628272ee6c Merge branch 'PHP-7.0'
* PHP-7.0:
  missing return
2016-06-06 07:34:34 +02:00
Anatol Belski 6ec8b2c57d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  missing return
2016-06-06 07:33:36 +02:00
Anatol Belski c05b417718 missing return 2016-06-06 07:28:12 +02:00
Aaron Piotrowski 277d89cde8 Limit covariance to array and Traversable 2016-06-05 22:06:17 -05:00
Nikita Popov e6296f0dcc Fix VERIFY_RETURN_TYPE elision
This both fixes incorrect elision and allows elision for cases
where we only have a subset (e.g. true of bool).
2016-06-05 23:44:08 +02:00
Nikita Popov c5348850df Fix bug71843.phpt
Is Travis not running opcache tests?
2016-06-05 23:05:03 +02:00
Nikita Popov 9fa1ab1b22 Check SKIP_SLOW_TESTS in issue0140.phpt
This test contains two sleeps...
2016-06-05 23:05:00 +02:00
Nikita Popov 7b4618e396 Fix SSA NOP removal
NOPs need to be tracked in the shiftlist as well, as there may be
jumps to NOPs.
2016-06-05 23:00:32 +02:00
Nikita Popov 3be92120ba Fix handling of parse_str() with unpack in optimizer 2016-06-05 22:16:15 +02:00
Nikita Popov 70f0546885 Don't optimize special dynamic calls to non-dynamic
As it drops the warning. This is more problematic with constant
propagation, as tests would fail.

Extract a zend_optimizer_classify_function() function, as its now
needed by zend_cfg and update_opN.
2016-06-05 22:04:36 +02:00
Jakub Zelenka da83e4295a Merge branch 'PHP-7.0' 2016-06-05 17:31:05 +01:00
Jakub Zelenka 1f7535234e Merge branch 'PHP-5.6' into PHP-7.0 2016-06-05 17:30:03 +01:00
Jakub Zelenka d4615d1118 Add new test for openssl_pkey_new 2016-06-05 17:27:47 +01:00
Jakub Zelenka 497fe33d6f Add test for openssl_error_string
This test is important for making sure that the error strings
from OpenSSL works as expected and we can safely add a fix
for storing the strings that is prepared.
2016-06-05 17:23:05 +01:00
Jakub Zelenka 5e9f387175 Remove openssl_x509_parse for OpenSSL 0.9.x
The test is unstable and it actually fails with latest 0.9.8
2016-06-05 16:28:50 +01:00
Aaron Piotrowski cf0290c273 Fix abort too early 2016-06-05 02:01:01 -05:00
Nikita Popov 945a83103d Fixed bug #53432
This change was discussed a while ago in the "negative string
offsets" thread.
2016-06-04 19:20:07 +02:00
xiabeifeng 33aba29768 Fix typo 2016-06-04 19:06:59 +02:00
Aaron Piotrowski c2266c382a Fix generator test; add covariance tests 2016-06-04 10:08:44 -05:00
Aaron Piotrowski 4da3e77b4c Covariance on inheriting classes with iterable 2016-06-04 09:44:49 -05:00
Nikita Popov 9ba243b6f3 Forbid ?void 2016-06-04 14:53:50 +02:00
Nikita Popov 73b2f79199 More explicit errors for return; vs return null;
Both for "return null" in a void function and "return" in
a nullable return function.
2016-06-04 13:27:11 +02:00
Nikita Popov fe907562ad Forbid "return;" for typed returns already at compile-time
These would otherwise generate a "none returned" error at runtime.
Catch them early.
2016-06-04 13:27:11 +02:00
Nikita Popov cb3825a8dc Small generator-related cleanups 2016-06-04 13:27:11 +02:00
Aaron Piotrowski bea9df5281 Add iterable tests 2016-06-03 18:41:03 -05:00
Aaron Piotrowski 8146c47d85 Fix error message 2016-06-03 18:29:24 -05:00
Aaron Piotrowski bf6a65984b Fix default argument check 2016-06-03 18:01:56 -05:00
Aaron Piotrowski 340a00008d Add iterable to zend_get_type_by_const() 2016-06-03 17:56:13 -05:00
Aaron Piotrowski 0e221cb3eb Add is_iterable() function 2016-06-03 17:42:12 -05:00
Aaron Piotrowski 72692e9a9c Add iterable pseudo-type 2016-06-03 17:42:04 -05:00
Raphaël Tournoy 1dfdae6de4 fix typo 2016-06-03 17:18:14 +02:00
Anatol Belski b7bb6d04fd update NEWS 2016-06-03 00:19:23 +02:00
Martin Vobruba 1ed544d05b Enable per-module logging in Apache 2.4+ 2016-06-03 00:08:57 +02:00
Anatol Belski ff90d8e0ba update NEWS 2016-06-02 23:08:26 +02:00
Anatol Belski 5cf8c72dfb added test for bug #47517 2016-06-02 23:06:20 +02:00
maxdax15801 d7da8f5ea4 Fix bug #47517 php-cgi.exe missing UAC manifest
Add a <requestedExecutionLevel> to the manifest so Windows doesn't
use file and registry virtualization for backwards compatibility
with pre-Vista versions.
2016-06-02 22:55:18 +02:00
Anatol Belski 933de3a6b6 update NEWS 2016-06-02 22:43:43 +02:00
Mic 0112b64a34 Fixed bug #69398 IntlDateFormatter formatObject returns wrong value when time style is NONE 2016-06-02 22:40:27 +02:00
Mic 527ddacd20 Fixed bug #69374 IntlDateFormatter formatObject returns wrong utf8 value
Relying on invariant strings is a mistake. Not only UTF-8, but also
many charsets are not single byte. Actual date formats can be mixed
with arbitrary strings, and this can bring erroneous results in the
out. Thus, instead it is more convenient to say, that a format string
can consist either on UTF-8 or on pure ASCII as its subset. This is
what is currently being done in other classes like Formatter, etc.
as well.
2016-06-02 22:27:48 +02:00
Anatol Belski 4b2fb0b4ae fix dangling pointer, phpdbg reveals it 2016-06-02 19:42:50 +02:00
Anatol Belski 47e26cf9db fix known interned strings init with TS per request 2016-06-02 17:55:48 +02:00
Anatol Belski f3998d2303 update UPGRADING 2016-06-02 14:30:27 +02:00
Anatol Belski 86b922a432 update NEWS 2016-06-02 14:23:30 +02:00
Anatol Belski 7cb115e605 fix typo 2016-06-02 14:22:14 +02:00
Anatol Belski 73fd1fc6e5 fix typo 2016-06-02 13:28:09 +02:00
Jani Ollikainen 0a04f61448 Added backwards compability with php_log_err by using macro 2016-06-02 13:25:29 +02:00
Jani Ollikainen 3edf7d960c Logging to syslog with dynamic error levels (related to #49467) 2016-06-02 13:25:29 +02:00
Anatol Belski d122f4c24a improve date header code 2016-06-02 13:13:54 +02:00
Anatol Belski a7c0ba2e89 update NEWS 2016-06-02 12:37:51 +02:00
SeeSchloss f33c7b3e41 Added mandatory Date: header to built-in webserver 2016-06-02 12:27:48 +02:00
Anatol Belski 56b2a49648 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #70484 selectordinal doesn't work with named parameters
2016-06-02 12:21:19 +02:00
Anatol Belski f2bc71e43d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  Fixed bug #70484 selectordinal doesn't work with named parameters
2016-06-02 12:20:46 +02:00
Anatol Belski 2004c25790 update NEWS 2016-06-02 12:18:33 +02:00
Anatol Belski 22336db97f Fixed bug #70484 selectordinal doesn't work with named parameters 2016-06-02 12:17:42 +02:00
Anatol Belski a440faaa76 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix ODBC bug for varchars returning with length zero
2016-06-02 12:08:46 +02:00
Anatol Belski 48ca6dfc70 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix ODBC bug for varchars returning with length zero
2016-06-02 12:07:54 +02:00
Elizabeth Marie Smith 72c9324d70 Fix ODBC bug for varchars returning with length zero 2016-06-02 12:04:10 +02:00
Xinchen Hui 0ed4034881 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72308 (fastcgi_finish_request and logging environment variables)
2016-06-02 14:17:00 +08:00
Xinchen Hui 31ce3a661a Fixed bug #72308 (fastcgi_finish_request and logging environment variables) 2016-06-02 14:16:32 +08:00
Danack fc92eeeadf Added reflection test. Standardised filename for other tests. 2016-06-01 21:53:01 +01:00
Danack ea355206f6 Cleanup spurious changes. 2016-06-01 20:25:00 +01:00
Dmitry Stogov 1b4946e658 Use "fast" assembler functions in "slow" ones.
Mark assembler functions that changes memory.
2016-06-01 20:52:14 +03:00
Dmitry Stogov 6a32d44392 cleanup 2016-06-01 18:07:05 +03:00
Anatol Belski 430d5ef281 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-06-01 14:09:16 +02:00
Anatol Belski 51cb58e709 update NEWS 2016-06-01 14:08:32 +02:00
Anatol Belski 2ca86bb860 Merge branch 'PHP-7.0'
* PHP-7.0:
  Add test for bug #72294
  Fixed bug #72294 Segmentation fault/invalid pointer in connection with pgsql_stmt_dtor
2016-06-01 11:57:00 +02:00
Anatol Belski 79b978db9a Add test for bug #72294 2016-06-01 11:55:35 +02:00
Anatol Belski af8fa8e937 Fixed bug #72294 Segmentation fault/invalid pointer in connection with pgsql_stmt_dtor 2016-06-01 11:55:35 +02:00
Sammy Kaye Powers 6f10874bca Remove a few references to $GLOBALS and clean up a bit 2016-06-01 01:57:33 -05:00
Xinchen Hui 1afcf15c85 Merge branch 'PHP-7.0'
* PHP-7.0:
  Also include ini_get
2016-06-01 10:46:22 +08:00
Xinchen Hui cf1ad54b64 Also include ini_get 2016-06-01 10:46:04 +08:00
Xinchen Hui fb3aadea4c Merge branch 'PHP-7.0'
* PHP-7.0:
  Forgotten test script for bug #72300
2016-06-01 10:44:37 +08:00
Xinchen Hui f5bc7e881b Forgotten test script for bug #72300 2016-06-01 10:43:53 +08:00
Sara Golemon 51b3be7e76 Correct inline comments regarding pass1/pass2 actions
BRK/CONT no longer reach the optimizing following 8542befa7b
Pre-evaluate constant function calls is in pass1, not pass2
2016-05-31 22:41:37 +00:00
Anatol Belski ce02f0f3b8 fix test 2016-05-31 18:55:39 +02:00
Anatol Belski b4a07fa5db Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test portability
2016-05-31 18:53:37 +02:00
Anatol Belski 1d4d8c7436 fix test portability 2016-05-31 18:42:40 +02:00
Xinchen Hui 02571c2a7b Merge branch 'PHP-7.0' 2016-05-31 07:24:22 -07:00
Xinchen Hui f2a814df33 Fixed bug #72300 (ignore_user_abort(false) has no effect) 2016-05-31 07:24:02 -07:00
Xinchen Hui 3b0a6dfeb2 Merge branch 'PHP-7.0'
* PHP-7.0:
  No sure why this is failed in travis
2016-05-31 17:23:03 +08:00
Xinchen Hui 953ee61a49 No sure why this is failed in travis 2016-05-31 17:22:47 +08:00
Xinchen Hui 5717faa1e5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test (keyword is local related)
2016-05-31 16:56:12 +08:00
Xinchen Hui 47fa763fae Fixed test (keyword is local related) 2016-05-31 16:55:58 +08:00
Xinchen Hui 9bf3b03e73 Merge branch 'PHP-7.0'
* PHP-7.0:
  Attempt to fix tests fails
2016-05-31 16:48:33 +08:00
Xinchen Hui 072bc589fc Attempt to fix tests fails 2016-05-31 16:48:19 +08:00
Xinchen Hui 8539c5debf Merge branch 'PHP-7.0'
* PHP-7.0:
  Re-Fixed bug #72155 (use-after-free caused by get_zval_xmlrpc_type)
  Revert "fix #72155 (use-after-free caused by get_zval_xmlrpc_type)"
2016-05-31 11:44:33 +08:00
Xinchen Hui d1dd9b4558 Re-Fixed bug #72155 (use-after-free caused by get_zval_xmlrpc_type) 2016-05-31 11:44:20 +08:00
Xinchen Hui a811b5e38d Revert "fix #72155 (use-after-free caused by get_zval_xmlrpc_type)"
This reverts commit 1690dcb827.
2016-05-31 11:32:09 +08:00
Dmitry Stogov b111da96d9 Split ZEND_SEND_VAR_NO_REF into ZEND_SEND_VAR_NO_REF and ZEND_SEND_VAR_NO_REF_EX (similar to ZEND_SEND_VAL) and remove ZEND_ARG_* flags. 2016-05-31 04:06:00 +03:00
Dmitry Stogov f216176bc9 Initialize only the necessary fields. 2016-05-31 00:04:52 +03:00
Anatol Belski 6bd3b8108a Merge branch 'PHP-7.0'
* PHP-7.0:
  fix condition
2016-05-30 18:36:06 +02:00
Anatol Belski 2524ab9e67 fix condition 2016-05-30 18:35:14 +02:00
Anatol Belski c18423ffb5 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-05-30 14:10:48 +02:00
Anatol Belski c101690972 update NEWS 2016-05-30 14:10:27 +02:00
Bob Weinand 9cdcac309e Merge remote-tracking branch 'origin/PHP-7.0' 2016-05-30 13:32:37 +02:00
Bob Weinand 67468fb417 Fixed bug #72284 (phpdbg fatal errors with coverage)
Cherry-pick of original commits d3371b and 0f20e11 only present in master
2016-05-30 13:31:17 +02:00
Anatol Belski 38d9b07d74 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test title
  Add test for bug #72258
  update UPGRADING
  Expose missing flags from libzip at least >= 0.11.x
2016-05-30 12:50:25 +02:00
Anatol Belski 933d6b188c fix test title 2016-05-30 12:48:00 +02:00
Anatol Belski 97c530fece Add test for bug #72258 2016-05-30 12:47:04 +02:00
Anatol Belski f6e79af3ef update UPGRADING 2016-05-30 10:32:43 +02:00
Anatol Belski 2c80459c24 Expose missing flags from libzip at least >= 0.11.x
These are helpful with reading/writing zips containing non UTF-8
filenames to mitigate possibly changed libzip behaviors.

Partial cherry-pick of 893c2405ff
2016-05-30 10:32:43 +02:00
Anatol Belski ef2ffda0e4 Merge branch 'PHP-7.0'
* PHP-7.0:
  update UPGRADING
2016-05-30 10:31:56 +02:00
Anatol Belski d0f03042fd update UPGRADING 2016-05-30 10:31:04 +02:00
Anatol Belski d893f5c2c7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Expose missing flags from libzip at least >= 0.11.x
2016-05-30 10:22:12 +02:00
Anatol Belski 63595aef3d Expose missing flags from libzip at least >= 0.11.x
These are helpful with reading/writing zips containing non UTF-8
filenames to mitigate possibly changed libzip behaviors.

Partial cherry-pick of 893c2405ff
2016-05-30 10:16:12 +02:00
Joe Watkins 9de481fe0d Merge branch 'PHP-7.0'
* PHP-7.0:
  fix #72155 (use-after-free caused by get_zval_xmlrpc_type)
2016-05-30 08:57:11 +01:00
Joe Watkins 1690dcb827 fix #72155 (use-after-free caused by get_zval_xmlrpc_type) 2016-05-30 08:56:50 +01:00
Joe Watkins 2a0261d712 Merge branch 'PHP-7.0'
* PHP-7.0:
  This is exported at implementation site, but no forward declaration can cause compile warnings
2016-05-29 06:03:33 +01:00
Joe Watkins 0c5bd4d445 This is exported at implementation site, but no forward declaration can cause compile warnings 2016-05-29 06:02:38 +01:00
Nikita Popov 921b3251b3 Fix bug #71604
Alternatively could throw some kind of uncatchable dummy exception
into the generator. Right now just checking for NULL in two places
seems simpler.
2016-05-28 14:40:32 +02:00
Nikita Popov 79de9fa4aa Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_execute.h
2016-05-28 13:22:49 +02:00
Nikita Popov 4746e5efcb Forbid "yield from" in force closed generators
Same check we do for "yield", was missed when "yield from" was
added. We could make this more granular by only forbidding to
actually yield values and still allow something like "yield from []",
but this does not seem worthwhile.
2016-05-28 13:21:05 +02:00
Xinchen Hui 60a417c5b7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added NEWS Entry
  Test for bug #72221, segfault in zend_memnstr_ex
  Fix bug #72221 (segfault, past-the-end access)
2016-05-28 16:12:20 +08:00
Xinchen Hui d29bd582a8 Added NEWS Entry 2016-05-28 16:12:10 +08:00
Lauri Kenttä 58302192b7 Test for bug #72221, segfault in zend_memnstr_ex 2016-05-28 16:10:29 +08:00
Lauri Kenttä 287f9489d8 Fix bug #72221 (segfault, past-the-end access) 2016-05-28 16:10:16 +08:00
Xinchen Hui cbe89e2c6e Merge branch 'fix-72221' of https://github.com/Metabolix/php-src
* 'fix-72221' of https://github.com/Metabolix/php-src:
  Test for bug #72221, segfault in zend_memnstr_ex
  Fix bug #72221 (segfault, past-the-end access)
2016-05-28 16:09:31 +08:00
Xinchen Hui c3495d5dc0 This is not a problem here
if only for PHI placement, we may get rid of this `use` here.
But as the comment said, it is useful if we are going to do code generation
2016-05-28 15:17:14 +08:00
Xinchen Hui 4935c03276 Revert "assert won't cause indrect var access if it's disabled"
in the other hand, it should not be there if it's disabled...

This reverts commit 27f40676e6.
2016-05-27 10:53:32 -07:00
Xinchen Hui 27f40676e6 assert won't cause indrect var access if it's disabled 2016-05-27 10:48:36 -07:00
Xinchen Hui da511f255a Typo & cleanup 2016-05-27 16:17:07 +08:00
Ferenc Kovacs 42be298b30 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-05-26 03:06:32 +02:00
Ferenc Kovacs cc0d237664 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-05-26 03:05:52 +02:00
Ferenc Kovacs 6e5958e37d update NEWS 2016-05-26 03:05:06 +02:00
Anatol Belski 893c2405ff Expose missing flags from libzip at least >= 0.11.x
These are helpful with reading/writing zips containing non UTF-8
filenames to mitigate possibly changed libzip behaviors.
2016-05-25 22:13:25 +02:00
Adam Harvey 38be3b28cb Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix typo in phpdbg help.
2016-05-25 12:48:00 -05:00
Adam Harvey c523dfdb49 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix typo in phpdbg help.
2016-05-25 12:47:49 -05:00
Adam Harvey 54eb659032 Fix typo in phpdbg help.
Sorry, I would have included this in the last push had I spotted it a
minute earlier.
2016-05-25 12:47:35 -05:00
Adam Harvey 457d3ad36c Merge branch 'PHP-7.0'
* PHP-7.0:
  Add missing newlines to phpdbg's help for the run command.
2016-05-25 12:42:17 -05:00
Adam Harvey ac29f9de86 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add missing newlines to phpdbg's help for the run command.
2016-05-25 12:40:23 -05:00
Adam Harvey e623e91e27 Add missing newlines to phpdbg's help for the run command.
This is not at all related to needing screenshots for a talk I'm giving
in two days. No sir. Not at all.
2016-05-25 12:38:41 -05:00
Remi Collet 4dd03651f3 Skip test which is 64bits only
Diff from test output
001+ Warning: fread(): Length parameter must be greater than 0 in ...
001- Warning: fread(): Length parameter must be no more than 2147483647 in ...
2016-05-25 16:40:52 +02:00
Remi Collet 8c9f3ff086 Merge branch 'PHP-7.0'
* PHP-7.0:
  Skip test which is 64bits only
2016-05-25 16:20:15 +02:00
Remi Collet 815b5fe7ae Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Skip test which is 64bits only
2016-05-25 16:19:52 +02:00
Remi Collet ce932f6479 Skip test which is 64bits only
Diff from test output
001+ Warning: fread(): Length parameter must be greater than 0 in ...
001- Warning: fread(): Length parameter must be no more than 2147483647 in ...
2016-05-25 16:17:12 +02:00
Julien Pauli 0c84740450 5.5.37 now 2016-05-25 11:37:58 +02:00
Anatol Belski d35a373680 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-05-25 11:30:25 +02:00
Anatol Belski 1f3f46cc60 update NEWS 2016-05-25 11:30:00 +02:00
Anatol Belski 04695bf030 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test portability
2016-05-25 11:21:41 +02:00
Anatol Belski 02a3a93f9b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix test portability
2016-05-25 11:21:16 +02:00
Anatol Belski 65a2c451bb fix test portability 2016-05-25 11:19:19 +02:00
Anatol Belski 67dbb9b907 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare for 5.6.22RC1
2016-05-25 11:17:02 +02:00
Anatol Belski 8dab872a43 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  prepare for 5.6.22RC1
2016-05-25 11:15:39 +02:00
Stanislav Malyshev 4ba0197f87 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix memory leak in imagescale()
  Update NEWS
  Better fix for bug #72135
  Fixed bug #72227: imagescale out-of-bounds read
  Fix bug #72241: get_icu_value_internal out-of-bounds read
  Fix bug #72135 - don't create strings with lengths outside int range
  set versions
  Add check for string overflow to all string add operations
  Fix bug #72114 - int/size_t confusion in fread
  Updated NEWS
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()
2016-05-24 20:53:34 -07:00
Stanislav Malyshev 2fe563e8d8 Merge branch 'PHP-7.0.7' into PHP-7.0
* PHP-7.0.7:
  Fix memory leak in imagescale()
  Update NEWS
  Better fix for bug #72135
  Fixed bug #72227: imagescale out-of-bounds read
  Fix bug #72241: get_icu_value_internal out-of-bounds read
  Fix bug #72135 - don't create strings with lengths outside int range
  set versions
  Add check for string overflow to all string add operations
  Fix bug #72114 - int/size_t confusion in fread
  Updated NEWS
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()

Conflicts:
	configure.in
	main/php_version.h
2016-05-24 20:51:52 -07:00
Stanislav Malyshev 3ed0114e7f Merge branch 'PHP-5.5' into PHP-7.0.7
* PHP-5.5:
  Fix memory leak in imagescale()
  Update NEWS
  Better fix for bug #72135
  Fixed bug #72227: imagescale out-of-bounds read
  Fix bug #72241: get_icu_value_internal out-of-bounds read
  Fix bug #72135 - don't create strings with lengths outside int range
  Add check for string overflow to all string add operations
  Fix bug #72114 - int/size_t confusion in fread
  Updated NEWS
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()

Conflicts:
	Zend/zend_operators.c
	ext/intl/locale/locale_methods.c
	ext/phar/dirstream.c
	ext/phar/tests/bug71331.phpt
	ext/standard/file.c
	ext/standard/html.c
2016-05-24 18:05:06 -07:00
Stanislav Malyshev 2464b092eb Merge branch 'PHP-5.6.22' into PHP-5.6
* PHP-5.6.22:
  Fix memory leak in imagescale()
  Update NEWS
  Better fix for bug #72135
  Fixed bug #72227: imagescale out-of-bounds read
  Fix bug #72241: get_icu_value_internal out-of-bounds read
  Fix bug #72135 - don't create strings with lengths outside int range
  prepare for 5.6.22RC1
  Add check for string overflow to all string add operations
  Fix bug #72114 - int/size_t confusion in fread
  Updated NEWS
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()

Conflicts:
	configure.in
	main/php_version.h
2016-05-24 17:21:22 -07:00
Stanislav Malyshev 544940c48a Merge branch 'PHP-5.5' into PHP-5.6.22
* PHP-5.5:
  Fix memory leak in imagescale()
  Update NEWS
  Better fix for bug #72135
  Fixed bug #72227: imagescale out-of-bounds read
  Fix bug #72241: get_icu_value_internal out-of-bounds read
  Fix bug #72135 - don't create strings with lengths outside int range
  Add check for string overflow to all string add operations
  Fix bug #72114 - int/size_t confusion in fread
  Updated NEWS
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()

Conflicts:
	Zend/zend_operators.c
	ext/phar/dirstream.c
	ext/phar/tests/bug71331.phpt
2016-05-24 16:56:36 -07:00
Stanislav Malyshev 9a826a3bd9 Fix memory leak in imagescale() 2016-05-24 16:12:01 -07:00
Stanislav Malyshev f423e1bb89 Update NEWS 2016-05-24 15:56:02 -07:00
Stanislav Malyshev e955913115 Better fix for bug #72135 2016-05-24 15:52:15 -07:00
Dmitry Stogov 2ae21abdf7 Fixed bug #72213 (Finally leaks on nested exceptions).
Squashed commit of the following:

commit 8461b0407fc9eab0869d43b84e6a92ba2fe06997
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed May 25 00:34:42 2016 +0300

    Rmoved zend_try_catch_element.parent and walk through op_array.try_catch_array backward from the current try_cacth_offset.

commit 0c71e249649bed178bfbef30bb3e63c57f07af05
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed May 25 00:04:53 2016 +0300

    Move SAVE_OPLINE() to its original place

commit 111432a4df738fcd65878a42f23194dc3c4983a2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed May 25 00:01:10 2016 +0300

    Separate the common part of ZEND_HANDLE_EXCEPTION and FAST_RET into zend_dispatch_try_catch_finally_helper.

commit 4f21c06c2ec17819a708bc037f318784554a6ecd
Author: Nikita Popov <nikic@php.net>
Date:   Tue May 24 14:55:27 2016 +0200

    Improve finally fix

commit da5c7274997b8308e682b5bf280124e3a1483086
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 10:36:08 2016 +0300

    Fixed Zend/tests/try/bug70228_3.phpt and Zend/tests/try/bug70228_4.phpt

commit cfcedf2fb4f4fc1f7de9f7d53a3037fed7795f19
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 02:59:27 2016 +0300

    Added test

commit 4c6aa93d43da941eb4fda15b48154bfb104bdc04
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 24 00:38:20 2016 +0300

    Added tests

commit 8a8f4704b0eca2e460d42c1f253a363b0db8e510
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon May 23 23:27:34 2016 +0300

    Fixed bug #72213 (Finally leaks on nested exceptions)
2016-05-25 01:25:12 +03:00
Nikita Popov 91f5940329 Forbid dynamic calls to scope introspection functions
Per RFC:
https://wiki.php.net/rfc/forbid_dynamic_scope_introspection
2016-05-24 20:48:24 +02:00
Nikita Popov 674297c7e4 Allow empty property names
Conflicts:
	Zend/zend_compile.c
2016-05-24 18:34:17 +02:00
Nikita Popov a19eb8e34a Ensure no entry predecessors for SSA construction 2016-05-24 18:29:45 +02:00
Nikita Popov e745b4cad8 Replace BB end with BB len
And support empty blocks everywhere.
2016-05-24 18:29:44 +02:00
Lauri Kenttä ad98f573f6 Test for bug #72221, segfault in zend_memnstr_ex 2016-05-24 17:40:29 +03:00
Dmitry Stogov 9b27df8df5 Fixed white-spaces 2016-05-24 12:37:20 +03:00
Stanislav Malyshev 7a1aac3343 Fixed bug #72227: imagescale out-of-bounds read
Ported from https://github.com/libgd/libgd/commit/4f65a3e4eedaffa1efcf9ee1eb08f0b504fbc31a
2016-05-23 00:34:35 -07:00
Dmitry Stogov 0cdbabe558 Merge branch 'nullable_types' of github.com:morrisonlevi/php-src
* 'nullable_types' of github.com:morrisonlevi/php-src:
  Fix bug #71428
  Add nullable parameter types
  Implement nullable return types.
2016-05-23 10:14:26 +03:00
Stanislav Malyshev 97eff7eb57 Fix bug #72241: get_icu_value_internal out-of-bounds read 2016-05-22 17:49:02 -07:00
Nikita Popov 0d62dfdf81 Improve previous fix
Do not mark loop var free blocks as reachable after all -- as we
can't construct SSA for unreachable blocks, this would cause
issues down the line.

Instead add an extra UNREACHABLE_FREE flag and retain only the
FREE instruction during NOP removal. (If we retain all
instructions in the BB we might leave a jump instruction that goes
into the nowhere.)
2016-05-22 00:05:06 +02:00
Nikita Popov fa9566627b Fix reachability detection if live ranges aren't split
Even if we don't split, we still want to keep the same logic for
reachibility detection.
2016-05-21 20:17:09 +02:00
Lauri Kenttä 26fa27d760 Fix bug #72221 (segfault, past-the-end access) 2016-05-21 18:46:00 +03:00
Bob Weinand 4f077aee83 Allow for [] = $array; (alias for list()) 2016-05-20 01:51:05 +02:00
Dmitry Stogov 14a71cf545 Added and fixed tests related to "finally" handling 2016-05-19 13:22:46 +03:00
Torben Köhn abac7e81dd Update CODING_STANDARDS
Fixed a small typo
2016-05-18 17:45:12 +02:00
Dmitry Stogov 88196e9151 Added specialized handler for ZEND_FETCH_DIM_R opcode with only numeric indexes. 2016-05-18 15:06:49 +03:00
Derick Rethans 932c9520bc Merge branch 'PHP-7.0' 2016-05-18 12:19:58 +01:00
Derick Rethans c572968900 Merge branch 'PHP-5.6' into PHP-7.0 2016-05-18 12:19:49 +01:00
Derick Rethans f43f6fc39b Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week) 2016-05-18 12:19:11 +01:00
Dmitry Stogov cef8d93edd Fixed typo 2016-05-18 11:29:02 +03:00
Nikita Popov 14023d39c1 Move builtin_ctzl portability into zend_bitset.h
Use this function in both zend_mm_bitset_find_one and
zend_bitset_first.

Maybe zend_bitset.h is not quite the right place for it, but I did
not want to include this in a globally included header like
zend_long.h or zend_portability.h.
2016-05-17 22:23:43 +02:00
Dmitry Stogov 0d77222473 Merge branch 'PHP-7.0'
* PHP-7.0:
  Use PHP_VERSION as OPcahce version
2016-05-17 17:17:09 +03:00
Dmitry Stogov d41920c57d Use PHP_VERSION as OPcahce version 2016-05-17 17:16:10 +03:00
Nikita Popov b65b15c6f4 Mark assert() as INDIRECT_VAR_ACCESS
I don't like this... we may want to detect "obviously not string"
operands by checking for the result of a comparison instruction.
2016-05-17 16:13:17 +02:00
Xinchen Hui 37b1226af1 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Inlined fast paths of the freqently execute handlers for FETCH_DIM_R.
2016-05-17 20:28:26 +08:00
Xinchen Hui fad91468db Revert "Fixed Bug #72213 (Finally leaks on nested exceptions)"
This reverts commit 5037ebf058.
2016-05-17 20:27:16 +08:00
Dmitry Stogov c466df6813 Inlined fast paths of the freqently execute handlers for FETCH_DIM_R. 2016-05-17 15:08:04 +03:00
Xinchen Hui 0c8879e3da Merge branch 'PHP-7.0'
* PHP-7.0:
  Let's only read-only here
2016-05-17 18:07:36 +08:00
Xinchen Hui 2eb7e75c25 Let's only read-only here 2016-05-17 18:07:20 +08:00
Xinchen Hui b27ecb5026 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Specialize ZEND_ASSIGN_ADD and family according to value of opline->extended_value
2016-05-17 17:41:01 +08:00
Xinchen Hui 60d743dd3b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72229 (Wrong reference when serialize/unserialize an object)
2016-05-17 17:40:37 +08:00
Xinchen Hui 7989db975f Fixed bug #72229 (Wrong reference when serialize/unserialize an object) 2016-05-17 17:40:26 +08:00
Dmitry Stogov 34a6c93b25 Specialize ZEND_ASSIGN_ADD and family according to value of opline->extended_value 2016-05-17 11:46:25 +03:00
Xinchen Hui 5037ebf058 Fixed Bug #72213 (Finally leaks on nested exceptions) 2016-05-17 15:32:43 +08:00
Dmitry Stogov 8f7b1a3248 IS_CONST operands don't have to be separated. Use reference-counting instead of duplication.
- with opcache all IS_CONST operands are not refcounted (scalars, interned strings or immutable arrays)
- without opcache IS_CONST operands are not shared between processes or threads and may use common reference counters
2016-05-17 08:45:06 +03:00
Dmitry Stogov 1fe7b3bca1 micro-optimisation 2016-05-17 02:09:29 +03:00
Anatol Belski 41cb432ec4 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Tidy up
  Remove unnecessary boundary checks
  Resolve bug #72017
2016-05-16 19:31:20 +02:00
Anatol Belski 7e5ea3c305 update NEWS 2016-05-16 19:30:38 +02:00
Thomas Punt 0e21742bf8 Tidy up 2016-05-16 19:15:40 +02:00
Thomas Punt 367fde9947 Remove unnecessary boundary checks 2016-05-16 19:15:40 +02:00
Thomas Punt 39052d4d75 Resolve bug #72017 2016-05-16 19:15:40 +02:00
Xinchen Hui 8ed45fff1a Merge branch 'PHP-7.0' 2016-05-16 06:24:34 -07:00
Xinchen Hui 6f4860545b Revert "Revert the ABI break commit"
This reverts commit 07220f615b.
2016-05-16 06:23:55 -07:00
Xinchen Hui d1d18d5f26 Merge branch 'PHP-7.0' 2016-05-16 06:22:49 -07:00
Xinchen Hui 0b3a4c6101 Revert "Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)""
obviously I read the change is in argument lists by mistake :<

This reverts commit 9e7afa7514.
2016-05-16 06:22:13 -07:00
Dmitry Stogov 97bf4e0b12 Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function 2016-05-16 12:42:13 +03:00
Dmitry Stogov 054446a25f Extend CAL_FLAGS from 8-bit to 16-bit 2016-05-16 12:41:24 +03:00
Dmitry Stogov 414c4c6776 Revert "Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function."
This reverts commit a9b517c614.
2016-05-16 11:51:29 +03:00
Dmitry Stogov a9b517c614 Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function. 2016-05-16 10:24:13 +03:00
Xinchen Hui 0499f9094f Merge branch 'PHP-7.0'
* PHP-7.0:
  Correct name, it was typed in habitually
2016-05-16 14:49:22 +08:00
Xinchen Hui 8578fb994b Correct name, it was typed in habitually 2016-05-16 14:48:13 +08:00
Stanislav Malyshev 0da8b8b801 Fix bug #72135 - don't create strings with lengths outside int range 2016-05-15 23:26:51 -07:00
Xinchen Hui 5656292a18 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert the ABI break commit
  Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)"
2016-05-16 11:25:16 +08:00
Xinchen Hui 07220f615b Revert the ABI break commit 2016-05-16 11:24:39 +08:00
Xinchen Hui 9e7afa7514 Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)"
ABI break

This reverts commit fb951553be.
2016-05-16 11:24:16 +08:00
Xinchen Hui 3994a70b91 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72218 (If host name cannot be resolved then PHP 7 crashes)
  fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)
  fix #72206 (xml_parser_create/xml_parser_free leaks mem)
  improve 7132fe19c2
  fix 1bb8a7b0b8
  fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo)

Conflicts:
	acinclude.m4
2016-05-16 11:21:39 +08:00
Xinchen Hui 1559fd7e48 Fixed bug #72218 (If host name cannot be resolved then PHP 7 crashes) 2016-05-16 11:19:45 +08:00
Danack 4a7afdaa98 Typo. 2016-05-15 21:08:52 +01:00
Danack 63ca65daef Add Closure::fromCallable().
Add the ability to create closures from callable as part of RFC: https://wiki.php.net/rfc/closurefromcallable
2016-05-15 17:39:47 +01:00
Jakub Zelenka bc63879d46 Update NEWS with info about JSON parser method 2016-05-15 14:15:04 +01:00
Jakub Zelenka 89d02e0019 Merge branch 'json_parser_method' 2016-05-15 13:50:23 +01:00
Anatol Belski 41518d255e fix dir separator 2016-05-14 23:48:04 +02:00
Nikita Popov dd8379e046 Inference: $a[]= results in long keys 2016-05-14 17:16:32 +02:00
Nikita Popov 6079ba4b0c Inference: Fix undef handling for binary ops
We need to be careful about correctly handling that undef results
in a null value. Otherwise, apart from simply generating incorrect
results, we may also end up performing non-monotonic lattice
transitions, thus causing an infinite type inference loop (see
test).
2016-05-14 17:16:32 +02:00
Nikita Popov 773b377888 Inference: Use common handling for compound assign ops
Extract the inference code for binary operators and then handle all
ASSIGN_* opcodes the same way.
2016-05-14 17:16:32 +02:00
Nikita Popov c5160d78f1 Add COPY_SSA_OBJ_TYPE macro
Use it consistently in the ASSIGN_* implementations, previously
it was only present in ASSIGN_ADD.
2016-05-14 17:16:32 +02:00
Nikita Popov 94d09163e7 Fix & improve assign_dim inference
Extract a helper function for handling ASSIGN_DIM and ASSIGN_*
with ASSIGN_DIM ev uniformly. Previously the code was copy pasted
for each ASSIGN_* op, but the variable names were not correctly
adjusted (tmp vs orig), so the type inference result was wrong.

Also sligthly improve handling:
 * Result cannot be false, will always be converted to array.
 * If the dim is a CONST string operand, we don't have to assume
   numeric strings.
 * If the inserted value may be undef, the array may contain null.
2016-05-14 17:16:32 +02:00
Joe Watkins 90f46f2c5b fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs) 2016-05-14 08:21:32 +01:00
Joe Watkins fb951553be fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs) 2016-05-14 08:20:41 +01:00
Joe Watkins 4a42fbbbc7 fix #72206 (xml_parser_create/xml_parser_free leaks mem) 2016-05-14 08:11:18 +01:00
Joe Watkins b165114013 fix #72206 (xml_parser_create/xml_parser_free leaks mem) 2016-05-14 08:10:16 +01:00
Joe Watkins 3684d41172 fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type) 2016-05-14 06:28:11 +01:00
Sara Golemon 49a7be0697 Implement FIPS 180-4 algos: sha512/256 and sha512/224
These algorithms are simple extensions to the existing sha512 algo
using different initialization vectors and producing truncated output.
2016-05-14 04:39:39 +00:00
Sara Golemon 7594fd0cfa Check in generated lexer
This should have been included with my previous diff implementing octal overflow warning.
Ooops.
2016-05-14 04:31:39 +00:00
Sara Golemon 95af467d8d Raise compiler warning on octal overflow
Addresses https://bugs.php.net/bug.php?id=71994
2016-05-14 00:20:32 +00:00
Joe Watkins 1524e00ccc improve 7132fe19c2 2016-05-13 12:47:36 +01:00
Dmitry Stogov 8462b353d0 Added news entries 2016-05-13 14:46:43 +03:00
Dmitry Stogov be071702b3 Fixed bug #72188 (Nested try/finally blocks losing return value) 2016-05-13 14:38:43 +03:00
Dmitry Stogov e9c3f9fcde Fixed bug #72177 (Scope issue in __destruct after ReflectionProperty::setValue()) 2016-05-13 11:55:09 +03:00
Joe Watkins 7132fe19c2 fix 1bb8a7b0b8 2016-05-13 09:25:15 +01:00
Joe Watkins ee8f402af8 fix 1f52a03082 2016-05-13 09:21:28 +01:00
Joe Watkins 1f52a03082 fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo) 2016-05-13 07:43:49 +01:00
Joe Watkins 1bb8a7b0b8 fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo) 2016-05-13 07:41:11 +01:00
Dmitry Stogov ccf18da450 Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers.
This slightly improves calls to regular function and method calls in cost of a bit slower generator initialization.
Separate call frame for generators, allocated on heap, now created by ZEND_GENERATOR_CREATE instruction.
2016-05-13 01:40:15 +03:00
Nikita Popov b5bdb40cb5 Fix phi placement for pi targets
If the pi target has multiple predecessors, we need to place a
phi there. However it's not possible to express this in terms of
dominance frontiers, so we need to explicitly add it to the phi
set.

This does not yet solve the problem of non-minimal SSA for the
case where the target has multiple predecessors, but dominates
all predecessors (apart from the one creating the pi) -- but
that's an existing issue.
2016-05-12 22:08:28 +02:00
Nikita Popov b1c3c9a525 Explicitly construct phi set during def propagation
Previously the phi set was first computed during def propagation
and then computed again (per-block) during actual phi placement.
This commit changes this to store the phi set computed during
def propagation.

This makes SSA construction slightly faster (5%), but the main
purpose here is to pave the way for the next commit.

This also fixes a potential issue with the handling of irreducible
loops -- they generated additional phis, but these were not
accounted for in def propagation. (Though I'm not sure if we can
even have any irreducible loops right now.)
2016-05-12 22:08:28 +02:00
Anatol Belski aea0d577f9 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix dir separator in test
2016-05-12 20:38:02 +02:00
Anatol Belski f751b1ceaf fix dir separator in test 2016-05-12 20:37:04 +02:00
Dmitry Stogov 4652fe18c7 Removed useless code 2016-05-12 16:46:37 +03:00
Anatol Belski 468b2e673f Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-05-12 13:39:39 +02:00
Anatol Belski d33f258495 update NEWS 2016-05-12 13:39:15 +02:00
Anatol Belski ed2ec7be80 Merge branch 'PHP-7.0'
* PHP-7.0:
  workaround the extra new line in the test out on another env
2016-05-12 12:49:31 +02:00
Dmitry Stogov 7b94b958cc Intern some known (and offten used) strings. 2016-05-12 13:47:22 +03:00
Anatol Belski 9f50bb5bfa workaround the extra new line in the test out on another env 2016-05-12 12:45:04 +02:00
Anatol Belski 00390449c6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72197 pg_lo_create arbitrary read
2016-05-12 11:41:18 +02:00
Anatol Belski 7f6e285430 Fixed bug #72197 pg_lo_create arbitrary read 2016-05-12 11:40:28 +02:00
Xinchen Hui 5ddb01ce42 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added NEWS entry missed while doing merge
2016-05-12 13:48:52 +08:00
Xinchen Hui 3797e570b2 Added NEWS entry missed while doing merge 2016-05-12 13:48:24 +08:00
Xinchen Hui 28f35c1799 Merge branch 'PHP-7.0'
* PHP-7.0:
  Committed by accident
2016-05-12 13:40:32 +08:00
Xinchen Hui 92828ae204 Committed by accident 2016-05-12 13:40:22 +08:00
Xinchen Hui d1926742aa 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 serializing ZEND_AST_SHELL_EXEC
  add missing NEWS entry
  prepare for 5.6.22RC1
  add missing NEWS entry
2016-05-12 13:16:07 +08:00
Xinchen Hui 8fd92e0518 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72195 (pg_pconnect/pg_connect cause use-after-free)
2016-05-12 13:15:57 +08:00
Xinchen Hui 3c0341e6f9 Fixed bug #72195 (pg_pconnect/pg_connect cause use-after-free) 2016-05-12 13:15:33 +08:00
Sara Golemon 8523b1f8ed Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix serializing ZEND_AST_SHELL_EXEC
2016-05-12 02:51:14 +00:00
Sara Golemon a73b03edea Fix serializing ZEND_AST_SHELL_EXEC
Currently, `foo` is reserialized as `'foo'` due to misuse of zend_ast_export().
ZEND_AST_SHELL_EXEC can only contain ZEND_AST_ZVAL(string) or ZEND_AST_ENCAPS_LIST,
so just handle the ZEND_AST_ZVAL(string) case directly.
2016-05-12 02:47:56 +00:00
Dmitry Stogov 8a7a913a7a Use main VM stack for generators. Only single call frame for generator itself is allocated on heap, call frames for nested functions are allocated on main VM stack. In case "yield" used in context of another function call, call stack has to be frozen and then restored. 2016-05-12 00:44:18 +03:00
Ferenc Kovacs fe6af26e2d prepare for 5.6.22RC1 2016-05-11 23:34:15 +02:00
Ferenc Kovacs 9ffbd644c4 Merge branch 'PHP-7.0'
* PHP-7.0:
  add missing NEWS entry
  prepare for 5.6.22RC1
  add missing NEWS entry
2016-05-11 23:32:27 +02:00
Ferenc Kovacs 414eb83460 add missing NEWS entry 2016-05-11 23:31:52 +02:00
Ferenc Kovacs edcc97df39 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  prepare for 5.6.22RC1
  add missing NEWS entry
2016-05-11 23:31:09 +02:00
Ferenc Kovacs 0815f7f755 prepare for 5.6.22RC1 2016-05-11 23:30:04 +02:00
Ferenc Kovacs 89e4862e5f add missing NEWS entry 2016-05-11 23:29:23 +02:00
Jakub Zelenka 0a0e42d1f5 Add php_json_yyparse for direct use in json ext 2016-05-11 21:11:47 +01:00
Jakub Zelenka b91c05ea14 Fix and clean up exporting of json parser 2016-05-11 20:54:42 +01:00
Dmitry Stogov 515a61069a Added test 2016-05-11 12:55:33 +03:00
Xinchen Hui 904ea128ee Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed Bug #72193 (dns_get_record returns array containing elements of type 'unknown')
2016-05-11 17:32:06 +08:00
Xinchen Hui df404e2e0e Fixed Bug #72193 (dns_get_record returns array containing elements of type 'unknown') 2016-05-11 17:31:46 +08:00
Xinchen Hui 233562c2da Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71573 (Segfault (core dumped) if paramno beyond bound)
2016-05-11 11:12:46 +08:00
Xinchen Hui 66ad4fc393 Fixed bug #71573 (Segfault (core dumped) if paramno beyond bound) 2016-05-11 11:12:27 +08:00
Derick Rethans 1c49a9fa71 Merge branch 'PHP-7.0' 2016-05-10 15:40:09 -04:00
Derick Rethans c35bd4861d Allow for special case for the opcache zend extension 2016-05-10 15:40:03 -04:00
Anatol Belski 208c28f152 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix handle leak
2016-05-10 20:03:27 +02:00
Anatol Belski 0718aa5833 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix handle leak
2016-05-10 20:02:17 +02:00
Anatol Belski 6b63d80a7a fix handle leak 2016-05-10 19:59:48 +02:00
Dmitry Stogov 13ea086945 Merge branch 'PHP-7.0'
* PHP-7.0:
  The "flock" structure has to be writable on AIX.
2016-05-10 17:53:43 +03:00
Dmitry Stogov f7372f648f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  The "flock" structure has to be writable on AIX.
2016-05-10 17:53:33 +03:00
Dmitry Stogov 90f43caf5b The "flock" structure has to be writable on AIX. 2016-05-10 17:50:14 +03:00
Anatol Belski 2beacaad49 set versions 2016-05-10 13:16:44 +02:00
Anatol Belski fd0731f09c Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare next 7.0.8
2016-05-10 13:10:35 +02:00
Anatol Belski 09dae4dc85 prepare next 7.0.8 2016-05-10 13:06:55 +02:00
Nikita Popov 20560da118 Merge branch 'PHP-7.0'
Conflicts:
	ext/reflection/php_reflection.c
2016-05-10 12:17:54 +02:00
Nikita Popov e6d4a9e2d2 Don't HT_ASSERT rc=1 in zend_hash_apply functions
These are not necessarily used to modify the hash. Move the assert
into the APPLY_REMOVE branch only.
2016-05-10 12:14:08 +02:00
Nikita Popov a1ed4ab3ca Fixed bug #72174
Also fixes a memory leak if ::getValue() is used with __get().
2016-05-10 12:13:10 +02:00
Stanislav Malyshev 41fc3c76e9 Add check for string overflow to all string add operations 2016-05-09 22:17:20 -07:00
Stanislav Malyshev abd159cce4 Fix bug #72114 - int/size_t confusion in fread 2016-05-09 21:55:29 -07:00
Anatol Belski f9bead7a59 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-05-09 18:52:21 +02:00
Anatol Belski 3407931108 update NEWS 2016-05-09 18:51:54 +02:00
Anatol Belski a430f8a562 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-05-09 18:51:25 +02:00
Anatol Belski 0ea2bfb30e update NEWS 2016-05-09 18:50:40 +02:00
Anatol Belski 148fa6bb44 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Fixed bug #71820 pg_fetch_object bind parameters before call constructor"
  Revert "Backport patch for bug #71820"
2016-05-09 17:29:56 +02:00
Anatol Belski fc2a45b70a Revert "Fixed bug #71820 pg_fetch_object bind parameters before call constructor"
This reverts commit b4eedd128b.

This fixed bug #72151, and reverts the fix for bug #71820.
See also bug #50636 and #49521 for the history.
2016-05-09 17:25:53 +02:00
Anatol Belski 692c262526 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Revert "Backport patch for bug #71820"
2016-05-09 17:23:40 +02:00
Anatol Belski 1cc536af5a Revert "Backport patch for bug #71820"
This reverts commit 1b632cfe83.

This fixed bug #72151, and reverts the fix for bug #71820.
See also bug #50636 and #49521 for the history.
2016-05-09 17:15:40 +02:00
Anatol Belski 7b65346b66 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #64524 Add intl.use_exceptions to php.ini-*
2016-05-08 15:13:01 +02:00
Anatol Belski f152c3fa57 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #64524 Add intl.use_exceptions to php.ini-*
2016-05-08 15:12:20 +02:00
Anatol Belski 41b159fd11 Fixed bug #64524 Add intl.use_exceptions to php.ini-* 2016-05-08 15:09:50 +02:00
Xinchen Hui 9e404927a6 Merge branch 'PHP-7.0' 2016-05-07 22:05:05 -07:00
Xinchen Hui b62f7e338d Remove unnecessary strlen check 2016-05-07 22:04:31 -07:00
Xinchen Hui 69adf2370e Fixed test 2016-05-07 22:04:20 -07:00
Bob Weinand d33e71b358 Fix include_once in phpdbg 2016-05-07 14:45:41 +02:00
Xinchen Hui 455eabcd2c Merge branch 'PHP-7.0' 2016-05-07 00:08:35 -07:00
Xinchen Hui 29079f263e Strlen cleanup (additions for previous one fix)
Probably compilers will do similar optimization
2016-05-07 00:08:15 -07:00
Xinchen Hui 93e5d56617 Merge branch 'patch-1' of https://github.com/Valkyrurr/php-src 2016-05-06 23:55:13 -07:00
Xinchen Hui 2c992032ce Merge branch 'PHP-7.0' 2016-05-06 23:54:48 -07:00
Xinchen Hui f7439afeda Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_strtod.c
2016-05-06 23:52:48 -07:00
Xinchen Hui 1c7f608071 Fixed bug #72172 (zend_hex_strtod should not use strlen) 2016-05-06 23:52:06 -07:00
Xinchen Hui ed0eb2bfdd Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Fixed bug #72170 (JsonSerializable may inc apply count without dec it)"
2016-05-06 20:25:43 +08:00
Xinchen Hui 197470b62f Revert "Fixed bug #72170 (JsonSerializable may inc apply count without dec it)"
This reverts commit 459a7cc209.
2016-05-06 20:25:24 +08:00
Xinchen Hui 9a43e3f4bf Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Add $http_response_header tests
2016-05-06 18:48:28 +08:00
Xinchen Hui 10f8ca9151 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72170 (JsonSerializable may inc apply count without dec it)
2016-05-06 18:39:18 +08:00
Xinchen Hui 459a7cc209 Fixed bug #72170 (JsonSerializable may inc apply count without dec it)
I don't want use zend_try here, but seems I have no choice :<
2016-05-06 18:38:26 +08:00
Nikita Popov 8ba694ebbd Add $http_response_header tests
Looks like we didn't have a single test for this functionality :/
2016-05-06 12:37:21 +02:00
Dmitry Stogov 8ae695cd75 Fixed possible crash 2016-05-06 12:36:21 +03:00
Dmitry Stogov cca2c8ecc4 Reimplemented Bob's commit bac6fdb0c5 without insignificant renaming and white-space changes 2016-05-06 10:47:58 +03:00
Dmitry Stogov 37c8711f49 Fixed typo 2016-05-06 10:47:58 +03:00
Dmitry Stogov c19cb70dac Revert "Refactor zval cleanup into single function"
This reverts commit bac6fdb0c5.
2016-05-06 10:47:58 +03:00
Anatol Belski cb4750f52d Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  reorder entry alphabetically
2016-05-06 09:41:44 +02:00
Anatol Belski 627b5aae3f update NEWS 2016-05-06 09:41:21 +02:00
Anatol Belski d76638b491 reorder entry alphabetically 2016-05-06 09:39:02 +02:00
Anatol Belski 80f91fd9d5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Re-fix #72165
  Revert "Fixed bug #72165 Null pointer dereference - openssl_csr_new"
2016-05-06 09:33:22 +02:00
Anatol Belski 5afba67bfe Re-fix #72165
Reverted previous wrong patch, throw warning for numeric keys.
Numeric field names are not supported, see "distinguished name"
section here https://www.openssl.org/docs/manmaster/apps/req.html
2016-05-06 09:30:41 +02:00
Anatol Belski dd5479ea4c Revert "Fixed bug #72165 Null pointer dereference - openssl_csr_new"
This reverts commit 7277c85765.
2016-05-06 09:19:04 +02:00
Anatol Belski 20ae634bf0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72165 Null pointer dereference - openssl_csr_new
2016-05-06 09:02:14 +02:00
Anatol Belski 7277c85765 Fixed bug #72165 Null pointer dereference - openssl_csr_new 2016-05-06 09:01:27 +02:00
Xinchen Hui 4cd9cf8257 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
  Revert "Fix bug #72162 (again)"
2016-05-06 10:53:25 +08:00
Xinchen Hui 080f6b10ec Fixed test 2016-05-06 10:51:38 +08:00
Xinchen Hui 441d1b8ef0 Revert "Fix bug #72162 (again)"
The problem is because we release p->value too early

and later you try to convert an object to string, which is a fatal error

then leave p->value double free, change to expect long is a BC break

This reverts commit 8e5b381004.
2016-05-06 10:45:44 +08:00
Bob Weinand bac6fdb0c5 Refactor zval cleanup into single function
Also use zval_ptr_dtor_nogc() everywhere in Zend in favor of zval_dtor()
2016-05-05 23:31:57 +02:00
Levi Morrison 56c3d75780 Fix bug #71428
This also affects bug #72119
2016-05-05 11:53:32 -06:00
Levi Morrison 9662259cb9 Add nullable parameter types
This works off of Dmitry's commit for nullable return types
2016-05-05 11:53:32 -06:00
Dmitry Stogov 49fe737e58 Implement nullable return types. 2016-05-05 09:34:16 -06:00
Nikita Popov 59f35c0ca9 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_builtin_functions.c
2016-05-05 17:31:25 +02:00
Nikita Popov 8e5b381004 Fix bug #72162 (again)
Not sure what the previous fix was supposed to do. The issue was
that error_reporting() simply assumes that the value must either
be an integer or a string.

Fixed by using zpp properly.
2016-05-05 17:28:52 +02:00
Dmitry Stogov 26adba38bc Micro-optimization 2016-05-05 16:19:59 +03:00
Dmitry Stogov 6d52492906 Update comments consistently (#var0 -> #v) 2016-05-05 14:41:34 +03:00
Dmitry Stogov 542402afdb Refactor DFA pass for better readability 2016-05-05 14:37:41 +03:00
Xinchen Hui 23e362a46e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72164 (Null Pointer Dereference - mb_ereg_replace)
2016-05-05 17:27:58 +08:00
Xinchen Hui 395863b1d1 Fixed bug #72164 (Null Pointer Dereference - mb_ereg_replace) 2016-05-05 17:27:34 +08:00
Xinchen Hui 5eecd61b89 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72154 (pcntl_wait/pcntl_waitpid array internal structure overwrite)
2016-05-05 15:18:24 +08:00
Xinchen Hui c15b6134f6 Fixed bug #72154 (pcntl_wait/pcntl_waitpid array internal structure overwrite) 2016-05-05 15:18:17 +08:00
Xinchen Hui 768bdc132a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72157 (use-after-free caused by dba_open)
2016-05-05 11:12:24 +08:00
Xinchen Hui 1a5d58b28f Fixed bug #72157 (use-after-free caused by dba_open) 2016-05-05 11:12:17 +08:00
Xinchen Hui badf1edffd Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72162 (use-after-free - error_reporting)
2016-05-05 11:02:34 +08:00
Xinchen Hui 9191862121 Fixed bug #72162 (use-after-free - error_reporting) 2016-05-05 11:02:21 +08:00
Nikita Popov 35e7573a33 Merge branch 'PHP-7.0'
Conflicts:
	ext/opcache/Optimizer/block_pass.c
2016-05-05 00:01:56 +02:00
Nikita Popov 0691e7a8e1 Fix JMPZ, JMPZNZ_EX chain optimization
The result_type was not copied, resulting in a corrupted JMPZ_EX.
Fix can be verified by inspecting the opcodes of the following
function (it should not contain any _EX opcodes):

function test() {
    if ($a && $b) {
        echo "a";
    }

    if ($b || $c || $d) {
        echo "b";
    }
}

Conflicts:
	ext/opcache/Optimizer/block_pass.c
2016-05-05 00:00:56 +02:00
Dmitry Stogov 172d8552fc Fixed type inference rules. 2016-05-04 23:59:17 +03:00
Andrea Faulds 660e88c19d Fix bug #71897 2016-05-04 19:26:24 +01:00
Nikita Popov bfef17ab65 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_compile.c
2016-05-04 18:43:55 +02:00
Nikita Popov 9af0c96af4 Fix bug #72159 2016-05-04 18:43:11 +02:00
Anatol Belski 24cf8ba7d8 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NEWS, patch for #71428 was reverted
2016-05-04 18:15:18 +02:00
Anatol Belski 44372d6953 fix NEWS, patch for #71428 was reverted 2016-05-04 18:14:11 +02:00
Joe Watkins 8bec3dae94 Merge branch 'master' of https://github.com/php/php-src 2016-05-04 17:05:05 +01:00
Joe Watkins 3048092f5b Merge branch 'PHP-7.0'
* PHP-7.0:
  correct wording
2016-05-04 17:04:49 +01:00
Joe Watkins a17e4187e7 correct wording 2016-05-04 17:04:38 +01:00
Dmitry Stogov b91197c8a3 Inlined fast path 2016-05-04 17:33:35 +03:00
Joe Watkins dc78e02ad2 Merge branch 'PHP-7.0'
* PHP-7.0:
  add compiler option to disable builtins (special case function calls)
2016-05-04 10:54:29 +01:00
Joe Watkins 9bbee305e3 add compiler option to disable builtins (special case function calls) 2016-05-04 10:53:59 +01:00
Joe Watkins c38310f25a change fcall and statement handlers to accept frame 2016-05-04 09:28:13 +01:00
Jakub Zelenka afb4062c2c Merge branch 'json_parser_method' into json_parser_method_embed 2016-05-03 19:55:55 +01:00
Jakub Zelenka 34a9882ad3 Merge branch 'master' into json_parser_method 2016-05-03 19:55:41 +01:00
Anatol Belski ee551106bc Merge branch 'PHP-7.0'
* PHP-7.0:
  add test fo rbug 71805
2016-05-03 19:11:15 +02:00
Anatol Belski 2d0081cebd Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add test fo rbug 71805
2016-05-03 19:10:40 +02:00
Anatol Belski 5351151352 add test fo rbug 71805 2016-05-03 19:09:11 +02:00
Anatol Belski 09b8550f59 Merge branch 'PHP-7.0'
* PHP-7.0:
  update libs versions
  upate libs versions
2016-05-03 18:28:08 +02:00
Anatol Belski 578ba03339 update libs versions 2016-05-03 18:27:21 +02:00
Anatol Belski 07519d4c4b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  upate libs versions
2016-05-03 18:27:03 +02:00
Anatol Belski a387075954 upate libs versions 2016-05-03 18:24:35 +02:00
Nikita Popov d06431bf1b Merge branch 'PHP-7.0' 2016-05-03 18:15:29 +02:00
Nikita Popov fbae590bf0 Fix leaks in QM_ASSIGN, JMP_SET and COALESCE
The QM_ASSIGN code was rewritten to use the standard pattern for
handling CVs and VARs.
2016-05-03 18:12:56 +02:00
Bob Weinand 0f20e113c2 Fix potential double free with phpdbg 2016-05-03 13:36:41 +02:00
Xinchen Hui d08df44425 Merge branch 'PHP-7.0'
* PHP-7.0:
  Mark fcc as initialized for object calls
2016-05-03 11:13:41 +08:00
Bob Weinand b4c5009220 Mark fcc as initialized for object calls
This results in 1% speedup (cycle count) on some real world applications
2016-05-03 02:07:06 +02:00
Joe Watkins 824641e8c2 Merge branch 'master' of https://github.com/php/php-src 2016-05-02 22:17:16 +01:00
Joe Watkins 1b5a005367 hide implementation details in tests 2016-05-02 22:16:56 +01:00
Nikita Popov 0ce7189265 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_constants.c
2016-05-02 20:04:24 +02:00
Nikita Popov ec7c3c22b6 Fix leak in zend_get_constant_ex 2016-05-02 19:59:43 +02:00
Joe Watkins 5e10735d07 improve test coverage of multicatch 2016-05-02 18:48:50 +01:00
Bob Weinand eb72b0ee06 Merge remote-tracking branch 'origin/PHP-7.0' 2016-05-02 18:22:35 +02:00
Bob Weinand 7c174b6197 Fix use after free on AST expressions in constant declarations 2016-05-02 18:22:15 +02:00
Bob Weinand 45c0301b69 Added NEWS entry for socket_export_stream()
Closes pull request https://github.com/php/php-src/pull/762
2016-05-02 17:11:26 +02:00
Chris Wright e8abb70fc9 Implement socket_export_stream() 2016-05-02 17:08:15 +02:00
Julien Pauli 95ed19ae28 Updated NEWS 2016-05-02 16:52:58 +02:00
Julien Pauli a4abd2bed9 Backport of fixed for bug #71331 - Uninitialized pointer in phar_make_dirstream() 2016-05-02 16:49:47 +02:00
Jakub Zelenka 37048c0f6c Use embedded json parser method structure 2016-05-02 13:02:40 +01:00
Nikita Popov 014fd895a1 Merge branch 'PHP-7.0' 2016-05-02 11:58:31 +02:00
Nikita Popov d5a38280be Drop dup declare with inconsistent linkage
This is already declared in zend_stream.h as ZEND_API.
2016-05-02 11:56:28 +02:00
Nikita Popov 9b99a1c9fb Fix compile warning in ast.c 2016-05-02 11:55:49 +02:00
Nikita Popov 4b0f9586db Add missing update_constants in ReflectionClassConstant
Also fix indentation of __toString().
2016-05-02 11:43:01 +02:00
Christopher Jones d59d8c9dc6 Ensure an ORDER BY gets the expected row order 2016-05-02 16:08:48 +10:00
Pierrick Charron d51b53e9d8 Add NEWS entry for rfc:multiple-catch 2016-05-01 18:56:11 -04:00
Pierrick Charron 0aed2cc2a4 Allow catching multiple exception types in a single catch statement
This commit add the possibility to catch multiple exception types in
a single catch statement to avoid code duplication.

try {
	   // Some code...
} catch (ExceptionType1 | ExceptionType2 $e) {
	   // Code to handle the exception
} catch (\Exception $e) {
	   // ...
}
2016-05-01 18:47:08 -04:00
Anatol Belski 770a6d1342 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test if unlink fails occasionally
  fix dir separator in test
2016-05-01 19:27:13 +02:00
Anatol Belski 5360b3de33 fix test if unlink fails occasionally 2016-05-01 19:25:39 +02:00
Anatol Belski 81e62e66d6 fix dir separator in test 2016-05-01 19:05:02 +02:00
Anatol Belski 965ff1c9bb Merge branch 'master' of git.php.net:php-src 2016-05-01 13:23:57 +02:00
Anatol Belski 2acdf68b5a Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0 2016-05-01 13:23:35 +02:00
Anatol Belski d9f321c6ac Merge branch 'PHP-7.0'
* PHP-7.0:
  Update PHP 5.5 NEWS entries with CVE info
  Added CVE
  Updated NEWS
2016-05-01 13:20:33 +02:00
Anatol Belski bb7cae788e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update PHP 5.5 NEWS entries with CVE info
  Added CVE
  Updated NEWS
2016-05-01 13:19:48 +02:00
Anatol Belski 20359deae6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update PHP 5.5 NEWS entries with CVE info
  Added CVE
  Updated NEWS
2016-05-01 13:18:24 +02:00
Lior Kaplan 5c571626e3 Update PHP 5.5 NEWS entries with CVE info 2016-05-01 13:14:57 +02:00
Nikita Popov 359af7c64b Merge branch 'PHP-7.0' 2016-05-01 13:07:13 +02:00
Nikita Popov 8e855534b7 Fix posix build 2016-05-01 13:07:01 +02:00
Nikita Popov 6a9a0f2090 Merge branch 'PHP-7.0' 2016-05-01 13:05:28 +02:00
Nikita Popov d0069ca6c1 Fix ('\bar')() in namespace 2016-05-01 13:05:14 +02:00
Xinchen Hui 6151151036 Merge branch 'PHP-7.0' 2016-05-01 11:04:48 +08:00
Xinchen Hui 895337ddbd Fixed bug #72133 (php_posix_group_to_array crashes if gr_passwd is NULL) 2016-05-01 11:00:41 +08:00
Anatol Belski 71df61adad fix test 2016-04-30 21:15:57 +02:00
Bob Weinand f59de7ea36 Export zend_pass_function to allow comparisons against it 2016-04-30 20:46:52 +02:00
Nikita Popov 0615c59a4f Mark all $php_errormsg as refs to inhibit optimization 2016-04-30 12:34:01 +02:00
Sara Golemon bdfa6aeebb Merge branch 'PHP-7.0'
* PHP-7.0:
  Create temporary sqlite db in test dir rather than cwd (and clean it up)
2016-04-30 06:05:18 +00:00
Sara Golemon d0b952260e Create temporary sqlite db in test dir rather than cwd (and clean it up)
Well behaved tests do not leave their droppings all over the filesystem.
2016-04-30 06:02:01 +00:00
Joe Watkins 436b26c70b Merge branch 'master' of https://github.com/php/php-src 2016-04-30 06:49:25 +01:00
Joe Watkins 9ad40d8d36 This function needs to be exported for extensions that implement complex zend objects 2016-04-30 06:48:47 +01:00
Nikita Popov 01df044fd5 Reset IMMUTABLE flag when copy_ctor'ing AST 2016-04-29 22:39:21 +02:00
Nikita Popov d048837a46 Drop dead code from update_constant 2016-04-29 22:15:38 +02:00
Nikita Popov 5595dd5ffa Revert code to use DUP instead of COPY
In a1c405e0c5 next to the actual fix
I have also switched some (effective) ZVAL_DUPs to ZVAL_COPYs. I'm
reverting this part as those were probably there for a reason
(presumably issues with non-atomic refcounting on ZTS).
2016-04-29 22:02:31 +02:00
Anatol Belski 2c5704bdc2 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test
  Expose some of the new curl constants to PHP userspace
2016-04-29 14:31:49 +02:00
Anatol Belski 8c74f03c10 fix test 2016-04-29 14:30:19 +02:00
Pierrick Charron 3c92f113e4 Expose some of the new curl constants to PHP userspace 2016-04-29 14:19:55 +02:00
Nikita Popov a1c405e0c5 Fix usages of zend_update_constant_ex
If an in-place update in an external zval is performed, it needs
to incref'd beforehand, not afterwards.
2016-04-29 14:06:39 +02:00
Joe Watkins 416e22d2bb Merge branch 'master' of https://github.com/php/php-src 2016-04-29 13:05:44 +01:00
Joe Watkins fdeb8a199e news entry 2016-04-29 13:05:29 +01:00
Dmitry Stogov dbdc37ac4f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Implement #51879 stream context socket option tcp_nodelay
2016-04-29 14:45:29 +03:00
Dmitry Stogov 2578d08033 Fixed compilation warnings 2016-04-29 14:44:56 +03:00
Joe Watkins 3aaf90df49 Merge branch 'master' of https://github.com/php/php-src 2016-04-29 12:26:18 +01:00
Joe Watkins 4d92498651 Implement #51879 stream context socket option tcp_nodelay 2016-04-29 12:25:54 +01:00
Joe Watkins 66fc5a3436 Implement #51879 stream context socket option tcp_nodelay 2016-04-29 12:11:58 +01:00
Dmitry Stogov 3e9419dd28 Fixed compilation warnings 2016-04-29 14:03:33 +03:00
Dmitry Stogov cb75ea4b64 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Add CVE IDs PHP 7.0.0
  Add CVE IDs PHP 7.0.2
  Add CVE IDs PHP 7.0.3
  Add CVE IDs PHP 7.0.4
  Add CVE IDs PHP 7.0.5
  Add CVE to bug #71912 (PHP 7.0.6)
  Add CVE to bug #69719 (PHP 5.6.10)
  Add CVE IDs PHP 5.6.12
  Add CVE IDs PHP 5.6.13
  Add CVE IDs PHP 5.6.14
  Add CVE to bug #70976 (PHP 5.6.17)
  Add CVE IDs PHP 5.6.18
  Add CVE IDs PHP 5.6.20
  Add CVE to bug #71912 (PHP 5.6.21)
2016-04-29 13:44:23 +03:00
Dmitry Stogov 84bf7ae59b Fixed "comparison between signed and unsigned integer expressions" compilation warnings 2016-04-29 13:43:43 +03:00
Lior Kaplan 3d9b4ae69a Merge branch 'PHP-7.0'
* PHP-7.0:
  Add CVE IDs PHP 7.0.0
  Add CVE IDs PHP 7.0.2
  Add CVE IDs PHP 7.0.3
  Add CVE IDs PHP 7.0.4
  Add CVE IDs PHP 7.0.5
  Add CVE to bug #71912 (PHP 7.0.6)
  Add CVE to bug #69719 (PHP 5.6.10)
  Add CVE IDs PHP 5.6.12
  Add CVE IDs PHP 5.6.13
  Add CVE IDs PHP 5.6.14
  Add CVE to bug #70976 (PHP 5.6.17)
  Add CVE IDs PHP 5.6.18
  Add CVE IDs PHP 5.6.20
  Add CVE to bug #71912 (PHP 5.6.21)
2016-04-29 13:42:54 +03:00
Lior Kaplan 9943c32242 Add CVE IDs PHP 7.0.0 2016-04-29 13:41:29 +03:00
Lior Kaplan 5a578eb8f0 Add CVE IDs PHP 7.0.2 2016-04-29 13:40:44 +03:00
Lior Kaplan 8c215baae7 Add CVE IDs PHP 7.0.3 2016-04-29 13:40:07 +03:00
Lior Kaplan 8491a4e438 Add CVE IDs PHP 7.0.4 2016-04-29 13:39:03 +03:00
Lior Kaplan 19b5e950e7 Add CVE IDs PHP 7.0.5 2016-04-29 13:38:25 +03:00
Lior Kaplan 34dec87343 Add CVE to bug #71912 (PHP 7.0.6) 2016-04-29 13:36:24 +03:00
Lior Kaplan 6e68b44843 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add CVE to bug #69719 (PHP 5.6.10)
  Add CVE IDs PHP 5.6.12
  Add CVE IDs PHP 5.6.13
  Add CVE IDs PHP 5.6.14
  Add CVE to bug #70976 (PHP 5.6.17)
  Add CVE IDs PHP 5.6.18
  Add CVE IDs PHP 5.6.20
  Add CVE to bug #71912 (PHP 5.6.21)
2016-04-29 13:26:46 +03:00
Lior Kaplan 76a5117da7 Add CVE to bug #69719 (PHP 5.6.10) 2016-04-29 13:23:41 +03:00
Lior Kaplan eeea33db68 Add CVE IDs PHP 5.6.12 2016-04-29 13:21:35 +03:00
Lior Kaplan 26f8ee48d6 Add CVE IDs PHP 5.6.13 2016-04-29 13:19:46 +03:00
Lior Kaplan 91fd5406bc Add CVE IDs PHP 5.6.14 2016-04-29 13:17:34 +03:00
Lior Kaplan 34fc0ec377 Add CVE to bug #70976 (PHP 5.6.17) 2016-04-29 13:16:27 +03:00
Lior Kaplan a23ae0f436 Add CVE IDs PHP 5.6.18 2016-04-29 13:15:30 +03:00
Dmitry Stogov 0091d81668 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix constants availability
  fix size_t signed comparison
2016-04-29 13:13:59 +03:00
Lior Kaplan b8b2dd1a43 Add CVE IDs PHP 5.6.20 2016-04-29 13:11:54 +03:00
Dmitry Stogov 71842c2828 Fixed breaks of strict-aliasing rules 2016-04-29 13:11:27 +03:00
Lior Kaplan a91c3f1dd0 Add CVE to bug #71912 (PHP 5.6.21) 2016-04-29 13:10:13 +03:00
Dmitry Stogov dfe092b22e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed condition
2016-04-29 12:49:54 +03:00
Dmitry Stogov 70171affd6 Fixed condition 2016-04-29 12:49:41 +03:00
Dmitry Stogov f2b8b8fde2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Use unsigned shift to clear the bit.
2016-04-29 12:39:27 +03:00
Dmitry Stogov a8d4649097 Use unsigned shift to clear the bit. 2016-04-29 12:38:48 +03:00
Anatol Belski 9db8cefa3c fix constants availability
The issue here is that winsock2 defines IP protocols as an enum,
so the preprocessor won't catch it. However all the items related
are available as of winxp (see ws2def.h), so it's safe just to have.
2016-04-29 11:37:19 +02:00
Dmitry Stogov e2340a17bd Merge branch 'PHP-7.0'
* PHP-7.0:
  Simplified condition
2016-04-29 12:34:09 +03:00
Dmitry Stogov 37f7c71f3e Simplified condition 2016-04-29 12:33:54 +03:00
Dmitry Stogov 926857708b Merge branch 'PHP-7.0'
* PHP-7.0:
  size_t is unsigned and can't be negative
2016-04-29 12:24:13 +03:00
Dmitry Stogov ddac2852dc size_t is unsigned and can't be negative 2016-04-29 12:23:30 +03:00
Joe Watkins 12f826d7df Merge branch 'PHP-7.0'
* PHP-7.0:
  fix size_t signed comparison
2016-04-29 10:20:27 +01:00
Joe Watkins dbae1653da fix size_t signed comparison 2016-04-29 10:19:55 +01:00
Dmitry Stogov 19c0335609 Revert "Fix bad merge into master"
This reverts commit 2c8e4ba8f1.
2016-04-29 11:15:26 +03:00
Julien Pauli 6058b78878 Added CVE 2016-04-29 09:12:27 +02:00
Xinchen Hui 2f17ef1d25 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed build
  Add NEWS entry for bug #71331 (fixed in 7.0.3)
  Add NEWS entry for bug #71331 (fixed in PHP 5.6.18)
2016-04-29 11:13:29 +08:00
Xinchen Hui a5718539b1 Fixed build 2016-04-29 11:13:15 +08:00
Lior Kaplan 9e57360c83 Add NEWS entry for bug #71331 (fixed in 7.0.3) 2016-04-28 21:12:27 +03:00
Lior Kaplan b18da2a322 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add NEWS entry for bug #71331 (fixed in PHP 5.6.18)
2016-04-28 21:12:00 +03:00
Nikita Popov 153b27dff1 Fix GC tests on dbg-zts-nocache
We may collect a different number of zvals depending on interning.
Switch tests to compare against a minimum number of collections
instead of a fixed value.
2016-04-28 20:10:28 +02:00
Stanislav Malyshev 9649ca1630 Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream() 2016-04-28 20:57:44 +03:00
Anatol Belski b74a06bfb6 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-28 19:47:05 +02:00
Lior Kaplan e70fe1c42e Add NEWS entry for bug #71331 (fixed in PHP 5.6.18) 2016-04-28 20:46:29 +03:00
Anatol Belski 67b5d647dd update NEWS 2016-04-28 19:46:15 +02:00
Bob Weinand 2c8e4ba8f1 Fix bad merge into master
This should only have been reverted in 7.0, but not for 7.1. (merge=ours??)
Added appropriate NEWS entry.
2016-04-28 19:32:14 +02:00
Nikita Popov 357ee4305e Fix leak in guards patch 2016-04-28 19:20:51 +02:00
Dmitry Stogov 033a8020c2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added test
2016-04-28 20:12:57 +03:00
Dmitry Stogov d851e8389c Added test 2016-04-28 20:12:42 +03:00
Dmitry Stogov 389f77b37c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed BC break described by bug #72119. It was introduced after 7.0.5 release by attempt to fix bug #71428.
2016-04-28 19:57:59 +03:00
Dmitry Stogov 9e45ac53ce Fixed BC break described by bug #72119.
It was introduced after 7.0.5 release by attempt to fix bug #71428.
2016-04-28 19:56:10 +03:00
Joe Watkins c07069495b Merge branch 'PHP-7.0'
* PHP-7.0:
  simplify expression
2016-04-28 15:52:45 +01:00
Joe Watkins 2787a24f86 simplify expression 2016-04-28 15:52:30 +01:00
Joe Watkins c2ef11e86f Merge branch 'PHP-7.0'
* PHP-7.0:
  simplify expression
2016-04-28 15:50:36 +01:00
Joe Watkins f580540c8d simplify expression 2016-04-28 15:50:27 +01:00
Joe Watkins 64721f143a Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-04-28 15:41:23 +01:00
Joe Watkins de019858c3 Merge branch 'PHP-7.0'
* PHP-7.0:
  variable used out of scope
2016-04-28 15:40:59 +01:00
Joe Watkins e27a43b7be variable used out of scope 2016-04-28 15:40:28 +01:00
Dmitry Stogov 747a482b9c Don't initialize EX(call)->symbol_table on each function call.
Keep it uninitialized, and check ZEND_CALL_HAS_SYMBOL_TABLE flag when necessary.
2016-04-28 15:17:24 +03:00
Bob Weinand 6d420dc782 Merge branch 'PHP-7.0' 2016-04-28 11:10:53 +02:00
Bob Weinand 74ef863f5d Fixed bug #72116 (7.0.6 array_fill optimization breaks implementation) 2016-04-28 11:02:47 +02:00
Dmitry Stogov 6499162ff0 - get rid of EG(scope). zend_get_executed_scope() should be used instead.
- ichanged zval_update_constant_ex(). Use IS_TYPE_IMMUTABLE flag on shared constants and AST, instead of "inline_change" parameter.
2016-04-28 04:13:34 +03:00
Ferenc Kovacs 8339222106 Merge branch 'PHP-7.0'
* PHP-7.0:
  small whitespace fix
2016-04-28 02:37:37 +02:00
Ferenc Kovacs 595d19bcfa Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  small whitespace fix
2016-04-28 02:37:01 +02:00
Ferenc Kovacs 227e5d1153 small whitespace fix 2016-04-28 02:32:45 +02:00
Anatol Belski 9af7ad0778 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-27 18:59:43 +02:00
Anatol Belski a877c7ae29 update NEWS 2016-04-27 18:58:28 +02:00
Nikita Popov d94b9545d6 Support known static/method calls in call graph
For this purpose extract the function lookup call into a helper
zend_optimizer_get_called_func().
2016-04-27 17:10:45 +02:00
Nikita Popov 4f54c15cb1 Ct bind private/final $this method call args
The test covers two edge-cases wrt opcache support.
2016-04-27 17:10:44 +02:00
Anatol Belski 480c5ed2be Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-04-27 14:57:14 +02:00
Anatol Belski 759271ff34 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-04-27 14:56:35 +02:00
Anatol Belski 05df0951b2 update NEWS 2016-04-27 14:56:08 +02:00
Anatol Belski 0c529b3899 update NEWS 2016-04-27 14:50:46 +02:00
Xinchen Hui 91ca55f9f4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Use zend_string_safe_alloc
2016-04-27 20:34:29 +08:00
Xinchen Hui a05320c419 Use zend_string_safe_alloc 2016-04-27 20:29:11 +08:00
Anatol Belski 2613011b2e Merge branch 'PHP-7.0'
* PHP-7.0:
  fix/improve tests
2016-04-27 13:20:08 +02:00
Anatol Belski 25ef19f927 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix/improve tests
2016-04-27 13:19:29 +02:00
Anatol Belski a21a997478 fix/improve tests 2016-04-27 13:16:57 +02:00
Dmitry Stogov f0a2e8eb13 Removed "zend_fcall_info.function_table". It was assigned in many places, but is never used. 2016-04-27 13:46:38 +03:00
Anatol Belski 1a154c7db5 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix merge
  Fix memory leak
  Fix bug #72099: xml_parse_into_struct segmentation fault
  5.5.36 now
  Fix bug #72094 - Out of bounds heap read access in exif header processing
  Fix bug #72093: bcpowmod accepts negative scale and corrupts _one_ definition
  Fix bug #72061 - Out-of-bounds reads in zif_grapheme_stripos with negative offset
  Fix for bug #71912 (libgd: signedness vulnerability)
  Typo in NEWS
2016-04-27 12:30:34 +02:00
Anatol Belski 4bc97db0b8 fix merge 2016-04-27 12:24:28 +02:00
Julien Pauli 008f983ba6 Updated NEWS 2016-04-27 11:55:05 +02:00
Anatol Belski 33d41da347 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix memory leak
  Fix bug #72099: xml_parse_into_struct segmentation fault
  5.5.36 now
  Fix bug #72094 - Out of bounds heap read access in exif header processing
  Fix bug #72093: bcpowmod accepts negative scale and corrupts _one_ definition
  Fix bug #72061 - Out-of-bounds reads in zif_grapheme_stripos with negative offset
  Fix for bug #71912 (libgd: signedness vulnerability)
  Typo in NEWS
2016-04-27 11:45:29 +02:00
Stanislav Malyshev e315a162da Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix memory leak
  Fix bug #72099: xml_parse_into_struct segmentation fault
  5.5.36 now
  Fix bug #72094 - Out of bounds heap read access in exif header processing
  Fix bug #72093: bcpowmod accepts negative scale and corrupts _one_ definition
  Fix bug #72061 - Out-of-bounds reads in zif_grapheme_stripos with negative offset
  Fix for bug #71912 (libgd: signedness vulnerability)
  Typo in NEWS

Conflicts:
	configure.in
	main/php_version.h
2016-04-26 23:48:41 -07:00
Stanislav Malyshev e35e5b2187 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix build
2016-04-26 23:04:40 -07:00
Stanislav Malyshev a32e143d4e fix build 2016-04-26 23:04:29 -07:00
Stanislav Malyshev 3bba9c7fba Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71923 - integer overflow in ZipArchive::getFrom*
2016-04-26 22:59:25 -07:00
Stanislav Malyshev ccc12efa32 Fix bug #71923 - integer overflow in ZipArchive::getFrom* 2016-04-26 22:59:09 -07:00
Stanislav Malyshev 61c7a06e7c Fix memory leak 2016-04-26 22:54:58 -07:00
Stanislav Malyshev dccda88f27 Fix bug #72099: xml_parse_into_struct segmentation fault 2016-04-26 22:46:28 -07:00
Xinchen Hui ea95621f71 Merge branch 'PHP-7.0'
* PHP-7.0:
  Use zend_string_safe_alloc
2016-04-27 12:51:51 +08:00
Xinchen Hui c89b7a4860 Use zend_string_safe_alloc 2016-04-27 12:45:02 +08:00
Dmitry Stogov e88c71d356 Optimize property guards for the most usual case with only one acive guard. 2016-04-27 00:24:20 +03:00
Julien Pauli f856734c67 5.5.36 now 2016-04-26 22:34:00 +02:00
Dmitry Stogov 4da3eb8f13 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test on 32-bit platforms (split into 32-bit and 64-bit versions)
2016-04-26 13:45:02 +03:00
Dmitry Stogov 4ce8a15eae Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test on 32-bit platforms (split into 32-bit and 64-bit versions)
2016-04-26 13:44:52 +03:00
Dmitry Stogov 9f389cccfd Fixed test on 32-bit platforms (split into 32-bit and 64-bit versions) 2016-04-26 13:43:18 +03:00
Dmitry Stogov 8eeedb6e48 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72100 (implode() inserts garbage into resulting string when joins very big integer). (Mikhail Galanin)
2016-04-26 13:06:16 +03:00
Dmitry Stogov 8f0ceb97cf Fixed bug #72100 (implode() inserts garbage into resulting string when joins very big integer). (Mikhail Galanin) 2016-04-26 13:04:06 +03:00
Dmitry Stogov 40b2048f72 Skip test on ZTS build 2016-04-25 14:48:36 +03:00
Dmitry Stogov 11e06e91ec Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72101 (crash on complex code)
2016-04-25 14:15:06 +03:00
Dmitry Stogov 92233dd736 Fixed bug #72101 (crash on complex code) 2016-04-25 14:11:46 +03:00
Dmitry Stogov 5b92b65591 Fixed race conditions in test 2016-04-25 13:01:14 +03:00
Stanislav Malyshev 082aecfc3a Fix bug #72094 - Out of bounds heap read access in exif header processing 2016-04-24 19:33:52 -07:00
Stanislav Malyshev d650063a04 Fix bug #72093: bcpowmod accepts negative scale and corrupts _one_ definition
We can not modify result since it can be copy of _zero_ or _one_, etc. and
"copy" in bcmath is just bumping the refcount.
2016-04-24 18:33:32 -07:00
Stanislav Malyshev fd9689745c Fix bug #72061 - Out-of-bounds reads in zif_grapheme_stripos with negative offset 2016-04-24 13:15:17 -07:00
Nikita Popov 434e0fb3a5 Take pi defs into account when propagating defs
Previously pi placement happened after initial phi placement.
Afterwards a second phi placement pass was performed, however it
incorrectly only placed phis on the dominance frontier, rather
than the iterated dominance frontier.

This is fixed by moving pi placement before the propagation of
defs on the iterated DFs, and adding a def for each added pi.

While this ensures that we generate correct conservative SSA, there
is still one remaining case in which we may generate non-minimal
SSA form. Consider:

   |1|
    |pi
    v
   |2|<--\
    |    |
    \----/

The pi is semanically located along the edge 1->2, however we place
it (and its def point) in 2, thus leading to the generation of an
additional (trivial) phi in 2.

Conflicts:
	ext/opcache/Optimizer/zend_ssa.c
2016-04-24 21:46:20 +02:00
Nikita Popov 721be3e0c1 Make pi placement independent of phi placement
This interdependence is problematic because we can't propagate pi
def points in the initial dominance frontier propagation. The used
rule for multiple-predecessor blocks may also miss cases where
placing the pi would have been useful.

The new heuristic for pi placement checks that a) the variable is
live-in and b) for the "from" block that generated the pi, the
other successor does not dominate all other predecessors of the
"to" block.

The purpose of case b) may be illustrated with an example:

    if (is_int($i)) {
        // place pi here
    }
    // but don't place pi here

The reason we do not want to place the second pi is that we generally
place pis in positive+negative pairs, and in this case the pair
would merge in a phi and cancel out, so we get no useful information
out of it.
2016-04-24 21:45:22 +02:00
Nikita Popov 65faf0a5a2 Drop some unnecessary checks 2016-04-24 17:15:46 +02:00
Nikita Popov cafe78d12a Introduce ZEND_BITSET_FOREACH macros 2016-04-24 17:05:13 +02:00
Pierrick Charron 62240f2653 Merge branch 'PHP-7.0' 2016-04-23 22:55:46 -04:00
Pierrick Charron a2d78d1a5f Fixed bug #68658 (Define CURLE_SSL_CACERT_BADFILE) 2016-04-23 22:55:00 -04:00
Pierrick Charron 083f74659f Merge branch 'PHP-7.0' 2016-04-23 18:38:51 -04:00
Pierrick Charron 043ce195c6 Fix cURL test to use local server instead of google 2016-04-23 18:37:55 -04:00
Anatol Belski 6e06ab1464 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72035 php-cgi.exe fails to run scripts relative to drive root
2016-04-23 19:22:22 +02:00
Anatol Belski e0edb25cf2 Fixed bug #72035 php-cgi.exe fails to run scripts relative to drive root 2016-04-23 18:55:52 +02:00
Xinchen Hui fa5f28a0a1 Merge branch 'PHP-7.0' 2016-04-22 21:41:52 -07:00
Xinchen Hui 589d0e0f18 Fixed bug #72069 (Behavior \JsonSerializable different from json_encode) 2016-04-22 21:41:44 -07:00
Xinchen Hui 67947d0fda Merge branch 'PHP-7.0' 2016-04-22 21:22:01 -07:00
Xinchen Hui 9eb7c8cd3b Fixed bug #72075 (Referencing socket resources breaks stream_select) 2016-04-22 21:21:49 -07:00
Nikita Popov ded69ee6e6 Make zval_ptr_dtor / _zval_dtor_func more robust
In particular, allow arrays with refcount>1, like we already allow
for all other types. _zval_dtor_func is now the same as
_zval_dtor_func_for_ptr with an extra refcount decrement check at
the start. At this point we might as well drop it...
2016-04-22 17:48:35 +02:00
Nikita Popov 304e5ae3d6 Adjust DFG allocation size
Now we need one set less...
2016-04-21 23:49:37 +02:00
Nikita Popov 55caaac73f Make MAY_BE_ERROR handling more accurate
This ended up causing weird things like MAY_BE_ERROR CVs.

Also make sure that ASSIGN result isn't MAY_BE_REF.
2016-04-21 23:49:20 +02:00
Nikita Popov 3dc8f80b61 Merge branch 'PHP-7.0' 2016-04-21 23:42:20 +02:00
Nikita Popov 988bdd0908 Fix escape sequences in pgsql.c 2016-04-21 23:41:59 +02:00
Nikita Popov 89fbce5c5f Mark zend_timeout as noreturn
Otherwise we get a compiler warning...
2016-04-21 23:35:51 +02:00
Nikita Popov a5944f8dd5 Merge def and gen sets
For live-variable analysis it does not matter if def includes
variables that are previously use in the same block, the data flow
equations still have the same result. As such there is no need to
compute separate gen & def sets.

I'm keeping the name "def", because use of "gen" in this context is
pretty confusing (gen is usually the use set, not the def set).
2016-04-21 23:32:01 +02:00
Bob Weinand 261eb5cc89 Merge branch 'PHP-7.0' 2016-04-21 21:51:50 +02:00
Bob Weinand 69efeb1223 Fix constant expr coaleasce with protected mode opcache 2016-04-21 21:51:00 +02:00
Dmitry Stogov 55f0186335 Added news entry 2016-04-21 22:37:13 +03:00
Eriko Torralba e26dabd8ee Update run-tests.php
code style; lack of whitespace
2016-04-21 17:38:36 +08:00
Dmitry Stogov c026ca6cdc Merge branch 'master' into safe_timeout
* master:
  Fixed bug #72059 - Reference the bug id directly in NEWS
  Fix magic constants (__LINE__) with ?? for constant scalar exprs
  Add NEWS entry for ?? in constant scalar expressions
  allow null coalescing (??) on constant expressions
  Fix intl tests for ICU < 52
  Fix ZTS builds by adding a missing TSRMLS_FETCH().
  Fix bug #71737
  Update NEWS
  Fix RECV opcode to handle all kinds of exceptions
  Fix RECV opcode to handle all kinds of exceptions
2016-04-21 10:15:57 +03:00
Bob Weinand ecf6392243 Merge remote-tracking branch 'origin/PHP-7.0' 2016-04-21 02:50:14 +02:00
Bob Weinand 5053fc078d Fixed bug #72059 - Reference the bug id directly in NEWS 2016-04-21 02:48:52 +02:00
Bob Weinand a287c3f776 Fix magic constants (__LINE__) with ?? for constant scalar exprs
Also fix general memory leak when root ast gets replaced in compile time evaluation
2016-04-21 02:45:09 +02:00
Bob Weinand 36202ef056 Merge remote-tracking branch 'origin/PHP-7.0' 2016-04-21 01:26:48 +02:00
Bob Weinand 672a99597c Add NEWS entry for ?? in constant scalar expressions 2016-04-21 01:24:56 +02:00
Márcio Almada 9f3eab44df allow null coalescing (??) on constant expressions 2016-04-21 01:22:28 +02:00
Nikita Popov dc3ab58c14 Fix intl tests for ICU < 52 2016-04-20 19:43:15 +02:00
Nikita Popov 0beb6d17e4 Merge branch 'PHP-7.0' 2016-04-20 19:00:13 +02:00
Nikita Popov 85867268fd Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_compile.c
2016-04-20 19:00:02 +02:00
Adam Harvey c4f69b6dfd Fix ZTS builds by adding a missing TSRMLS_FETCH(). 2016-04-20 18:58:29 +02:00
Nikita Popov c9d8dfed60 Merge branch 'PHP-7.0' 2016-04-20 18:43:43 +02:00
Nikita Popov 77bb96d7c9 Fix bug #71737
Also improve the error message for $this used in parameters.
2016-04-20 18:38:40 +02:00
Xinchen Hui 02e6808144 Merge branch 'PHP-7.0' 2016-04-20 08:43:54 -07:00
Xinchen Hui ede06b7e20 Update NEWS 2016-04-20 08:42:06 -07:00
Nikita Nefedov 19759a5602 Fix RECV opcode to handle all kinds of exceptions
fix RECV opcode to handle exceptions thrown from user-defined error handler
as a result Notice error from failed type coercion
2016-04-20 08:40:44 -07:00
Xinchen Hui f768a2ea3b Merge branch 'fix-recv-opcode-handle-exception' of https://github.com/nikita2206/php-src 2016-04-20 08:40:11 -07:00
Dmitry Stogov 650c1c0a7d Safe execution timeout handling. 2016-04-20 13:52:21 +03:00
Nikita Nefedov ed9a1a9d68 Fix RECV opcode to handle all kinds of exceptions
fix RECV opcode to handle exceptions thrown from user-defined error handler
as a result Notice error from failed type coercion
2016-04-20 11:56:07 +03:00
Dmitry Stogov f484801483 Reduced amount of code generated for interrupt handling.
Improved ZEND_VM_INTERRUPT_CHECK() placement (always perform checks after opcode handler completion, when instruction pointer value is alredy changed to the next opcode).
2016-04-20 11:06:52 +03:00
Stanislav Malyshev 538d452452 Merge branch 'PHP-7.0'
* PHP-7.0:
  Better fix for #71952
2016-04-19 23:45:33 -07:00
Stanislav Malyshev 7d93363bd9 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Better fix for #71952

Conflicts:
	ext/gd/gd.c
2016-04-19 23:45:21 -07:00
Stanislav Malyshev c02301b666 Better fix for #71952 2016-04-19 23:44:00 -07:00
Stanislav Malyshev 23a4342099 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71952: Corruption inside imageaffinematrixget
2016-04-18 23:34:44 -07:00
Stanislav Malyshev 086729bb6c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #71952: Corruption inside imageaffinematrixget

Conflicts:
	ext/gd/gd.c
2016-04-18 23:34:26 -07:00
Stanislav Malyshev f061867fd3 Fix bug #71952: Corruption inside imageaffinematrixget 2016-04-18 23:33:21 -07:00
Stanislav Malyshev b15f0ecc0f Fix for bug #71912 (libgd: signedness vulnerability) 2016-04-18 22:24:16 -07:00
Xinchen Hui e757ec4bd6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72051 (The reference in CallbackFilterIterator doesn't work as expected)
2016-04-19 11:03:57 +08:00
Xinchen Hui 5ea2b3625d Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  Prevent usage in GC after free.
  Fix SEND_USER as well
  Fix SEND_ARRAY+PREFER_REF SHM corruption
2016-04-19 10:59:35 +08:00
Xinchen Hui 7648f20de3 Fixed bug #72051 (The reference in CallbackFilterIterator doesn't work as expected) 2016-04-19 10:59:10 +08:00
Sara Golemon f017755f85 Add NEWS entry for rfc:intl.timezone.get-windows-id 2016-04-18 23:14:08 +00:00
Sara Golemon a9568d5485 Update IntlTimeZone methods for ICU 52
Adds:
  string IntlTimeZone::getWindowsID(string id)
  string IntlTimeZone::getIDForWindowsID(string winID[, string region])

And matching procedural functions
2016-04-18 23:01:25 +00:00
Dmitry Stogov 0f8d0df938 Merge branch 'PHP-7.0'
* PHP-7.0:
  Prevent usage in GC after free.
2016-04-19 01:37:45 +03:00
Dmitry Stogov e46be0cd19 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Prevent usage in GC after free.
2016-04-19 01:37:24 +03:00
Dmitry Stogov ffc697ac27 Prevent usage in GC after free. 2016-04-19 01:31:49 +03:00
Bob Weinand 5085352464 Fix generator being a cycle to itself 2016-04-18 23:55:16 +02:00
Nikita Popov ea1f30057b Fully initialize DECLARE_CLASS/FUNCTION opcodes 2016-04-18 22:46:45 +02:00
Nikita Popov d79288c6bb Merge branch 'PHP-7.0' 2016-04-18 22:46:36 +02:00
Nikita Popov 73958ca62d Fix SEND_USER as well
Missed copy&paste code here
2016-04-18 22:45:38 +02:00
Nikita Popov 5a538e1d82 Merge branch 'PHP-7.0' 2016-04-18 18:26:30 +02:00
Nikita Popov a8792158bd Fix SEND_ARRAY+PREFER_REF SHM corruption
Make the behavior consistent between namespaced and not and with
PHP 5.6.
2016-04-18 18:26:20 +02:00
Xinchen Hui b5d01ab5a1 Merge branch 'PHP-7.0'
* PHP-7.0:
  combine conditions
2016-04-18 19:14:30 +08:00
Xinchen Hui aa9f8e695c combine conditions 2016-04-18 19:13:54 +08:00
Bob Weinand 4975c39e08 Merge branch 'PHP-7.0' 2016-04-18 12:14:47 +02:00
Bob Weinand b08bde185d Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-04-18 12:13:59 +02:00
Ferenc Kovacs 1380a6c2ff Merge branch 'PHP-7.0'
* PHP-7.0:
  mark frequent intermittent fpm test with XFAIL
2016-04-18 09:05:16 +02:00
Ferenc Kovacs 8f35ee49ee Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  mark frequent intermittent fpm test with XFAIL
2016-04-18 09:04:55 +02:00
Ferenc Kovacs 3a16f511d9 mark frequent intermittent fpm test with XFAIL 2016-04-18 09:04:27 +02:00
Ferenc Kovacs 67f533982f Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare for 5.6.21RC1
2016-04-18 08:16:16 +02:00
Ferenc Kovacs 50cfe0a15c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  prepare for 5.6.21RC1
2016-04-18 08:15:47 +02:00
Ferenc Kovacs 6497d40521 prepare for 5.6.21RC1 2016-04-18 08:14:16 +02:00
Christopher Jones 230f9bf512 Merge branch 'PHP-7.0' 2016-04-18 11:16:35 +10:00
Christopher Jones 3b54d93b2f Bump version in test 2016-04-18 11:15:01 +10:00
Nikita Popov 4f726be682 Fix SSA for SEND_UNPACK 2016-04-16 22:38:52 +02:00
Nikita Popov 12f42346a8 Merge branch 'PHP-7.0' 2016-04-16 22:34:32 +02:00
Nikita Popov d1a38743a5 Fix SEND_UNPACK array separation
Separating only immutable arrays is not enough.
2016-04-16 22:33:23 +02:00
Bob Weinand 643d6277b3 Merge branch 'PHP-7.0' 2016-04-16 20:57:45 +02:00
Bob Weinand 6bb81d2c5f Fix non-/Zend tests too 2016-04-16 20:57:28 +02:00
Bob Weinand 3ed4a592aa Merge branch 'PHP-7.0' 2016-04-16 20:38:10 +02:00
Bob Weinand 15d1d4f45b Fixed bug #72038 (Function calls with values to a by-ref parameter don't always throw a notice) 2016-04-16 20:36:19 +02:00
Nikita Popov 4a568dd7c9 Drop left-over debugging statement in block pass 2016-04-16 20:23:23 +02:00
Nikita Popov 3dd2df85b3 Drop unnecessary checks in get_closure 2016-04-16 20:23:23 +02:00
Anatol Belski e015faaf8f Merge branch 'PHP-7.0'
* PHP-7.0:
  Adds new curl option CURLOPT_SSL_VERIFYSTATUS to enable OCSP verification
  Add test for bug #72028
2016-04-16 19:25:13 +02:00
Dominic Luechinger 02766d0180 Adds new curl option CURLOPT_SSL_VERIFYSTATUS to enable OCSP verification 2016-04-16 18:30:19 +02:00
Anatol Belski fd6f7b8341 Add test for bug #72028 2016-04-16 16:11:22 +02:00
Nikita Popov 8c5861e6c6 Don't copy args in Closure::__invoke() 2016-04-16 14:47:27 +02:00
Nikita Popov fea04a528b Drop dead assignment 2016-04-16 14:34:32 +02:00
Nikita Popov dd6c6b1c48 Cleanup condition in SEND_VAR_NO_REF
Was overly convoluted after the IS_VAR_RET_REF removal.
2016-04-16 14:32:48 +02:00
Nikita Popov 30c82321d7 Merge branch 'PHP-7.0' 2016-04-16 09:59:35 +02:00
Nikita Popov d8590940a1 Use symtable lookup for arrays in array_column 2016-04-16 09:59:01 +02:00
Nikita Popov 28801bf249 Respect property visibility in array_column 2016-04-16 09:59:01 +02:00
Nikita Popov c0d8dc5bd7 Fixed bug #72031 2016-04-16 09:58:57 +02:00
Xinchen Hui 513f2e775b Merge branch 'PHP-7.0' 2016-04-15 21:30:24 -07:00
Xinchen Hui 7e01c518b6 Fixed bug #72028 (pg_query_params(): NULL converts to empty string)
I don't have a pgsql server by hand, so no test script, but the fix must
be right.
2016-04-15 21:29:27 -07:00
Xinchen Hui d5914d19eb Merge branch 'PHP-7.0' 2016-04-15 21:09:05 -07:00
Xinchen Hui 05d53dee7d Fixed bug #71972 (Cyclic references causing session_start(): Failed to decode session object) 2016-04-15 21:08:51 -07:00
Lior Kaplan edb569b439 Align NEWS entry format 2016-04-15 22:17:37 +03:00
Lior Kaplan 7d61d0712b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Align NEWS entry format
2016-04-15 22:09:05 +03:00
Lior Kaplan 5142bf27b2 Align NEWS entry format 2016-04-15 22:07:47 +03:00
Nikita Popov 64f91774f2 Remove IS_VAR_RET_REF flag
Instead decide whether a function returned by reference or by value
by checking whether the return value has REFERENCE type. This means
that functions returning by reference must always return a reference
and functions returning by value must not return a reference.
2016-04-15 15:32:20 +02:00
Anatol Belski fd2cd35429 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed #71062 pg_convert() doesn't accept ISO 8601 for datatype timestamp
2016-04-15 13:42:04 +02:00
Anatol Belski c0de35273a update NEWS 2016-04-15 13:41:09 +02:00
Anatol Belski d263616525 Fixed #71062 pg_convert() doesn't accept ISO 8601 for datatype timestamp 2016-04-15 13:38:49 +02:00
Xinchen Hui a8c4d9e09d Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed failed with libedit
2016-04-15 11:58:13 +08:00
Xinchen Hui 163d26d584 Fixed failed with libedit 2016-04-15 11:57:53 +08:00
Dmitry Stogov d57505e234 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #72014 (Including a file with anonymous classes multiple times leads to fatal error)
2016-04-14 16:08:54 +03:00
Dmitry Stogov b73517c1a1 Use DO_FCALL_BY_NAME instead of DO_FCALL, if possible 2016-04-14 16:07:28 +03:00
Xinchen Hui 17c3aa9dd1 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72014 (Including a file with anonymous classes multiple times leads to fatal error)
2016-04-14 20:21:34 +08:00
Xinchen Hui 8a17b1a241 Fixed bug #72014 (Including a file with anonymous classes multiple times leads to fatal error) 2016-04-14 20:21:19 +08:00
Christopher Jones 9d76e012cf Merge branch 'PHP-7.0' 2016-04-14 15:49:52 +10:00
Christopher Jones ec358dac03 On second thoughts, keep this in sync with 5.6 for 71422 2016-04-14 15:49:15 +10:00
Christopher Jones 81f0389611 Merge branch 'PHP-7.0' 2016-04-14 15:09:25 +10:00
Christopher Jones 96ece22a05 Merge branch 'PHP-5.6' into PHP-7.0 2016-04-14 15:09:02 +10:00
Christopher Jones d1e81a59a7 Fix old comment cut-n-paste error 2016-04-14 15:08:42 +10:00
Christopher Jones 640b726b02 Merge branch 'PHP-7.0' 2016-04-14 14:09:34 +10:00
Christopher Jones 12cd25bb1a Fixed bug #71600 (oci_fetch_all segfaults when selecting more than 8 columns) (Tian Yang) 2016-04-14 14:09:16 +10:00
Christopher Jones 9d96bd8214 Merge branch 'PHP-7.0' 2016-04-14 13:55:40 +10:00
Christopher Jones cef4bc61c1 Merge fix for bug #71422. No code changed needed in PHP 7 2016-04-14 13:55:32 +10:00
Christopher Jones 8f2e6da806 Fixed bug #71422 (Fix ORA-01438: value larger than specified precision allowed for this column) 2016-04-14 13:50:01 +10:00
Christopher Jones 21c9ae26bc Merge branch 'master' of https://git.php.net/repository/php-src 2016-04-14 13:43:16 +10:00
Christopher Jones be491a6b3b Merge branch 'PHP-7.0' of https://git.php.net/repository/php-src into PHP-7.0 2016-04-14 13:43:13 +10:00
Dmitry Stogov 562d6315b1 Optimize zend_binary_assign_op_dim_helper() 2016-04-14 02:35:53 +03:00
Dmitry Stogov e95efb6312 Move rare cases of DO_FCALL into separate helpers. 2016-04-13 20:13:17 +03:00
Dmitry Stogov 85f35a8fc1 Separate unspecializeble code of INCLIDE_OR_EVAL into helper functions 2016-04-13 15:29:01 +03:00
Dmitry Stogov f48b20721c ASSIGN_ADD micro optimization 2016-04-13 02:47:17 +03:00
Dmitry Stogov a809444b64 Delay IS_UNDEF check for FETCH_DIM_W and family 2016-04-13 01:19:20 +03:00
Dmitry Stogov 0b3e2fe2b1 Delay IS_UNDEF check for FETCH_DIM_R and family 2016-04-13 00:05:19 +03:00
Dmitry Stogov 23b65bf732 Reuse zend_fetch_dimension_address_read() for FETCH_LIST 2016-04-12 22:53:01 +03:00
Dmitry Stogov 43b1618023 Added missing "goto" 2016-04-12 22:15:16 +03:00
Anatol Belski 33788f4885 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-12 19:38:01 +02:00
Anatol Belski 8e6549c354 update NEWS 2016-04-12 19:37:36 +02:00
Anatol Belski 8b8b44145b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #68849 bindValue is not using the right data type
2016-04-12 19:15:08 +02:00
Anatol Belski e49580c96e Fixed bug #68849 bindValue is not using the right data type 2016-04-12 19:12:45 +02:00
Dmitry Stogov eaf489ac2b Optimize ASSIGN_DIM (separate common unspecializeble code into helper functions). 2016-04-12 19:36:24 +03:00
Nikita Popov fea822fe1b Merge branch 'PHP-7.0' 2016-04-12 14:44:43 +02:00
Nikita Popov 4e585eb429 Fix ZEND_SEPARATE for by-val func returning ref zval 2016-04-12 14:44:29 +02:00
Nikita Popov 6a2eee520a Drop unnecessary ZEND_SEPARATE code
The following write ops will separate if necessary.
2016-04-12 14:44:29 +02:00
Joe Watkins fef494f99f Merge branch 'PHP-7.0'
* PHP-7.0:
  phpdbg: close file handles
2016-04-12 13:40:36 +01:00
Joe Watkins b04125da85 phpdbg: close file handles 2016-04-12 13:40:03 +01:00
Remi Collet fd87902ac2 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix skipif
2016-04-12 13:46:23 +02:00
Remi Collet d62ab27042 fix skipif 2016-04-12 13:46:06 +02:00
Dmitry Stogov ef0099918f Separate unspecializeble code of INIT_DYNAMIC_CALL into separate helper functions. 2016-04-12 14:41:06 +03:00
Xinchen Hui 4fafd7309c Merge branch 'PHP-7.0'
* PHP-7.0:
  This only make sense on *nix
2016-04-12 15:31:35 +08:00
Xinchen Hui 9458f54969 This only make sense on *nix 2016-04-12 15:31:21 +08:00
Anatol Belski 79a2e0a201 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare next
2016-04-12 06:50:48 +02:00
Anatol Belski 57ffb2bd80 prepare next 2016-04-12 06:49:30 +02:00
Anatol Belski fa51f880e1 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-11 15:38:15 +02:00
Anatol Belski a1e9de227d update NEWS 2016-04-11 15:37:45 +02:00
Anatol Belski f644d6cc3d Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70484 selectordinal doesn't work with named parameters
  fix version macro to check
2016-04-11 15:02:27 +02:00
Anatol Belski 28b6f66a77 Fixed bug #70484 selectordinal doesn't work with named parameters 2016-04-11 15:01:22 +02:00
Anatol Belski f62943edc8 fix version macro to check 2016-04-11 15:01:22 +02:00
Joe Watkins 21e82289ed Merge branch 'master' of https://github.com/php/php-src 2016-04-11 13:25:03 +01:00
Joe Watkins 04bd7ab8d3 Merge branch 'PHP-7.0'
* PHP-7.0:
  handle dummy frame
2016-04-11 13:24:54 +01:00
Joe Watkins c0b821d2e9 handle dummy frame 2016-04-11 13:24:37 +01:00
Dmitry Stogov 8453b78113 Improve zend_leave_helper() by checking all rare conditions at once. 2016-04-11 13:17:24 +03:00
Joe Watkins 707941413d Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-04-11 08:04:14 +01:00
Joe Watkins 00d8d9f227 Merge branch 'master' of https://github.com/php/php-src 2016-04-11 08:03:56 +01:00
Joe Watkins 2a5385af32 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix calendar segfault
2016-04-11 08:03:39 +01:00
Joe Watkins 028485ae69 fix calendar segfault 2016-04-11 08:03:15 +01:00
Anatol Belski d966ba0dd2 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-10 19:12:07 +02:00
Anatol Belski 190db69109 update NEWS 2016-04-10 19:10:45 +02:00
Anatol Belski 672d0eeecf Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71998 Function pg_insert does not insert when column type = inet
2016-04-10 18:49:38 +02:00
Anatol Belski b4ab0effc7 Fixed bug #71998 Function pg_insert does not insert when column type = inet 2016-04-10 18:48:35 +02:00
Jakub Zelenka 93b67dd511 Remove json parser depth methods and tidy it up 2016-04-10 16:10:26 +01:00
Jakub Zelenka 72ccfda25a Add method hooking support to json parser
This commit is just a slight modification (renaming and some small
changes) of the patch that has been provided by Andrey Hristov.
It adds support for hooking of the json parser operations and
allows re-using of modified JSON parsing outside of json ext.
2016-04-10 15:35:41 +01:00
Anatol Belski 4e12897826 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #65480 No declaration for msgformat_fix_quotes() in msgformat.c or msgformat_attr.c
2016-04-09 19:12:16 +02:00
Anatol Belski 58ea2ad489 Fixed bug #65480 No declaration for msgformat_fix_quotes() in msgformat.c or msgformat_attr.c 2016-04-09 19:11:28 +02:00
Xinchen Hui fcbd95930c Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2016-04-09 10:02:20 -07:00
Xinchen Hui 956b3836fa Merge branch 'master' of git.php.net:/php-src 2016-04-09 10:02:10 -07:00
Xinchen Hui 50f7ee0fee Merge branch 'PHP-7.0' 2016-04-09 10:01:33 -07:00
Xinchen Hui 5db4d9a71c Fixed bug #71995 (Returning the same var twice from __sleep() produces broken serialized data) 2016-04-09 10:01:04 -07:00
Anatol Belski a6126dfc8d Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-09 18:53:35 +02:00
Anatol Belski e33c26659e update NEWS 2016-04-09 18:52:59 +02:00
Anatol Belski 5540525969 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #66289 Locale::lookup incorrectly returns en or en_US if locale is empty
2016-04-09 18:27:57 +02:00
Anatol Belski ef17343b3c Fixed bug #66289 Locale::lookup incorrectly returns en or en_US if locale is empty 2016-04-09 18:24:42 +02:00
Lior Kaplan bffd78fa77 Merge branch 'PHP-7.0'
* PHP-7.0:
  Enable configure without opcache-file and huge-code-pages
2016-04-09 16:35:50 +03:00
Lior Kaplan c6c44c3629 Enable configure without opcache-file and huge-code-pages
This doesn't chagne the default (yes for both features), but respects
--disable-opcache-file and --disable-huge-code-pages configure flags if given.
2016-04-09 15:57:57 +03:00
Xinchen Hui 3e7b429663 We should always serialize the op->handler 2016-04-09 01:43:28 -07:00
Lior Kaplan 2875ac9c00 Merge branch 'PHP-7.0'
* PHP-7.0:
  opcache config.m4: Use = for comparison
2016-04-09 01:38:37 +03:00
Lior Kaplan 403c3f95fe Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  opcache config.m4: Use = for comparison
2016-04-09 01:35:30 +03:00
Lior Kaplan c1f597d9a1 opcache config.m4: Use = for comparison 2016-04-08 22:38:07 +03:00
Dmitry Stogov 513b9929a1 removed useless ckeck (ZEND_HANDLE_EXCEPTION never uses RETURN_VALUE) 2016-04-08 16:12:32 +03:00
Anatol Belski bc1d8eca6c Merge branch 'PHP-7.0'
* PHP-7.0:
  fix indent
2016-04-08 14:19:30 +02:00
Anatol Belski 73815573e0 fix indent 2016-04-08 14:17:57 +02:00
Anatol Belski ad5cef6b3b Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-08 13:52:08 +02:00
Anatol Belski f691fe343c update NEWS 2016-04-08 13:51:29 +02:00
Anatol Belski 91da256bb1 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix compat for ICU < 50
2016-04-08 12:49:51 +02:00
Anatol Belski 45d9efaac3 fix compat for ICU < 50 2016-04-08 12:48:26 +02:00
Anatol Belski de2da3bf02 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #68893 Stackoverflow in datefmt_create
  Added missing newline.
  Changed to check for error with the new function that returns null if error is set
  Added function to check error and return null if error is set.
  Added tests for bug 70451 and 70452
2016-04-08 12:32:27 +02:00
Anatol Belski 1541a55a4f Fixed bug #68893 Stackoverflow in datefmt_create 2016-04-08 12:31:19 +02:00
Daniel Persson f7600e17cb Added missing newline. 2016-04-08 12:31:19 +02:00
Daniel Persson 0030fa322f Changed to check for error with the new function that returns null if error is set 2016-04-08 12:31:19 +02:00
Daniel Persson e3b160bf86 Added function to check error and return null if error is set. 2016-04-08 12:31:19 +02:00
Daniel Persson ff2af89519 Added tests for bug 70451 and 70452 2016-04-08 12:31:19 +02:00
Xinchen Hui f63ba809a1 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables)
2016-04-08 17:58:31 +08:00
Xinchen Hui c45f7b97a3 Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables) 2016-04-08 17:57:51 +08:00
Anatol Belski acaa31715a Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-08 11:03:09 +02:00
Anatol Belski 94e889299b update NEWS 2016-04-08 11:01:42 +02:00
Anatol Belski 00b5b3a540 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70455 Missing constant: IntlChar::NO_NUMERIC_VALUE
2016-04-08 10:03:29 +02:00
Anatol Belski 93f8eaf3b8 Fixed bug #70455 Missing constant: IntlChar::NO_NUMERIC_VALUE 2016-04-08 09:55:57 +02:00
Anatol Belski 8955e84e84 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-08 09:29:22 +02:00
Anatol Belski f042c5f726 update NEWS 2016-04-08 09:28:41 +02:00
Anatol Belski 91a4c22598 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71516 IntlDateFormatter losts locale if pattern is set via constructor
2016-04-08 09:00:58 +02:00
Anatol Belski 49d31fa01d Fixed bug #71516 IntlDateFormatter losts locale if pattern is set via constructor 2016-04-08 08:59:43 +02:00
Nikita Popov 3ad0e1d6ca Fix static method arg binding in traits 2016-04-08 01:48:21 +02:00
Nikita Popov 75af8150f5 Forbid binding methods to incompatible $this
This prohibits binding closures returned by
ReflectionMethod::getClosure() to a $this, which is not an
instance of the method scope. This restriction was already in
place for internal methods, now it is extended to user methods.

ML discussion: http://markmail.org/message/zepnhdyr3kij6di6
2016-04-08 00:38:44 +02:00
Dmitry Stogov aed4249653 Fixed handling of return statement without a value. 2016-04-07 18:59:04 +03:00
Dmitry Stogov 8921449785 Added missing "break" 2016-04-07 18:27:49 +03:00
Dmitry Stogov 3444c1ae24 Use return type hints for type inference and eliminate useless VERIFY_RETRUN_TYPE opcodes. 2016-04-07 17:34:53 +03:00
Xinchen Hui 708d030b69 Merge branch 'PHP-7.0'
* PHP-7.0:
  Improved fix for #71940
2016-04-07 19:30:00 +08:00
Xinchen Hui d242a8fb68 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  Fixed bug #71980
2016-04-07 19:29:49 +08:00
Xinchen Hui c85907682a Improved fix for #71940 2016-04-07 19:28:54 +08:00
Nikita Popov 2eff141444 Merge branch 'PHP-7.0' 2016-04-07 12:30:06 +02:00
Nikita Popov aad4ecebf8 Fixed bug #71980 2016-04-07 12:29:59 +02:00
Yasuo Ohgaki dc9ae10bc4 Remove debug code 2016-04-07 17:13:05 +09:00
Xinchen Hui f48144a7b9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71940 (Unserialize crushes on restore object reference)
2016-04-07 13:58:11 +08:00
Xinchen Hui 079239a7ce Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  Remove __halt_compiler from semi-reserved tokens
  Fixed Bug #71974 Trans sid will always be send, even if cookies are available
  Optimized array_fill(). This is a perfect function for fast creation of packed arrays.
  Fixed build
  fix merge mistake
  fix tests
  PostgreSQL's PDOStatement::getColumnMeta() fills in table's name.
  fix indent
  Fixed bug #71978 (Existence of return type hint affects other compatibility rules)
  fix test
  fix bug #71667 (emulate how mssql extension names "computed" columns)
  update NEWS
  add 32-bit specific variont for #62498
  skip test on 32-bit
  make opcache lockfile path configurable
  return zvals instead of strings, cast or not based on stringify attribute
  fix test
  add skip slow test
2016-04-07 13:58:00 +08:00
Xinchen Hui 7e042224a2 Fixed bug #71940 (Unserialize crushes on restore object reference) 2016-04-07 13:56:55 +08:00
Nikita Popov 5c7903f477 Merge branch 'PHP-7.0' 2016-04-07 05:52:51 +02:00
Nikita Popov 5ab950cb2c Remove __halt_compiler from semi-reserved tokens
token_get_all() is not capable of dealing with this one correctly.
2016-04-07 05:52:32 +02:00
Yasuo Ohgaki 60b144134a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed Bug #71974 Trans sid will always be send, even if cookies are available
2016-04-07 10:26:32 +09:00
Yasuo Ohgaki 6467a4eb36 Fixed Bug #71974 Trans sid will always be send, even if cookies are available 2016-04-07 10:26:05 +09:00
Dmitry Stogov 58dd3b3a6f Merge branch 'PHP-7.0'
* PHP-7.0:
  Optimized array_fill(). This is a perfect function for fast creation of packed arrays.
2016-04-07 01:02:01 +03:00
Dmitry Stogov b31240f995 Optimized array_fill(). This is a perfect function for fast creation of packed arrays. 2016-04-07 01:01:11 +03:00
Dmitry Stogov 3c305c14f6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed build
2016-04-07 01:00:34 +03:00
Dmitry Stogov 088f55ae74 Fixed build 2016-04-07 00:59:21 +03:00
Kalle Sommer Nielsen fdff901cad Fix the build 2016-04-06 22:25:05 +02:00
Anatol Belski 31abb8ab50 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix merge mistake
2016-04-06 18:06:40 +02:00
Anatol Belski 6489edb958 fix merge mistake 2016-04-06 18:05:39 +02:00
Anatol Belski fc90ddf1f3 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix tests
  PostgreSQL's PDOStatement::getColumnMeta() fills in table's name.
  fix indent
2016-04-06 17:45:31 +02:00
Anatol Belski 26f9aa7211 fix tests 2016-04-06 17:43:49 +02:00
Petr Sýkora aeb9c81c09 PostgreSQL's PDOStatement::getColumnMeta() fills in table's name. 2016-04-06 17:43:49 +02:00
Anatol Belski 052c1d337c fix indent 2016-04-06 17:43:49 +02:00
Dmitry Stogov 936f161402 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71978 (Existence of return type hint affects other compatibility rules)
2016-04-06 17:20:43 +03:00
Dmitry Stogov e9d65160e8 Fixed bug #71978 (Existence of return type hint affects other compatibility rules) 2016-04-06 17:17:10 +03:00
Anatol Belski 6170b2fbae Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test
  fix bug #71667 (emulate how mssql extension names "computed" columns)
2016-04-06 14:45:35 +02:00
Anatol Belski ea64d290fe fix test 2016-04-06 14:44:23 +02:00
Adam Baratz ed3edc2f05 fix bug #71667 (emulate how mssql extension names "computed" columns) 2016-04-06 14:41:55 +02:00
Anatol Belski 289de331d6 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-06 14:14:30 +02:00
Anatol Belski c256a8c25e update NEWS 2016-04-06 14:13:43 +02:00
Anatol Belski 9056a36c9b Merge branch 'PHP-7.0'
* PHP-7.0:
  add 32-bit specific variont for #62498
  skip test on 32-bit
2016-04-06 14:07:03 +02:00
Anatol Belski 4f7d89a335 add 32-bit specific variont for #62498 2016-04-06 14:05:25 +02:00
Anatol Belski 02fc9cb31f skip test on 32-bit
The Postgres INT8 datatype is handled as string on 32-bit
2016-04-06 13:55:32 +02:00
Anatol Belski 2ead9be91b Merge branch 'PHP-7.0'
* PHP-7.0:
  make opcache lockfile path configurable
2016-04-06 13:50:24 +02:00
Fatih ACAR d54eafb349 make opcache lockfile path configurable
Signed-off-by: William Dauchy <william@gandi.net>
Signed-off-by: Baptiste Daroussin <baptiste.daroussin@gandi.net>
Signed-off-by: Fatih Acar <fatih.acar@gandi.net>
2016-04-06 13:29:52 +02:00
Anatol Belski 2267812cd2 Merge branch 'PHP-7.0'
* PHP-7.0:
  return zvals instead of strings, cast or not based on stringify attribute
2016-04-06 12:23:14 +02:00
Adam Baratz 1e1500a2bc return zvals instead of strings, cast or not based on stringify attribute 2016-04-06 12:18:53 +02:00
Anatol Belski fe757f09a4 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test
  add skip slow test
2016-04-06 08:24:09 +02:00
Anatol Belski 354a682c38 fix test 2016-04-06 08:21:10 +02:00
Anatol Belski fd9137c00c add skip slow test 2016-04-06 08:18:32 +02:00
Xinchen Hui 306a842ef1 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed order
  Fixed bug #71969 (str_replace returns an incorrect resulting array after a foreach by reference)
  update NEWS
  Add driver-specific attributes for controlling calls to dbsetlogintime() and dbsettime()
2016-04-06 10:21:21 +08:00
Xinchen Hui 4e1d435bd1 Fixed order 2016-04-06 10:21:05 +08:00
Xinchen Hui e95782ed5e Fixed bug #71969 (str_replace returns an incorrect resulting array after a foreach by reference) 2016-04-06 10:19:24 +08:00
Dmitry Stogov a186ac0e47 IS_CONST operands don't have to be separated. Use reference-counting instead of duplication.
- with opcache all IS_CONST operands are not refcounted (scalars, interned strings or immutable arrays)
- without opcache IS_CONST operands are not shared between processes or threads and may use common reference counters
2016-04-05 20:09:14 +03:00
Adam Baratz a5e21665ee Add driver-specific attributes for controlling calls to dbsetlogintime() and dbsettime() 2016-04-05 18:24:15 +02:00
Anatol Belski 6ae3915eee update NEWS 2016-04-05 18:21:25 +02:00
Adam Baratz 8a92fed532 Add driver-specific attributes for controlling calls to dbsetlogintime() and dbsettime() 2016-04-05 18:18:37 +02:00
Dmitry Stogov 32d6ac4ddf RETURN micro optimization 2016-04-05 16:45:15 +03:00
Anatol Belski ea4d27f47c Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  fix and extend test
  Don't roundtrip to the database to get the column type if you already know it
2016-04-05 15:13:17 +02:00
Anatol Belski df8f927446 update NEWS 2016-04-05 15:12:12 +02:00
Anatol Belski c2cb4664bc fix and extend test 2016-04-05 15:06:17 +02:00
Joe Bylund e10257ba80 Don't roundtrip to the database to get the column type if you already know it
add_assoc_string now takes just three args

nikic's fix to move pqclear outside the if, would be a possible memory leak inside the if

(joe) check behavior of getColumnMeta
2016-04-05 15:03:04 +02:00
Anatol Belski b132aa49d1 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove description for apache 1.3
2016-04-05 12:16:02 +02:00
DQNEO ea0598962f remove description for apache 1.3 2016-04-05 12:13:38 +02:00
Anatol Belski a1c4b6841a Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-04-05 11:56:20 +02:00
Anatol Belski dedc9a4200 update NEWS 2016-04-05 11:55:36 +02:00
Anatol Belski bbaa868c29 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-04-05 11:55:03 +02:00
Anatol Belski 5ed05bc686 update NEWS 2016-04-05 11:52:53 +02:00
Anatol Belski 9f5970e60a Merge branch 'PHP-7.0'
* PHP-7.0:
  Use STR_EMPTY_ALLOC macro instead
  Fix DateInterval::format segfault
2016-04-05 11:24:45 +02:00
Anatol Belski d10a8e4804 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Use STR_EMPTY_ALLOC macro instead
  Fix DateInterval::format segfault
2016-04-05 11:24:23 +02:00
Thomas Punt 1aea777349 Use STR_EMPTY_ALLOC macro instead 2016-04-05 11:18:14 +02:00
Thomas Punt 40f14bad33 Fix DateInterval::format segfault 2016-04-05 11:18:14 +02:00
Matteo Beccati b68e89ee7e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71447 (Quotes inside comments not properly handled)
  Fixed a few PDO tests to conform to PDO Common standards
  news entry #69537
  Fix #69537: __debugInfo with empty string for key gives error
2016-04-05 00:07:28 +02:00
Matteo Beccati 4090e709aa Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71447 (Quotes inside comments not properly handled)
  Fixed a few PDO tests to conform to PDO Common standards
  news entry #69537
  Fix #69537: __debugInfo with empty string for key gives error

Conflicts:
	Zend/zend_compile.c
2016-04-05 00:07:02 +02:00
Matteo Beccati 30925cd498 Fixed bug #71447 (Quotes inside comments not properly handled) 2016-04-04 23:50:28 +02:00
Matteo Beccati 9a87108eca Fixed a few PDO tests to conform to PDO Common standards 2016-04-04 23:43:17 +02:00
Dmitry Stogov d0c6c179cd Initialize op_array->run_time_cache on slow path of INIT_FCALL opcode and omit corresponding check on fast path of DO_FCALL. 2016-04-05 00:01:00 +03:00
Anatol Belski 326fba2af3 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-04-04 17:42:52 +02:00
Anatol Belski d2948d4b71 update NEWS 2016-04-04 17:42:06 +02:00
Anatol Belski b6e42834ed Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix #71943: dblib_handle_quoter needs to allocate an extra byte
2016-04-04 17:38:04 +02:00
Adam Baratz 9fcfc18ca9 Fix #71943: dblib_handle_quoter needs to allocate an extra byte 2016-04-04 17:33:49 +02:00
Joe Watkins 2e9c78c787 Merge branch 'PHP-7.0'
* PHP-7.0:
  news entry #71428
2016-04-04 10:30:35 +01:00
Joe Watkins 9a65c69c62 news entry #71428 2016-04-04 10:30:23 +01:00
Joe Watkins d7eff51c88 Merge branch 'PHP-7.0'
* PHP-7.0:
  news entry #69537
2016-04-04 10:23:50 +01:00
Joe Watkins 0797cfdda9 news entry #69537 2016-04-04 10:23:19 +01:00
Joe Watkins cd038cc5eb news entry #69537 2016-04-04 10:22:13 +01:00
Joe Watkins e1a1e825d5 Merge branch 'PHP-7.0'
* PHP-7.0:
  news entry 71609
2016-04-04 10:20:41 +01:00
Joe Watkins 922a4048e4 news entry 71609 2016-04-04 10:20:26 +01:00
Joe Watkins edc0f925ac Merge branch 'PHP-7.0'
* PHP-7.0:
  magical notation is magical
2016-04-04 09:33:30 +01:00
Joe Watkins 4d5bb45b3b magical notation is magical 2016-04-04 09:33:20 +01:00
Joe Watkins 380b1a80d2 Merge branch 'PHP-7.0'
* PHP-7.0:
  move this to standard [ci skip]
2016-04-04 09:26:28 +01:00
Joe Watkins 860c55466e move this to standard [ci skip] 2016-04-04 09:26:17 +01:00
Joe Watkins 2be2de9037 Merge branch 'master' of https://github.com/php/php-src 2016-04-04 09:21:45 +01:00
Joe Watkins 3891caddba Merge branch 'PHP-7.0'
* PHP-7.0:
  news updates
2016-04-04 09:21:29 +01:00
Joe Watkins c1dec143d6 news updates 2016-04-04 09:21:06 +01:00
Dmitry Stogov e7730fece6 Fised possible use-after-free 2016-04-04 09:35:48 +03:00
Kalle Sommer Nielsen f1fca16f7a Merge branch 'master' of git.php.net:php-src 2016-04-04 01:31:59 +02:00
Jakub Zelenka 6ac8bc4ecb Merge branch 'openssl_error_store' of github.com:bukka/php-src into openssl_error_store 2016-04-03 19:56:15 +01:00
Jakub Zelenka df85331220 Correctly store OpenSSL erorrs for encrypt_key 2016-04-03 19:54:39 +01:00
Jakub Zelenka 79dd71b151 Store OpenSSL errors from CONF_get_string in SET_OPTIONAL_STRING_ARG 2016-04-03 19:51:22 +01:00
Joe Watkins 9a38b2dbce Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-04-03 12:41:23 +01:00
Joe Watkins 79073743ea Merge branch 'master' of https://github.com/php/php-src 2016-04-03 12:41:08 +01:00
Joe Watkins 14e4c610e9 Fix #69537: __debugInfo with empty string for key gives error 2016-04-03 12:40:29 +01:00
Joe Watkins bff13d90a8 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix #69537: __debugInfo with empty string for key gives error
2016-04-03 12:38:53 +01:00
Joe Watkins 91c10662c8 fix #69537: __debugInfo with empty string for key gives error 2016-04-03 12:38:25 +01:00
Kalle Sommer Nielsen fcc6bdebc2 Added missing zend_parse_parameters_none() to mb_list_encodings() 2016-04-03 02:28:39 +02:00
Kalle Sommer Nielsen bb198ec9a6 Fix compiler warnings in mysqlnd 2016-04-03 02:27:25 +02:00
Dmitry Stogov 82050dfd3c fixed type inference mistake (typo) 2016-04-01 20:29:54 +03:00
Anatol Belski 34d3827ecc Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix ODBC bug for varchars returning with length zero
2016-04-01 17:41:06 +02:00
Elizabeth Marie Smith 4df5f79ab5 Fix ODBC bug for varchars returning with length zero 2016-04-01 17:11:58 +02:00
Xinchen Hui 67476872cd Merge branch 'PHP-7.0' 2016-04-01 22:27:42 +08:00
Xinchen Hui 5b1bb41c0b Fixed bug #71930 (_zval_dtor_func: Assertion `(arr)->gc.refcount <= 1' failed) 2016-04-01 22:27:29 +08:00
Dmitry Stogov 7abfaac901 Merge zend_execute_data->called_scope into zend_execute_data->This.
"called_scope" made sense only for static method calls, for dynamic calls it was always equal to the class of $this.
Now EG(This) may store IS_OBJECT + $this or IS_UNUSED + "called_scope" (of course, "called_scope" may be NULL).
Some code might need to be adopted to support this change.
Checks (Z_OBJ(EX(This))) might need to be converted into (Z_TYPE(EX(This)) == IS_OBJECT).
2016-04-01 16:17:49 +03:00
Joe Watkins c72282a13b Merge branch 'master' of https://github.com/php/php-src 2016-03-31 17:10:51 +01:00
Joe Watkins acfd79b8da Merge branch 'PHP-7.0'
* PHP-7.0:
  fix #71287 (substr_replace bug when length type is string)
2016-03-31 17:10:37 +01:00
Joe Watkins 034e8ec02e fix #71287 (substr_replace bug when length type is string) 2016-03-31 17:10:12 +01:00
Dmitry Stogov 86a1aeed22 Flags ZEND_CALL_RELEASE_THIS and ZEND_CALL_CLOSURE should never be set together.
Closures keep responsibility for releasing $this theirselves.
2016-03-31 18:58:13 +03:00
Dmitry Stogov fcbe1e8edf Use CALL_INFO flag to check if we need to destroy symbol_table.
This saves one memory load on most RETURN opcodes.
2016-03-31 18:47:25 +03:00
Julien Pauli 8a4d164c2b Typo in NEWS 2016-03-31 17:45:07 +02:00
Dmitry Stogov f3c70f118c Manual CSE 2016-03-31 17:26:27 +03:00
Joe Watkins 4954d623de Merge branch 'PHP-7.0'
* PHP-7.0:
  remove unused params || woops
2016-03-31 12:51:25 +01:00
Joe Watkins d9e4510224 remove unused params || woops 2016-03-31 12:51:00 +01:00
Joe Watkins 3b13206aa9 Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-03-31 12:40:15 +01:00
Joe Watkins 8bf6429267 Merge branch 'master' of https://github.com/php/php-src 2016-03-31 12:39:58 +01:00
Joe Watkins 05b44c20e1 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix #71609: Segmentation fault on ZTS with gethostbyname
2016-03-31 12:39:45 +01:00
Joe Watkins 233115ea23 fix #71609: Segmentation fault on ZTS with gethostbyname 2016-03-31 12:39:01 +01:00
Anatol Belski 44c219b0b4 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix borked mainstream patch
  5.5.35 now
2016-03-31 01:38:38 +02:00
Anatol Belski e6bb7eb3aa Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix borked mainstream patch
  5.5.35 now
2016-03-31 01:38:22 +02:00
Anatol Belski a00c2b1bf5 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix borked mainstream patch
  5.5.35 now
2016-03-31 01:36:47 +02:00
Anatol Belski 4b0b1cec00 fix borked mainstream patch 2016-03-31 01:33:38 +02:00
Anatol Belski 26ed2f3610 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test to not to cause false positives
  Align NEWS entry format
  Align NEWS entry format
2016-03-31 01:30:50 +02:00
Anatol Belski 9dc6c33740 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix test to not to cause false positives
2016-03-31 01:30:23 +02:00
Anatol Belski ed707a5217 fix test to not to cause false positives 2016-03-31 01:29:05 +02:00
Lior Kaplan 3b26af59d4 Align NEWS entry format 2016-03-31 01:01:11 +03:00
Lior Kaplan 53ce826cdd Merge branch 'PHP-5.6' into PHP-7.0 2016-03-31 00:54:43 +03:00
Lior Kaplan cef40c0c3f Align NEWS entry format 2016-03-31 00:52:53 +03:00
Nikita Popov bc1f884ef7 Merge branch 'PHP-7.0' 2016-03-30 22:49:36 +02:00
Nikita Popov b1e854f776 Fix bug #71334
Always duplicate the array before doing a sort with user-defined
comparison function, to avoid access to the intermediate
inconsistent state.

I've also dropped the "array modification" warning, as protection
against modifications is no longer relevant if we're always working
on a copy anyway.

This also required some changes to how SplArray forwards calls to
sorting functions.
2016-03-30 22:49:27 +02:00
Ferenc Kovacs 60dbc0867e Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-03-30 22:29:32 +02:00
Ferenc Kovacs 1866ab2d1e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-03-30 22:29:00 +02:00
Ferenc Kovacs abd59c0e40 update NEWS 2016-03-30 22:28:28 +02:00
Nikita Popov 29bc5a0b0f Merge branch 'PHP-7.0' 2016-03-30 18:32:29 +02:00
Nikita Popov f95679885f Fix __invoke comparison in closure_get_method
It compared against the wrong variable. Fixed this by getting rid
of lc_name entirely and use equals_literal_ci instead.
2016-03-30 18:32:00 +02:00
Andrea Faulds 0105bd20b7 Correct error messages 2016-03-30 16:45:36 +01:00
Andrea Faulds d6fc6d4ae6 Fix memory leak
Leak was introduced in c88ffa9a56.
2016-03-30 14:16:07 +01:00
Andrea Faulds 6ce873b546 Fix two tests on 32-bit 2016-03-30 13:48:51 +01:00
Andrea Faulds 5be140004d Expand UPGRADING and NEWS re: numeric strings changes 2016-03-30 13:26:27 +01:00
Matteo Beccati 5274353719 Merge branch 'PHP-7.0'
* PHP-7.0:
  Removed shmop test leaking an shm segment
2016-03-30 10:01:07 +02:00
Matteo Beccati 3bfe1c55ae Removed shmop test leaking an shm segment 2016-03-30 10:00:28 +02:00
Andrea Faulds 1e82ad8038 Warn about invalid strings in arithmetic
Squashed commit of the following:

commit e05d3b67325d4521418483ed924ac9211a188919
Author: Andrea Faulds <ajf@ajf.me>
Date:   Wed Mar 30 01:43:35 2016 +0100

    UPGRADING and NEWS

commit 6caf1d4585207d1b02fb06a216cd7da1a1f5e12d
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Mar 20 21:18:33 2016 +0000

    Fixes

commit 6dadb1b0efe5e2ed071e95a55c806519e61377ac
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Feb 14 02:15:01 2016 +0000

    Add test for numeric string errors in assignment

commit bd5f04e8dd576f92a48d25546f4f9a0f57f374de
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sat Feb 13 23:53:05 2016 +0000

    Add test for numeric string errors

commit c72e92f16d512bcae30cc9639c89bcb08d971742
Author: Andrea Faulds <ajf@ajf.me>
Date:   Tue Jan 26 23:28:33 2016 +0000

    Add test for scientific notation in integer operations

commit d94c08852d405b3a7ef6c84d24bf7915c890ce78
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Feb 14 01:25:57 2016 +0000

    Disable optimiser evaluation for numeric string errors

commit 30ee954ed13d933e766c68605d683c8ebae3d8ee
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Feb 14 01:46:25 2016 +0000

    fixup

commit a6403b79e054c95e2b7345d787f3092b261eed27
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sat Feb 13 22:00:27 2016 +0000

    Do not convert error-causing numeric strings ahead-of-time

commit f9dc35401471ef3035954cb6f171826769297548
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sat Feb 13 19:15:38 2016 +0000

    Disable compile-time evaluation for numeric string errors

commit e05b0cc8496ea082c6db27efd8b8277ef1f785b5
Author: Andrea Faulds <ajf@ajf.me>
Date:   Fri Feb 5 11:42:26 2016 +0000

    Make _zval_get_long_func_noisy function for inlining

commit 84d66321a57e579759109650c8bb7e3d5002854a
Author: Andrea Faulds <ajf@ajf.me>
Date:   Tue Jan 26 23:10:00 2016 +0000

    Update tests

commit 5ac4a0cc4bff282e3a15eaa8ab44b67391881a6d
Author: Andrea Faulds <ajf@ajf.me>
Date:   Tue Jan 26 22:08:19 2016 +0000

    Use is_numeric_string_ex for zval_get_long etc.

commit c21f08848533723331012a62a153de3577731d6a
Author: Andrea Faulds <ajf@ajf.me>
Date:   Thu Jan 7 21:13:04 2016 +0000

    Update tests

commit 63e214cf8160420bfc51c6a2b4ae32f09ad8e8af
Author: Andrea Faulds <ajf@ajf.me>
Date:   Wed Jan 6 00:28:01 2016 +0000

    Warn on non-/bad numeric strings in arithmetic
2016-03-30 01:44:27 +01:00
Nikita Popov e514d85915 Merge branch 'PHP-7.0' 2016-03-29 19:29:55 +02:00
Nikita Popov ed06d130f7 Fixed bug #71922 2016-03-29 19:29:19 +02:00
Nikita Popov 32294a25c8 Fixed bug #62814 2016-03-29 19:08:17 +02:00
Julien Pauli f0120ff878 5.5.35 now 2016-03-29 18:11:03 +02:00
Anatol Belski 20a87bd007 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix dir separator in test
2016-03-29 14:20:49 +02:00
Anatol Belski c7f7139985 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix dir separator in test
2016-03-29 14:20:30 +02:00
Anatol Belski 23d0065744 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix dir separator in test
2016-03-29 14:19:35 +02:00
Anatol Belski 551423c642 fix dir separator in test 2016-03-29 14:18:25 +02:00
Anatol Belski 5640263b23 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
2016-03-29 13:13:49 +02:00
Anatol Belski dd0a96ae70 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
2016-03-29 13:12:47 +02:00
Anatol Belski 5272184a1e Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
The actual fix is applying the upstream patch from
https://github.com/file/file/commit/6713ca45e7757297381f4b4cdb9cf5e624a9ad36
2016-03-29 13:11:25 +02:00
Anatol Belski 84990ab346 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
2016-03-29 13:11:17 +02:00
Anatol Belski fe13566c93 Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
The actual fix is applying the upstream patch from
https://github.com/file/file/commit/6713ca45e7757297381f4b4cdb9cf5e624a9ad36
2016-03-29 13:10:39 +02:00
Joe Watkins 5074fd9c7c Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-03-29 11:34:58 +01:00
Joe Watkins 8f1d6c5bb5 Merge branch 'master' of https://github.com/php/php-src 2016-03-29 11:34:46 +01:00
Joe Watkins 8ae3524a13 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove unused param
2016-03-29 11:34:31 +01:00
Joe Watkins d12ed0c7fa remove unused param 2016-03-29 11:34:18 +01:00
Anatol Belski 37dca0f308 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-03-29 12:06:03 +02:00
Anatol Belski 3b08638340 update NEWS 2016-03-29 12:05:36 +02:00
Xinchen Hui 4f906203d5 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Updated to version 2016.3 (2016c)
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fix bug #71798 - Integer Overflow in php_raw_url_encode
  update NEWS
  Disable huge pages in the Zend allocator by default As per the discussion on internals, this is an expert feature that needs special system-level configuration and care.
  Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0.
  Fix bug #71860: Require valid paths for phar filenames
  Fix bug #71860: Require valid paths for phar filenames
  update NEWS
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Merge branch 'PHP-5.6' into PHP-7.0
  Updated to version 2016.2 (2016b)
  update libs versions
  set RC1 versions
  Going for 5.5.34
2016-03-29 18:02:18 +08:00
Xinchen Hui f5bdc137fb Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Updated to version 2016.3 (2016c)
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fix bug #71798 - Integer Overflow in php_raw_url_encode
  update NEWS
  Disable huge pages in the Zend allocator by default As per the discussion on internals, this is an expert feature that needs special system-level configuration and care.
  Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0.
  Fix bug #71860: Require valid paths for phar filenames
  Fix bug #71860: Require valid paths for phar filenames
  update NEWS
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Merge branch 'PHP-5.6' into PHP-7.0
  Updated to version 2016.2 (2016b)
  update libs versions
  set RC1 versions
  Going for 5.5.34
2016-03-29 18:02:00 +08:00
Xinchen Hui a654e84742 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update tests
2016-03-29 17:53:05 +08:00
Xinchen Hui 256593abcf Update tests 2016-03-29 17:52:58 +08:00
Anatol Belski d1ac9edc50 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Updated to version 2016.3 (2016c)
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fix bug #71798 - Integer Overflow in php_raw_url_encode
  update NEWS
  Disable huge pages in the Zend allocator by default As per the discussion on internals, this is an expert feature that needs special system-level configuration and care.
  Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0.
  Fix bug #71860: Require valid paths for phar filenames
  Fix bug #71860: Require valid paths for phar filenames
  update NEWS
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Merge branch 'PHP-5.6' into PHP-7.0
  Updated to version 2016.2 (2016b)
  update libs versions
  set RC1 versions
  Going for 5.5.34
2016-03-29 11:27:39 +02:00
Anatol Belski f2ca3c6036 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
2016-03-29 11:26:09 +02:00
Anatol Belski 6afa41cf80 Merge remote-tracking branch 'origin/PHP-7.0.5' into PHP-7.0
* origin/PHP-7.0.5:
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Updated to version 2016.3 (2016c)
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fix bug #71798 - Integer Overflow in php_raw_url_encode
  update NEWS
  Disable huge pages in the Zend allocator by default As per the discussion on internals, this is an expert feature that needs special system-level configuration and care.
  Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0.
  Fix bug #71860: Require valid paths for phar filenames
  Fix bug #71860: Require valid paths for phar filenames
  update NEWS
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Merge branch 'PHP-5.6' into PHP-7.0
  Updated to version 2016.2 (2016b)
  update libs versions
  set RC1 versions
  Going for 5.5.34
2016-03-29 11:24:33 +02:00
Xinchen Hui 0a2746fb4b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71914 (Reference is lost in "switch")
2016-03-29 17:14:48 +08:00
Xinchen Hui 2e6d70787c Fixed bug #71914 (Reference is lost in "switch") 2016-03-29 17:14:36 +08:00
Joe Watkins 45035b1b8d Merge branch 'PHP-7.0'
* PHP-7.0:
  fix bug #71428: Validation type inheritance with = NULL
2016-03-29 09:58:06 +01:00
Joe Watkins dd70c39556 fix bug #71428: Validation type inheritance with = NULL 2016-03-29 09:57:51 +01:00
Joe Watkins bdd05e7483 Merge branch 'PHP-7.0'
* PHP-7.0:
  Bug #71428 work ... hopefully, fix drupal 8
2016-03-29 09:36:46 +01:00
Joe Watkins 3f56dfe866 Bug #71428 work ... hopefully, fix drupal 8 2016-03-29 09:36:08 +01:00
Stanislav Malyshev 67fbb06311 Merge branch 'PHP-5.5' into PHP-7.0.5
* PHP-5.5:
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fix bug #71798 - Integer Overflow in php_raw_url_encode
  Fix bug #71860: Require valid paths for phar filenames
  Going for 5.5.34

Conflicts:
	configure.in
	ext/phar/phar_object.c
	ext/phar/tests/badparameters.phpt
	ext/phar/tests/create_path_error.phpt
	ext/phar/tests/pharfileinfo_construct.phpt
	ext/snmp/snmp.c
	ext/standard/url.c
	main/php_version.h
2016-03-28 23:55:05 -07:00
Stanislav Malyshev 57d170aae0 Merge remote-tracking branch 'security/PHP-7.0.5' into PHP-7.0.5
* security/PHP-7.0.5:
  Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
  Fix bug #71860: Require valid paths for phar filenames
  update NEWS
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
2016-03-28 23:49:03 -07:00
Stanislav Malyshev cc7631dd08 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #71704 php_snmp_error() Format String Vulnerability
2016-03-28 23:45:15 -07:00
Anatol Belski 9c19a08b9d Fixed bug #71704 php_snmp_error() Format String Vulnerability
Conflicts:
	ext/snmp/snmp.c
2016-03-28 23:42:19 -07:00
Stanislav Malyshev a18b1f74fa Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
2016-03-28 23:30:14 -07:00
Stanislav Malyshev 3dd82caf57 Merge branch 'PHP-5.5.34' into PHP-5.5
* PHP-5.5.34:
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
2016-03-28 23:29:45 -07:00
Stanislav Malyshev 62da5cdf3d Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut
  Fix bug #71798 - Integer Overflow in php_raw_url_encode
  Fix bug #71860: Require valid paths for phar filenames
  Going for 5.5.34

Conflicts:
	configure.in
	ext/phar/tests/create_path_error.phpt
	main/php_version.h
2016-03-28 23:21:15 -07:00
Stanislav Malyshev f8dd10508b Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut 2016-03-28 23:15:16 -07:00
Derick Rethans 2d112e1378 Updated to version 2016.3 (2016c) 2016-03-28 15:31:51 +02:00
Joe Watkins 34d8fea1a8 Merge branch 'PHP-7.0'
* PHP-7.0:
  work on #71428
2016-03-28 11:55:03 +01:00
Joe Watkins ee9a78a033 work on #71428 2016-03-28 11:54:25 +01:00
Stanislav Malyshev 64f42c73ef Fixed bug #71906: AddressSanitizer: negative-size-param (-1) in mbfl_strcut 2016-03-28 01:22:37 -07:00
Anatol Belski e93c6910fc Fixed bug #71527 Buffer over-write in finfo_open with malformed magic file
The actual fix is applying the upstream patch from
https://github.com/file/file/commit/6713ca45e7757297381f4b4cdb9cf5e624a9ad36
2016-03-28 00:45:19 +02:00
Stanislav Malyshev 95433e8e33 Fix bug #71798 - Integer Overflow in php_raw_url_encode 2016-03-27 14:22:19 -07:00
Joe Watkins a3f0add913 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix #70189 (SAPI sends empty Content-Type when default_mimetype is empty)
2016-03-27 06:51:03 +01:00
Joe Watkins 28f66763a4 fix #70189 (SAPI sends empty Content-Type when default_mimetype is empty) 2016-03-27 06:50:11 +01:00
Joe Watkins fe559731e2 Merge branch 'PHP-7.0'
* PHP-7.0:
  my commits are bad, and I feel bad (test for bug #71414)
2016-03-27 00:04:30 +00:00
Joe Watkins 32df2210d7 my commits are bad, and I feel bad (test for bug #71414) 2016-03-26 23:59:46 +00:00
Bob Weinand 9600ddbd1a Merge remote-tracking branch 'origin/PHP-7.0' 2016-03-27 00:57:56 +01:00
Joe Watkins 4327370d13 fix #71414 (Interface method override inherited method and implemented in a trait causes fatal error) 2016-03-26 23:47:31 +00:00
Nikita Popov b867bd1c8d Fix FETCH_CLASS_SELF comparisons
Turns out those don't form a bitfield.
2016-03-26 22:45:23 +01:00
Nikita Popov 556827dec9 Remove some dead defines 2016-03-26 22:45:23 +01:00
Joe Watkins 1a75cd29a2 add test for bug 2016-03-26 11:15:08 +00:00
Joe Watkins 373da7aa6f fix standard object handler for properties when type == BP_VAR_IS 2016-03-26 11:15:08 +00:00
Joe Watkins dab7738f4f add test for bug 2016-03-26 11:08:19 +00:00
Joe Watkins 6f28956428 fix standard object handler for properties when type == BP_VAR_IS 2016-03-26 10:43:56 +00:00
Nikita Popov d3ed75b9eb Remove HAVE_CRYPT checks
We always provide a crypt implementation. HAVE_CRYPT is only
relevant as to whether the crypt() C function exists.
2016-03-25 21:09:47 +01:00
Nikita Popov be7a50b9ab Move HAVE_ATTRIBUTE_ALIGNED check outside crypt block
This is checked outside the crypt() implementation as well.
2016-03-25 20:50:52 +01:00
Nikita Popov 786effaff6 Remove PHP_*_CRYPT constants
They are always 1.
2016-03-25 20:48:34 +01:00
Nikita Popov a142c274fb Ensure that all crypt() formats are supported
Checks for md5, sha512 and sha256 were missing.

As a result the PHP_*_CRYPT constants are always 1 now.
2016-03-25 20:39:14 +01:00
Nikita Popov e9ee9e13f0 Merge branch 'PHP-7.0' 2016-03-25 20:23:30 +01:00
Nikita Popov bd90f5507f Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/standard/crypt.c
2016-03-25 20:23:04 +01:00
Nikita Popov 54da966883 Fixed bug #67512 2016-03-25 20:18:46 +01:00
Nikita Popov 6c47455f73 Fix assert() in EXT mode 2016-03-25 19:27:20 +01:00
Nikita Popov 8e5b139732 Evaluate arguments of new for classes without ctor
ML: http://markmail.org/message/4b3mk7jid64zvz34
2016-03-25 19:11:37 +01:00
Nikita Popov 24551ed6c8 Print .0 in phpdbg opcode dumps 2016-03-25 19:11:32 +01:00
Andrea Faulds 37c8bb5868 Allow specifying keys on list() elements
Squashed commit of the following:

commit 0361dbe35616722fbe51b446ab7b43a9ca01f455
Author: Andrea Faulds <ajf@ajf.me>
Date:   Fri Mar 25 16:59:20 2016 +0000

    UPGRADING and NEWS

commit dca9d4a36c845bfe4fbcb9db18e184469110ea5a
Author: Andrea Faulds <ajf@ajf.me>
Date:   Fri Mar 25 16:45:18 2016 +0000

    Add tests contributed by @jesseschalken

commit e557f77eab692ed8bb18dbdff48777d80b6f6cbd
Author: Andrea Faulds <ajf@ajf.me>
Date:   Fri Mar 25 16:44:51 2016 +0000

    Rebuild VM

commit 70942e4c3cbb6b4fe6305b27e1e1b2bed78e76df
Author: Andrea Faulds <ajf@ajf.me>
Date:   Wed Feb 24 13:12:26 2016 +0000

    Add test for evaluation order of nested list() keys

commit ed3592e80c5231d9e9a95558aa768a42b75bdebc
Author: Andrea Faulds <ajf@ajf.me>
Date:   Wed Feb 24 12:42:04 2016 +0000

    Add test for evaluation order

commit 589756cbcccbb4702c90b5aa9c091af446058ca1
Author: Andrea Faulds <ajf@ajf.me>
Date:   Tue Jan 19 17:29:34 2016 +0000

    Allow arbitrary expressions for key

commit 3f622077c32fcd82fcf27a41bd0f22e2552ec4c5
Author: Andrea Faulds <ajf@ajf.me>
Date:   Tue Jan 19 17:45:10 2016 +0000

    Remove compile-time HANDLE_NUMERIC (see bug #63217)

commit bab758119aec63289a2c5bef6a5f90a7bc6441a2
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Jan 17 01:20:26 2016 +0000

    Handle numeric strings

commit 14bfe93ddc34d1175bccb42a158be8842c472a9c
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Jan 17 01:09:36 2016 +0000

    Allow trailing comma

commit f4c8b2cb30fc074b15b5f7aabef5444382403b5d
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sat Jan 16 23:47:11 2016 +0000

    Add tests

commit 0085884a6176c3a981b53131fbb4fa0c44db2670
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sat Jan 16 22:24:23 2016 +0000

    Handle non-integer/string opcodes

commit e572d2d0ada6a64b36a2c6f5e8cb57439f51b55e
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sat Jan 16 21:10:33 2016 +0000

    Disallow mixing keyed and unkeyed list() elements

commit cede13ccfe0c486591fa84764271ac1b8cb90d0b
Author: Andrea Faulds <ajf@ajf.me>
Date:   Sun Jan 10 20:46:44 2016 +0000

    list() with keys (no foreach or tests)
2016-03-25 17:18:42 +00:00
Xinchen Hui 0e5fa32883 Merge branch 'PHP-7.0' 2016-03-25 12:35:20 +08:00
Xinchen Hui 1929fc9b16 Fixed bug #71891 (header_register_callback() and register_shutdown_function())
Actually, this fixed the memleak not the behavior(it is expected
behavior that "shutdown" is not outputed)
2016-03-25 12:34:22 +08:00
Derick Rethans 454ae8a6f3 Updated to version 2016.3 (2016c) 2016-03-24 11:09:08 +00:00
Derick Rethans 31e46d1938 Empty merge 2016-03-24 11:09:08 +00:00
Derick Rethans 70878a92b1 Updated to version 2016.3 (2016c) 2016-03-24 11:09:07 +00:00
Derick Rethans 35b19d8dcc Empty merge 2016-03-24 11:09:06 +00:00
Derick Rethans c4681ec8e1 Updated to version 2016.3 (2016c) 2016-03-24 11:09:05 +00:00
Anatol Belski bc9910c20c Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-03-23 12:32:54 +01:00
Anatol Belski d6eff6655c update NEWS 2016-03-23 12:32:16 +01:00
Anatol Belski 4bbc811ff4 update NEWS 2016-03-23 12:28:48 +01:00
Rasmus Lerdorf 06c2b31866 Disable huge pages in the Zend allocator by default
As per the discussion on internals, this is an expert feature
that needs special system-level configuration and care.
2016-03-23 12:23:35 +01:00
Dmitry Stogov 75dd4a7a50 Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0. 2016-03-23 12:23:03 +01:00
Xinchen Hui 8643d7a595 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed Bug #71884 (Null pointer deref (segfault) in stream_context_get_default)
2016-03-23 16:16:47 +08:00
Xinchen Hui a3946de339 Fixed Bug #71884 (Null pointer deref (segfault) in stream_context_get_default) 2016-03-23 16:16:26 +08:00
Dmitry Stogov bc49f8b438 Fixed possible memory leak. 2016-03-23 00:46:48 +03:00
Dmitry Stogov d8b75b0807 Convert ASSIGN_ADD $a, $b into $a = ADD $a, $b, if possible. 2016-03-22 23:57:26 +03:00
Anatol Belski 76d612129b Merge branch 'PHP-7.0'
* PHP-7.0:
  if there's no JIT support, no RINIT is really needed
  Disable huge pages in the Zend allocator by default As per the discussion on internals, this is an expert feature that needs special system-level configuration and care.
2016-03-22 21:48:11 +01:00
Anatol Belski 241ba9dcb1 if there's no JIT support, no RINIT is really needed 2016-03-22 21:42:21 +01:00
Dmitry Stogov 94812fa6cd Convert ASSIGN_ADD $cv, int(1) into PRE_INC $cv, if it's safe. 2016-03-22 22:50:43 +03:00
Rasmus Lerdorf 1efcdaf092 Disable huge pages in the Zend allocator by default
As per the discussion on internals, this is an expert feature
that needs special system-level configuration and care.
2016-03-22 08:04:53 -07:00
Matt Ficken fa6ce55675 bug #71478 implementing feature request 2016-03-21 21:09:32 -07:00
Xinchen Hui 3f3180e35f Merge branch 'PHP-7.0'
* PHP-7.0:
  Update test script
2016-03-22 11:28:45 +08:00
Xinchen Hui b49ec68134 Update test script 2016-03-22 11:28:19 +08:00
Nikita Popov ac3a66cfad Merge branch 'PHP-7.0' 2016-03-21 22:50:03 +01:00
Nikita Popov dc842bbf8d Fixed bug #71871 2016-03-21 22:49:18 +01:00
Anatol Belski 925adbb143 Merge branch 'PHP-7.0'
* PHP-7.0:
  decrease the default PCRE JIT stack to 64K
2016-03-21 19:00:10 +01:00
Anatol Belski e988239634 decrease the default PCRE JIT stack to 64K 2016-03-21 18:59:39 +01:00
Anatol Belski 9e521485b5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Increase PCRE JIT stack size
2016-03-21 18:32:50 +01:00
Anatol Belski e23a41225f Increase PCRE JIT stack size
It is done by implementing the custom stack usage. This makes the
JIT with mode on more compatible with the JIT mode off. Until now, the
default PCRE JIT stack was used which is 32kb big by default. There
are situations where some patterns would fail with JIT while working
correctly without JIT.

The starting size of the JIT stack is still set to 32kb, while the
max is set to the permissive 256kb (and can be increased up to 1mb).
As until now no suchlike bugs regarding JIT were reported, it is expected,
that the stack usage will stay by 32kb in most cases. Though providing
the custom stack, applications will have more room for some sporadic
stack increase, thus more compatibility.
2016-03-21 17:31:26 +01:00
Julien Pauli 8bf5a60fdd Merge branch 'PHP-7.0'
* PHP-7.0:
  Updated NEWS
  Updated NEWS
  Reworked Fix bug #52098
  Fix bug #52098
2016-03-21 15:40:50 +01:00
Julien Pauli cb240fe711 Updated NEWS 2016-03-21 15:40:01 +01:00
Julien Pauli 5ba7b9af1b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Updated NEWS
  Reworked Fix bug #52098
  Fix bug #52098

Conflicts:
	ext/pdo/pdo_dbh.c
	ext/pdo/pdo_stmt.c
2016-03-21 15:39:48 +01:00
Julien Pauli abbe1551d6 Updated NEWS 2016-03-21 15:26:21 +01:00
Julien Pauli d3d64b7c62 Reworked Fix bug #52098 2016-03-21 15:23:18 +01:00
Daniel Persson e541cd8e6b Fix bug #52098 2016-03-21 15:04:11 +01:00
Xinchen Hui 4141167975 Merge branch 'PHP-7.0'
* PHP-7.0:
  array_dup should not copy the nApplyCount
  Also protects object to array cast
2016-03-21 19:20:11 +08:00
Xinchen Hui d26ca89402 array_dup should not copy the nApplyCount 2016-03-21 19:19:05 +08:00
Xinchen Hui 9712a974be Also protects object to array cast 2016-03-21 19:12:50 +08:00
Dmitry Stogov 60b72e434b Avoid data bypass delays between integer and floating point execution units on x86 CPUs. 2016-03-21 13:03:30 +03:00
Xinchen Hui 63958350d8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS
  Update NEWS for efacdc3
  FIX #71831: CURLOPT_NOPROXY applied as long instead of string
2016-03-21 16:44:42 +08:00
Xinchen Hui a9a46f17be Update NEWS 2016-03-21 16:44:30 +08:00
Xinchen Hui ead0dfc3c9 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS for efacdc3
  FIX #71831: CURLOPT_NOPROXY applied as long instead of string
2016-03-21 16:43:55 +08:00
Xinchen Hui c9c8e70463 Update NEWS for efacdc3 2016-03-21 16:43:30 +08:00
Xinchen Hui 056459dc9d Merge branch 'PHP-5.6' of https://github.com/msierks/php-src into PHP-5.6
* 'PHP-5.6' of https://github.com/msierks/php-src:
  FIX #71831: CURLOPT_NOPROXY applied as long instead of string
2016-03-21 16:39:22 +08:00
Xinchen Hui 1e5ac8940a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)
2016-03-21 16:22:02 +08:00
Xinchen Hui 65ae7440b0 Merge branch 'bug71835' of https://github.com/bukka/php-src into PHP-7.0
* 'bug71835' of https://github.com/bukka/php-src:
  Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)
2016-03-21 16:03:16 +08:00
Stanislav Malyshev 85ccebc1c2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71750: use zend_string_safe_alloc for calculated allocations
  Fix bug #71735: Double-free in SplDoublyLinkedList::offsetSet
2016-03-20 22:51:12 -07:00
Stanislav Malyshev c4517b2a5e Fix bug #71750: use zend_string_safe_alloc for calculated allocations 2016-03-20 22:39:17 -07:00
Stanislav Malyshev 28a6ed9f9a Fix bug #71735: Double-free in SplDoublyLinkedList::offsetSet 2016-03-20 22:29:08 -07:00
Stanislav Malyshev 72281f29dd Fix bug #71860: Require valid paths for phar filenames 2016-03-20 21:33:11 -07:00
Stanislav Malyshev 1e9b175204 Fix bug #71860: Require valid paths for phar filenames 2016-03-20 21:24:12 -07:00
Nikita Popov dab8e584da Merge branch 'PHP-7.0' 2016-03-20 18:18:14 +01:00
Nikita Popov f3309173f9 Fixed bug #62059 2016-03-20 18:17:44 +01:00
Nikita Popov c4ccb5d5fa Merge branch 'PHP-7.0' 2016-03-20 17:48:22 +01:00
Nikita Popov 12f2665df8 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/spl/spl_observer.c
2016-03-20 17:48:06 +01:00
Nikita Popov cc3cdd0057 Fixed bug #67582 2016-03-20 17:46:12 +01:00
Jakub Zelenka 7e069daa89 Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable) 2016-03-20 15:56:27 +00:00
Nikita Popov 6d98584d00 Merge branch 'PHP-7.0' 2016-03-20 13:52:00 +01:00
Nikita Popov a175aa9dca Fixed bug #71731
The read_dimension() handler in BP_VAR_IS mode will now call
offsetExists() before caling offsetGet(). This has always been a
problem, however recently the issue has been exacerbated, because
the null-coalesce operator ?? makes it visible for non-nested
array accesses.

Also fixes #69659.
2016-03-20 13:35:00 +01:00
Nikita Popov 1f6d27d3d2 Fix use of UNDEF instead of NULL in read_dimension 2016-03-20 13:33:17 +01:00
Xinchen Hui 0cacbae410 Merge branch 'PHP-7.0' 2016-03-20 04:55:11 -07:00
Xinchen Hui 9564998e49 Fixed Bug #71859 (zend_objects_store_call_destructors operates on realloced memory, crashing) 2016-03-20 04:52:57 -07:00
Nikita Popov 24f63b1c32 Fix broken merge 2016-03-20 01:35:51 +01:00
Nikita Popov 80a722a634 Drop some dead defines 2016-03-20 01:35:51 +01:00
Andrea Faulds ba4b2a60f9 Replace php_math_is_finite with zend_finite 2016-03-20 00:15:39 +00:00
Nikita Popov e8f056e535 Merge branch 'PHP-7.0' 2016-03-18 20:29:09 +01:00
Nikita Popov 8023204d21 Fixed bug #52339
Autoloader 101: Don't throw if you fail. PHP will throw for you.
2016-03-18 20:28:58 +01:00
Nikita Popov 09da666cfa Merge branch 'PHP-7.0' 2016-03-18 20:00:19 +01:00
Nikita Popov a2522efa9f Add extra ArrayObject::sort() test 2016-03-18 19:59:08 +01:00
Nikita Popov 094c808374 Fix bug #71838 2016-03-18 19:58:52 +01:00
Nikita Popov c5212da8b5 Merge branch 'PHP-7.0' 2016-03-18 19:31:43 +01:00
Nikita Popov fd95555107 Fix ZEND_DEBUG condition 2016-03-18 19:31:34 +01:00
Michael Sierks efacdc3511 FIX #71831: CURLOPT_NOPROXY applied as long instead of string
The CURLOPT_NOPROXY option value is converted to a long before
being applied as a curl option. This causes the option to have
no effect. This patch changes this conversion to a string.
2016-03-18 07:29:01 -05:00
Xinchen Hui 85419b4f28 Unused var 2016-03-18 16:02:32 +08:00
Dmitry Stogov 7bf4ae32be Merge branch 'PHP-7.0'
* PHP-7.0:
  typo
2016-03-18 10:28:30 +03:00
Dmitry Stogov 69c9be5c99 typo 2016-03-18 10:27:46 +03:00
Dmitry Stogov c1bcb198d3 Merge branch 'PHP-7.0'
* PHP-7.0:
  typo
2016-03-18 10:26:41 +03:00
Dmitry Stogov 11594e86b8 typo 2016-03-18 10:25:48 +03:00
Xinchen Hui 85009e0768 Merge branch 'typo-in-UPGRADING-doc' of https://github.com/drbyte/php-src
* 'typo-in-UPGRADING-doc' of https://github.com/drbyte/php-src:
  Small typo in UPGRADING doc
2016-03-18 11:55:06 +08:00
Xinchen Hui 5e2186e5a7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed pdo_stmt.c: zval* being passed into zend_parse_parameters_ex
2016-03-18 11:50:38 +08:00
Xinchen Hui 5b8d0dc6ae Fixed pdo_stmt.c: zval* being passed into zend_parse_parameters_ex 2016-03-18 11:50:03 +08:00
Dmitry Stogov 48e3459567 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0.
2016-03-17 22:44:23 +03:00
Dmitry Stogov 945a661912 Added ability to disable huge pages in Zend Memeory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0. 2016-03-17 22:43:42 +03:00
Dmitry Stogov 681de72554 Enable DFA pass by default 2016-03-17 22:37:20 +03:00
Dmitry Stogov fc7cbdce61 Squashed commit of the following:
commit 98471821a89d7106de508fc544504ba674025abe
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Mar 17 21:56:04 2016 +0300

    Fixed wrong constant usage

commit 8183b811e74c2989bcd8ab9d870fc3adbe973980
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Mar 17 21:10:23 2016 +0300

    Added ability to serialize and serialize opcode handlers for file-cache

commit 3516b261de7694bb1f34c5ae1adfb2f29dfab7bf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Mar 17 10:11:59 2016 +0300

    Added missed file

commit f4475a23608623ccbf11b00c1c74df1db55dffa2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Mar 17 10:00:45 2016 +0300

    Transparently introduce type-specialized opcode handlers.
    This affects only PHP VM, and doesn't change anything else.
2016-03-17 22:00:27 +03:00
Anatol Belski 93ca094aab Merge branch 'PHP-7.0'
* PHP-7.0:
  fix and update NEWS
  fix and update NEWS
2016-03-17 19:05:33 +01:00
Anatol Belski 28b6f0232b fix and update NEWS 2016-03-17 19:04:56 +01:00
Anatol Belski d529c3358c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix and update NEWS
2016-03-17 19:03:46 +01:00
Anatol Belski b8c9c92d44 fix and update NEWS 2016-03-17 19:02:08 +01:00
Xinchen Hui a5f72c8dac Merge branch 'master' of git.php.net:/php-src 2016-03-17 07:57:53 -07:00
Xinchen Hui a2ca4558b5 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2016-03-17 07:57:22 -07:00
Anatol Belski 78d28bfe13 Merge branch 'PHP-7.0'
* PHP-7.0:
  Backport patch for bug #71820
2016-03-17 15:55:50 +01:00
Xinchen Hui 36dbaac595 Merge branch 'PHP-7.0' 2016-03-17 07:55:44 -07:00
Anatol Belski ef8d6435a2 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Backport patch for bug #71820
2016-03-17 15:55:37 +01:00
Xinchen Hui 93499bfd8a Fixed test & ZEND_BOOL should result TMP_VAR 2016-03-17 07:55:25 -07:00
Xinchen Hui f2b6b26189 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_compile.c
2016-03-17 07:51:26 -07:00
Xinchen Hui 345ecd9822 Fixed #71837 (Wrong arrays behaviour) 2016-03-17 07:41:41 -07:00
Anatol Belski 1b632cfe83 Backport patch for bug #71820
Rev b4eedd128b
2016-03-17 14:28:58 +01:00
Xinchen Hui eb405623ec Merge branch 'PHP-5.6' of git.php.net:/php-src into PHP-5.6
* 'PHP-5.6' of git.php.net:/php-src:
  fix NEWS
  NEWS
  Fix Bug #63171 	Script hangs after max_execution_time
2016-03-17 21:27:23 +08:00
Xinchen Hui e8e9ffdeb2 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  fix NEWS
  NEWS
  NEWS
  Fix Bug #63171 	Script hangs after max_execution_time
  Fixed bug #71820 pg_fetch_object bind parameters before call constructor
2016-03-17 21:27:07 +08:00
Xinchen Hui 383dde5b15 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 NEWS
  NEWS
  NEWS
  Fix Bug #63171 	Script hangs after max_execution_time
  Fixed bug #71820 pg_fetch_object bind parameters before call constructor
2016-03-17 21:26:14 +08:00
Xinchen Hui 910e6dc6b8 Fixed for master 2016-03-17 21:10:08 +08:00
Remi Collet f3b1865dd9 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NEWS
2016-03-17 13:54:01 +01:00
Remi Collet e7f74a3f9b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix NEWS
2016-03-17 13:53:52 +01:00
Remi Collet b5b1ba850a fix NEWS 2016-03-17 13:53:42 +01:00
Remi Collet 5d0a8809cd Merge branch 'PHP-7.0'
* PHP-7.0:
  NEWS
2016-03-17 13:44:34 +01:00
Remi Collet 9073208f6c NEWS 2016-03-17 13:44:28 +01:00
Remi Collet 904808ff66 Merge branch 'PHP-7.0'
* PHP-7.0:
  NEWS
  Fix Bug #63171 	Script hangs after max_execution_time
2016-03-17 13:42:51 +01:00
Remi Collet 2291ebc0ea Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  NEWS
  Fix Bug #63171 	Script hangs after max_execution_time
2016-03-17 13:42:34 +01:00
Remi Collet d513b4cde5 NEWS 2016-03-17 13:40:42 +01:00
Remi Collet 407ad28ae5 Fix Bug #63171 Script hangs after max_execution_time
If aborted via timer expiration, don't try to call any unixODBC function
which may hangs because of internal locks
2016-03-17 13:38:45 +01:00
Xinchen Hui adb82514eb Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove unnecessary pattern
  Fixed for PHP7
  Fixed bug #71843 (null ptr deref ZEND_RETURN_SPEC_CONST_HANDLER)

Conflicts:
	ext/opcache/Optimizer/block_pass.c
2016-03-17 20:24:59 +08:00
Xinchen Hui aef22ac1c1 Remove unnecessary pattern 2016-03-17 20:21:36 +08:00
Xinchen Hui 041a01fd6c Fixed for PHP7 2016-03-17 20:20:01 +08:00
Xinchen Hui 820b0aa2ab Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71843 (null ptr deref ZEND_RETURN_SPEC_CONST_HANDLER)
2016-03-17 19:54:33 +08:00
Xinchen Hui 8e2f658f49 Fixed bug #71843 (null ptr deref ZEND_RETURN_SPEC_CONST_HANDLER) 2016-03-17 19:54:19 +08:00
Anatol Belski ad7e1768aa Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71820 pg_fetch_object bind parameters before call constructor
2016-03-17 12:49:34 +01:00
Anatol Belski b4eedd128b Fixed bug #71820 pg_fetch_object bind parameters before call constructor
If we want to fetch into an object of a custom class that implemens
__set handler, the corstructor has to be called first. The data
passed to the constructor can be possibly required in __set handler.
2016-03-17 12:41:55 +01:00
Xinchen Hui cdd7560d26 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test script
2016-03-17 17:07:14 +08:00
Xinchen Hui dae086040e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test script
2016-03-17 17:07:07 +08:00
Xinchen Hui 6d4aec029a Fixed test script 2016-03-17 17:06:56 +08:00
Xinchen Hui d12a4693c5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove typo
2016-03-17 15:27:56 +08:00
Xinchen Hui e12456603a Remove typo 2016-03-17 15:27:36 +08:00
Xinchen Hui 69492398f3 Unnecessary anymore 2016-03-17 15:26:56 +08:00
Xinchen Hui f3dd50d650 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test script
  Update NEWS
  Fixed bug #71841 (EG(error_zval) is not handled well)
  Fixed bug #71840 (Unserialize accepts wrongly data)

Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2016-03-17 15:26:40 +08:00
Xinchen Hui b8f0cb063f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test script
2016-03-17 15:23:53 +08:00
Xinchen Hui ead7632cf9 Fixed test script 2016-03-17 15:23:44 +08:00
Xinchen Hui 47f3b3df45 Update NEWS 2016-03-17 15:23:21 +08:00
Xinchen Hui fe1a3fc08b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71841 (EG(error_zval) is not handled well)
  Fixed bug #71840 (Unserialize accepts wrongly data)

Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
	ext/standard/var_unserializer.c
2016-03-17 15:22:44 +08:00
Xinchen Hui 5546f8be56 Fixed bug #71841 (EG(error_zval) is not handled well) 2016-03-17 15:16:47 +08:00
Xinchen Hui 6f241f5fad Fixed bug #71840 (Unserialize accepts wrongly data) 2016-03-17 15:15:28 +08:00
Dmitry Stogov 3f1e35756c Change LONG constants into DOUBLE, if they are going to be used as DOUBLE. 2016-03-17 09:58:15 +03:00
Xinchen Hui 73e8c08788 Sorry for that... Merged by accident....
Revert "Transparently introduce type-specialized opcode handlers."

This reverts commit 59d00b8bcc.
2016-03-17 11:59:15 +08:00
Xinchen Hui a4b2f7f3a9 Revert "Taking into account "undefined" variables"
This reverts commit 9020086a13.
2016-03-17 11:58:59 +08:00
Xinchen Hui a3940c1867 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fix build
  Fix build
  Fix build
  prepare for 5.6.20RC1
  Fix more emails
  More email fixing
  Fix emails in headers. @mysql.com addresses are no more since many years.
  fix #ifdef usage
2016-03-17 11:57:08 +08:00
Xinchen Hui b9aed47a7a Fixed Bug #71824 (null ptr deref _zval_get_string_func (zend_operators.c:851)) 2016-03-17 11:56:32 +08:00
Kalle Sommer Nielsen fc49f1c411 Fix build 2016-03-17 03:53:01 +01:00
Kalle Sommer Nielsen 9a83a679ef Fix build 2016-03-17 03:45:04 +01:00
Kalle Sommer Nielsen 9583cb84a2 Fix build 2016-03-17 03:41:36 +01:00
Ferenc Kovacs c808e44d85 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare for 5.6.20RC1
2016-03-17 01:48:16 +01:00
Ferenc Kovacs fba1c7629c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  prepare for 5.6.20RC1
2016-03-17 01:47:37 +01:00
Ferenc Kovacs 14f4848fb0 prepare for 5.6.20RC1 2016-03-17 01:46:00 +01:00
Andrey Hristov 1c295d4a9a Fix more emails 2016-03-16 10:57:12 +01:00
Andrey Hristov 61a6109298 Merge branch 'PHP-7.0' 2016-03-16 10:55:09 +01:00
Andrey Hristov fa4addd409 More email fixing 2016-03-16 10:54:56 +01:00
Andrey Hristov 3a33ee63e8 Merge branch 'PHP-7.0' 2016-03-16 10:47:27 +01:00
Andrey Hristov f2ab731a8c Fix emails in headers. @mysql.com addresses are no more since many years. 2016-03-16 10:24:52 +01:00
Anatol Belski 884c7d181f update NEWS 2016-03-16 09:50:51 +01:00
Anatol Belski 6e25966544 Fixed bug #71704 php_snmp_error() Format String Vulnerability 2016-03-16 09:48:40 +01:00
Remi Collet ffe82dd775 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix #ifdef usage
2016-03-16 08:11:50 +01:00
Remi Collet d45f478454 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix #ifdef usage
2016-03-16 07:18:23 +01:00
Remi Collet 46293ed6d4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix #ifdef usage
2016-03-16 07:18:09 +01:00
Remi Collet 478c807128 fix #ifdef usage 2016-03-16 07:17:49 +01:00
Dmitry Stogov 9020086a13 Taking into account "undefined" variables 2016-03-16 04:20:43 +03:00
Dmitry Stogov 59d00b8bcc Transparently introduce type-specialized opcode handlers.
This affects only PHP VM, and doesn't change anything else.
2016-03-16 03:36:58 +03:00
Chris Brown 77515803d5 Small typo in UPGRADING doc 2016-03-15 16:34:05 -04:00
Dmitry Stogov 4165ae1420 Convert LONG constants to DOUBLE, when later they are going to be used as DOUBLE 2016-03-15 22:19:01 +03:00
Derick Rethans 89919b5ec5 Updated to version 2016.2 (2016b) 2016-03-15 11:17:57 +01:00
Derick Rethans 92db62a32b Updated to version 2016.2 (2016b) 2016-03-15 09:14:12 +00:00
Derick Rethans 0ebaad210f Empty merge 2016-03-15 09:14:12 +00:00
Derick Rethans ba71144b8c Updated to version 2016.2 (2016b) 2016-03-15 09:14:11 +00:00
Derick Rethans a1c6481c63 Empty merge 2016-03-15 09:14:10 +00:00
Derick Rethans ddc62f2e8b Updated to version 2016.2 (2016b) 2016-03-15 09:14:09 +00:00
Anatol Belski 68a29ccb84 update libs versions 2016-03-15 09:51:47 +01:00
Anatol Belski 1ed4227e64 Merge branch 'PHP-7.0'
* PHP-7.0:
  update libs versions
  update libs versions
2016-03-15 09:44:48 +01:00
Anatol Belski ba5b98db8c update libs versions 2016-03-15 09:44:05 +01:00
Anatol Belski 6ec7ef39f4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update libs versions
2016-03-15 09:43:08 +01:00
Anatol Belski 73b9941622 update libs versions 2016-03-15 09:41:34 +01:00
Anatol Belski 7fead8e8f5 set RC1 versions 2016-03-15 08:32:03 +01:00
Anatol Belski 027a70e008 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare next
2016-03-15 08:26:12 +01:00
Anatol Belski 2921c0e3f6 prepare next 2016-03-15 08:24:41 +01:00
Anatol Belski ec13d5ca75 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fix bug #71624, PHP_MODE_PROCESS_STDIN (CLI SAPI called with '-R') did not properly set $argi and $argn
  fix uninitialized value
2016-03-15 07:11:54 +01:00
Anatol Belski 0ce801a587 update NEWS 2016-03-15 07:11:21 +01:00
Sean DuBois 68ebfc87ad Fix bug #71624, PHP_MODE_PROCESS_STDIN (CLI SAPI called with '-R') did not properly set $argi and $argn 2016-03-15 07:02:40 +01:00
Anatol Belski 84651b32eb fix uninitialized value 2016-03-15 06:43:29 +01:00
Nikita Popov 47391961dd Mark uses in UNSET_VAR op1 + FE_FETCH_R op2 as no_val 2016-03-14 17:57:07 +01:00
Nikita Popov 64dae1ea76 Statically bind static method call arguments
If we know what method will be called, use ct-bound send opcodes.

The intl test is changed because a runtime error changed to a
compile-time error.
2016-03-14 17:50:56 +01:00
Anatol Belski 14ea0e584c Merge branch 'PHP-7.0'
* PHP-7.0:
  fix pointer truncation on 64 bit
2016-03-14 16:45:12 +01:00
Anatol Belski 704a9aeea7 fix pointer truncation on 64 bit 2016-03-14 16:44:27 +01:00
Anatol Belski 8309e12cc7 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test
  Update NEWS
2016-03-14 15:58:40 +01:00
Anatol Belski ab7764d99b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix test
2016-03-14 15:58:05 +01:00
Anatol Belski beda05269c fix test
Many warnings won't appear with libxml2 >= 2.9.3 because in many
cases libxml2 2.9.3 will just abort processing.
2016-03-14 15:53:02 +01:00
Yasuo Ohgaki ec12385f04 Update NEWS
Fixed Bug #71754 Regression in PHP7.0: trivial script segfaults php-cgi
    Fixed Bug #71683 Null pointer dereference in zend_hash_str_find_bucket
    Fixed Bug #71599 trans sid handling rework broke interaction with cookies

    All of these bugs are caused by git global change in PHP-7.0.
2016-03-12 08:52:16 +09:00
Yasuo Ohgaki ca61f5954b Fixed Bug #71754 Regression in PHP7.0: trivial script segfaults php-cgi
Fixed Bug #71683 Null pointer dereference in zend_hash_str_find_bucket
Fixed Bug #71599 trans sid handling rework broke interaction with cookies

All of these bug is caused by git global change in PHP-7.0.
2016-03-12 08:40:37 +09:00
Yasuo Ohgaki 01579ae0a6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed Bug #71683 Null pointer dereference in zend_hash_str_find_bucket
2016-03-12 08:33:04 +09:00
Yasuo Ohgaki 50fca7a02a Fixed Bug #71683 Null pointer dereference in zend_hash_str_find_bucket 2016-03-12 08:15:47 +09:00
Nikita Popov f3b61b706f Merge branch 'PHP-7.0' 2016-03-11 22:45:52 +01:00
Nikita Popov 02743f43c2 Fixed bug #71806 2016-03-11 22:45:38 +01:00
Nikita Popov d9f0c8429d Merge branch 'PHP-7.0' 2016-03-11 22:28:50 +01:00
Grigorii Sokolik ccc5150f15 Fix bug #71767 2016-03-11 22:27:48 +01:00
Dmitry Stogov 7f80514aa1 Added ability to avoid code generation for useless opcode handlers.
- SPEC(NO_CONST_CONST) may prevent codegeneration for handlers like ADD_SPEC_CONST_CONST. Compiler and optimizaer should care about constants folding.
- SPEC(COMMUTATIVE) generate only single handler instead of two eqivalents like ADD_SPEC_CONST_CV and ADD_SPEC_CV_CONST. Compiler and optimizer should care avout operands swapping.
2016-03-11 16:51:06 +03:00
Anatol Belski c1b8c4ded7 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-03-11 14:24:03 +01:00
Anatol Belski fca831e8ad update NEWS 2016-03-11 14:23:34 +01:00
Anatol Belski 884f3f0afd Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-03-11 14:23:07 +01:00
Anatol Belski 9d02e3b97e update NEWS 2016-03-11 14:22:11 +01:00
Anatol Belski 0c3022f436 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix DatePeriod::getEndDate() segfault
2016-03-11 14:13:11 +01:00
Anatol Belski d26d80ab75 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix DatePeriod::getEndDate() segfault
2016-03-11 14:12:54 +01:00
Thomas Punt f3f5a07aa5 Fix DatePeriod::getEndDate() segfault 2016-03-11 14:08:48 +01:00
Dmitry Stogov afb80df631 Allow usage of "TMPVARCV" pattern for cases when there is no difference in handling for TMP, VAR and CV operands. 2016-03-11 13:38:53 +03:00
Dmitry Stogov 827a7a180b Added possibility for extra specialization for SMART_BRANCH (e.g. IS_EQUAL+JMPZ superinstruction). 2016-03-11 12:17:03 +03:00
Anatol Belski d5cf1a13b9 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix build with clang on Winodws
2016-03-10 17:11:42 +01:00
Dmitry Stogov 8026da6db0 Remove NOPs after DFA pass. 2016-03-10 18:31:02 +03:00
Anatol Belski 741bfe3932 fix build with clang on Winodws 2016-03-10 15:30:20 +01:00
Anatol Belski 624fe22914 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix error condition, part of bug #71753
2016-03-10 11:40:08 +01:00
Anatol Belski 8b5d09a195 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix error condition, part of bug #71753
2016-03-10 11:39:16 +01:00
Anatol Belski 8cd903ea68 fix error condition, part of bug #71753 2016-03-10 11:35:50 +01:00
Dmitry Stogov 99c44458da Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:php-src:
  tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752)
2016-03-10 13:34:41 +03:00
Dmitry Stogov c1868b00cd Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752)
2016-03-10 13:34:25 +03:00
Dmitry Stogov ff8337b783 Merge branch 'PHP-7.0'
* PHP-7.0:
  More effecient fix for bug #71756
2016-03-10 13:34:00 +03:00
Dmitry Stogov f8506c062f More effecient fix for bug #71756 2016-03-10 13:33:36 +03:00
Anatol Belski 22475055c6 Merge branch 'PHP-7.0'
* PHP-7.0:
  tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752)
2016-03-10 09:36:32 +01:00
Anatol Belski 4d4c6cf14e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752)
2016-03-10 09:35:55 +01:00
Xinchen Hui 67f0770036 tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752)
cherry-picked from 7d5f71b0b1
2016-03-10 09:33:39 +01:00
Anatol Belski fd668bed4c Merge branch 'PHP-7.0'
* PHP-7.0:
  fix invalid pointer on 64-bit
2016-03-10 08:45:57 +01:00
Anatol Belski ce9a582d07 fix invalid pointer on 64-bit 2016-03-10 08:45:46 +01:00
Anatol Belski 3edd33083c fix invalid pointer on 64-bit 2016-03-10 08:45:29 +01:00
Xinchen Hui 50960d85cc Merge branch 'PHP-7.0'
* PHP-7.0:
  Useless check (part of #71753)
  object->ce should not be NULL
  Fixed typo (partially fix for #71753)
  emalloc never returns NULL (partially fix for #71753)
2016-03-10 15:43:53 +08:00
Xinchen Hui 753bbad535 Useless check (part of #71753) 2016-03-10 15:43:22 +08:00
Xinchen Hui a0fac47364 object->ce should not be NULL 2016-03-10 15:26:15 +08:00
Xinchen Hui 351201bc7b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed typo (partially fix for #71753)

Conflicts:
	ext/standard/uuencode.c
2016-03-10 15:23:40 +08:00
Xinchen Hui 915a3762ef Fixed typo (partially fix for #71753) 2016-03-10 15:22:34 +08:00
Xinchen Hui c3cf6f2a68 emalloc never returns NULL (partially fix for #71753) 2016-03-10 15:15:26 +08:00
Xinchen Hui a468901e97 Merge branch 'PHP-7.0'
* PHP-7.0:
  Improve the codes (FETCH_DIM_R/IS is read context, we should not expose IS_REFERENCE)
2016-03-10 15:10:26 +08:00
Xinchen Hui 675c295722 Improve the codes (FETCH_DIM_R/IS is read context, we should not expose IS_REFERENCE) 2016-03-10 15:09:51 +08:00
Xinchen Hui 4c388004d4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71754 (Regression in PHP7.0: trivial script segfaults php-cgi)
  Bug #71756 (Call-by-reference widens scope to uninvolved functions when used in switch)
  tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752)
2016-03-10 15:03:25 +08:00
Xinchen Hui 98c625a31c Fixed bug #71754 (Regression in PHP7.0: trivial script segfaults php-cgi) 2016-03-10 15:02:10 +08:00
Xinchen Hui 9833c76d3f Bug #71756 (Call-by-reference widens scope to uninvolved functions when used in switch) 2016-03-10 14:58:10 +08:00
Xinchen Hui 7d5f71b0b1 tsrm_win32_get_path_sid_key might returns NULL (Partially fix bug #71752) 2016-03-10 14:24:13 +08:00
Nikita Popov 97a88fccc0 Merge branch 'PHP-7.0' 2016-03-09 23:01:51 +01:00
Nikita Popov 5a6da79fd0 Fix bug #71659 2016-03-09 23:00:53 +01:00
Nikita Popov f65486f13d Add NEWS/UPGRADING for negative string offsets 2016-03-09 14:41:38 +01:00
Francois Laupretre d0d9e7251e mb_strpos()/mb_stripos(): Add support for negative offset 2016-03-09 14:41:38 +01:00
Francois Laupretre 882f97042b mb_ereg_search_setpos(): Add support for negative position
Also add missing test for this function
2016-03-09 14:41:38 +01:00
Francois Laupretre 70187267b4 mb_strimwidth(): Add support for negative 'start' and 'width' 2016-03-09 14:41:38 +01:00
Francois Laupretre e30060da15 file_get_contents(): Add support for negative offset 2016-03-09 14:41:38 +01:00
Francois Laupretre 570bbed98e Add negative offset support to iconv_strpos() 2016-03-09 14:41:38 +01:00
Francois Laupretre 4a8c51c7d7 Add negative offset support to grapheme_strpos/stripos/extract() 2016-03-09 14:41:37 +01:00
Francois Laupretre 1c3e1a3d28 substr_count(): Support negative values for '$offset' and '$length' parameters. 2016-03-09 14:41:37 +01:00
Francois Laupretre 56fce8990f strpos()/stripos(): Add support for negative offsets 2016-03-09 14:41:37 +01:00
Francois Laupretre 370b7039e4 Add support for negative string offsets (syntax) 2016-03-09 14:41:37 +01:00
Anatol Belski aa2cf3a4f2 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix SKIPIF sections
2016-03-09 14:29:03 +01:00
Anatol Belski 86229f9943 fix SKIPIF sections 2016-03-09 14:28:38 +01:00
Anatol Belski d6aba2981c Merge branch 'PHP-7.0'
* PHP-7.0:
  fix directory separator
2016-03-09 14:17:44 +01:00
Anatol Belski a2022fd82a Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix directory separator
2016-03-09 14:17:30 +01:00
Anatol Belski a1d1f54b42 fix directory separator 2016-03-09 14:16:29 +01:00
Xinchen Hui f2d2e8ceb9 arena_alloc never returns NULL 2016-03-09 18:05:28 +08:00
Xinchen Hui 14fec3adf9 Suppress warnings 2016-03-09 18:01:29 +08:00
Xinchen Hui 352456ed9a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71729 (Possible crash in zend_bin_strtod, zend_oct_strtod, zend_hex_strtod)
2016-03-09 12:16:46 +08:00
Xinchen Hui 9aa73d3800 Fixed bug #71729 (Possible crash in zend_bin_strtod, zend_oct_strtod, zend_hex_strtod) 2016-03-09 12:16:24 +08:00
Anatol Belski 58c82ff0b0 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix regression introduced in 5683b6fa39
2016-03-08 13:16:46 +01:00
Anatol Belski 7a4c2fa829 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix regression introduced in 5683b6fa39
2016-03-08 13:16:08 +01:00
Anatol Belski 8ca02bb233 fix regression introduced in 5683b6fa39
Test extended. Basically, both iterator type and next node have
to be checked.
2016-03-08 12:59:59 +01:00
Anatol Belski 69d3b01d9c Merge branch 'PHP-7.0'
* PHP-7.0:
  fix incompatible pointers on 64-bit
2016-03-07 22:05:46 +01:00
Anatol Belski 89a4342507 fix incompatible pointers on 64-bit 2016-03-07 22:01:44 +01:00
Anatol Belski 45894d922f Merge branch 'PHP-7.0'
* PHP-7.0:
  fix double free and move temps into local scope
  add error check
2016-03-07 16:40:23 +01:00
Anatol Belski f7e81fd9f1 fix double free and move temps into local scope 2016-03-07 16:38:47 +01:00
Anatol Belski 0fccddba75 add error check 2016-03-07 16:26:01 +01:00
Nikita Popov 35b34d7235 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_language_scanner.c
2016-03-06 21:39:20 +01:00
Nikita Popov 860dc17ab7 Fixed bug #71724 2016-03-06 21:38:21 +01:00
Anatol Belski df87963b90 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix ibase connection routine
2016-03-04 12:27:43 +01:00
Anatol Belski be5bbe7068 fix ibase connection routine
followup on a7028d96
2016-03-04 12:26:25 +01:00
Anatol Belski b360ba651d fix initializer for empty_fcall_info 2016-03-04 10:57:38 +01:00
Nikita Popov 5a0594d12d Merge branch 'PHP-7.0' 2016-03-03 23:50:51 +01:00
Tjerk Meesters a7028d9671 Fix one zpp usage in interbase
Also small tweak to zpp REAME
2016-03-03 23:50:02 +01:00
Nikita Popov 7ed893712f Merge branch 'PHP-7.0'
Conflicts:
	ext/mysqlnd/mysqlnd_priv.h
	main/php_streams.h
2016-03-03 23:20:50 +01:00
Nikita Popov 5602f64213 Eliminate usages of _PP macros
These are either in debug code (fix them), commented out (drop
them) or in dead compatibility macros (drop them).

One usage was in php_stream_get_from_zval(), which we have not used
since at least PHP 5.2 and, judging from the fact that nobody
complained about it causing compile errors in PHP 7, nobody else
uses it either, so drop it.

There are still remaining uses in mysqli embedded and odbc birdstep.
These probably need to be dropped outright.
2016-03-03 23:20:12 +01:00
Nikita Popov 6c8dd3eb04 Merge branch 'PHP-7.0' 2016-03-03 19:27:41 +01:00
Nikita Popov 3240dd93b3 Merge branch 'PHP-5.6' into PHP-7.0 2016-03-03 19:27:35 +01:00
Christoph M. Becker 2d4ad66ff2 Fixed bug #69953
Added support for MKCALENDAR request method in CLI web server.
2016-03-03 19:22:38 +01:00
Nikita Popov 457aa82bd4 Merge branch 'PHP-7.0' 2016-03-03 17:30:05 +01:00
Nikita Popov 159602bd86 Merge branch 'PHP-5.6' into PHP-7.0 2016-03-03 17:29:58 +01:00
Anton Blanchard ccd215a517 Additional improvements to crypt() detection code
Reformat to normalize tabs vs spaces, return 1 if crypt.h not
defined, fix C99 compliance.
2016-03-03 17:28:34 +01:00
Nikita Popov 536b08fa18 Merge branch 'PHP-7.0' 2016-03-03 17:14:25 +01:00
Nikita Popov 5a01605b4b Merge branch 'PHP-5.6' into PHP-7.0 2016-03-03 17:14:18 +01:00
Michael Orlitzky 08fce8e2c5 ext/standard/config.m4: fix crypt() test segfaults in >=glibc-2.17.
Starting with glibc-2.17, the crypt() function will report an EINVAL
and return NULL when the format of the "salt" parameter is
invalid. The current tests for crypt() pass its result to strcmp(),
causing segfaults when the value returned from crypt() is NULL.

This commit modifies the test programs to exit with failure when
crypt() returns NULL.

Reference: https://bugs.gentoo.org/show_bug.cgi?id=518964
2016-03-03 17:12:57 +01:00
Nikita Popov 1ce0187659 Bump API numbers
Otherwise can't distinguish 7.0 and 7.1. Gotta add those #if's for
the FCI change...
2016-03-03 17:02:51 +01:00
Nikita Popov f57c0b3249 Merge branch 'PHP-7.0' 2016-03-03 16:50:47 +01:00
Nikita Popov 1ac152938c Move semicolon into TSRMLS_CACHE_EXTERN/DEFINE
Also re bug #71575.
2016-03-03 16:50:01 +01:00
James Titcumb c4b188871e Fix bug #71575 removing extra semicolons outside macros 2016-03-03 16:41:03 +01:00
Nikita Popov 5527c5b083 Merge branch 'PHP-5.6' into PHP-7.0 2016-03-03 16:38:13 +01:00
Nikita Popov a4e56194d7 Fix intermixed SKIPIF and XFAIL sections in test 2016-03-03 16:38:05 +01:00
Nikita Popov bdd578fcbb Disable upload_2G test on travis 2016-03-03 16:35:45 +01:00
Dmitry Stogov a9a26100b4 unpack() function accepts an additional optional argument $offset. 2016-03-03 13:49:45 +03:00
Anatol Belski de3e033010 Merge branch 'PHP-7.0'
* PHP-7.0:
  show correct MINFO with libpq >= 9.5.x
2016-03-02 17:06:03 +01:00
Anatol Belski 4f0042bead Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  show correct MINFO with libpq >= 9.5.x
2016-03-02 17:05:05 +01:00
Anatol Belski 2399c64eaf show correct MINFO with libpq >= 9.5.x 2016-03-02 17:03:20 +01:00
Dmitry Stogov c67c166f93 Removed zend_fcall_info.symbol_table 2016-03-02 17:50:55 +03:00
Dmitry Stogov 960b3755b3 Merge branch 'PHP-7.0'
* PHP-7.0:
  PHP-7 zend_call_function() doesn't support symbol_table substitution
2016-03-02 16:57:08 +03:00
Dmitry Stogov 908b662f7f PHP-7 zend_call_function() doesn't support symbol_table substitution 2016-03-02 16:56:39 +03:00
Dmitry Stogov 701edb8c82 Merge branch 'PHP-7.0'
* PHP-7.0:
  Better fix for IS_INDIRECT support in zend_hash_merge()
2016-03-02 15:09:50 +03:00
Dmitry Stogov b6bbe33f05 Better fix for IS_INDIRECT support in zend_hash_merge() 2016-03-02 15:09:04 +03:00
Dmitry Stogov 95eda16fe9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test (sizeof(zend_string) is different on 32 and 64-bit systems)
2016-03-02 13:03:22 +03:00
Julien Pauli 914d33c40e Going for 5.5.34 2016-03-02 11:02:42 +01:00
Dmitry Stogov afedd4fd59 Fixed test (sizeof(zend_string) is different on 32 and 64-bit systems) 2016-03-02 13:01:42 +03:00
Dmitry Stogov e66ac376cf Merge branch 'PHP-7.0'
* PHP-7.0:
  Introduce zend_symtable_exists_ind() for API consistency
2016-03-02 11:54:44 +03:00
Dmitry Stogov ab800642df Introduce zend_symtable_exists_ind() for API consistency 2016-03-02 11:53:47 +03:00
Stanislav Malyshev f2656af7df Merge branch 'PHP-7.0'
* PHP-7.0:
  fix wddx merge
2016-03-02 00:03:09 -08:00
Stanislav Malyshev 1ce0ea7396 fix wddx merge 2016-03-02 00:02:33 -08:00
Stanislav Malyshev 2e874114a2 Merge branch 'PHP-7.0'
* PHP-7.0: (25 commits)
  Update NEWS
  update NEWS
  fix test file
  Fix version
  update NEWS
  Update NEWS
  Fix bug #71610: Type Confusion Vulnerability - SOAP / make_http_soap_request()
  Fix bug #71637: Multiple Heap Overflow due to integer overflows
  extend check for add_flag
  Fixed another segfault with file_cache_only now
  set version
  fix nmake clean in phpize mode
  Fixed segfault with file_cache_only
  Fixed possible crash at PCRE on MSHUTDOWN
  Fixed more synchronisation issues during SHM reload
  Set proper type flags (REFCOUNTED and COPYABLE) according to interned or regular string
  sync with improvements in NEWS
  Fixed process synchronisation problem, that may cause crashes after opcache restart
  Fix bug #71610: Type Confusion Vulnerability - SOAP / make_http_soap_request()
  Fix bug #71637: Multiple Heap Overflow due to integer overflows
  ...
2016-03-01 23:11:42 -08:00
Stanislav Malyshev 6823ee923d Update NEWS 2016-03-01 23:09:47 -08:00
Stanislav Malyshev 22d8e9aced Merge branch 'PHP-7.0.4' into PHP-7.0
* PHP-7.0.4: (21 commits)
  update NEWS
  fix test file
  Fix version
  update NEWS
  Update NEWS
  Fix bug #71610: Type Confusion Vulnerability - SOAP / make_http_soap_request()
  Fix bug #71637: Multiple Heap Overflow due to integer overflows
  extend check for add_flag
  Fixed another segfault with file_cache_only now
  set version
  fix nmake clean in phpize mode
  Fixed segfault with file_cache_only
  Fixed possible crash at PCRE on MSHUTDOWN
  Fixed more synchronisation issues during SHM reload
  Set proper type flags (REFCOUNTED and COPYABLE) according to interned or regular string
  sync with improvements in NEWS
  Fixed process synchronisation problem, that may cause crashes after opcache restart
  Fix bug #71498: Out-of-Bound Read in phar_parse_zipfile()
  fix ts buld
  prep for 5.6.19RC1
  ...

Conflicts:
	configure.in
	main/php_version.h
2016-03-01 23:08:19 -08:00
Stanislav Malyshev 499c1e81a1 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:php-src:
  limit size of result set so unit test runs reliably
2016-03-01 23:07:49 -08:00
Stanislav Malyshev c69d80d701 update NEWS 2016-03-01 23:07:32 -08:00
Stanislav Malyshev 90a0cbd594 Merge branch 'PHP-5.6.19' into PHP-7.0.4
* PHP-5.6.19:
  fix test file
  Fix version
  update NEWS
  Update NEWS
  Fix bug #71498: Out-of-Bound Read in phar_parse_zipfile()
  fix ts buld
  prep for 5.6.19RC1
  5.6.20 is next
  Fixed bug #71587 - Use-After-Free / Double-Free in WDDX Deserialize

Conflicts:
	configure.in
	ext/wddx/wddx.c
	main/php_version.h
2016-03-01 23:01:48 -08:00
Stanislav Malyshev b3bb1aacfe Merge branch 'PHP-5.6.19' into PHP-5.6
* PHP-5.6.19:
  fix test file
  Fix version
  Update NEWS
2016-03-01 22:56:08 -08:00
Stanislav Malyshev 6e6a556b8c Merge branch 'PHP-5.5' into PHP-5.6.19
* PHP-5.5:
  fix test file
  Fix version
  Update NEWS
2016-03-01 22:55:49 -08:00
Stanislav Malyshev 3c8ccdd9d3 fix test file 2016-03-01 22:55:02 -08:00
Stanislav Malyshev 54df59b729 Fix version 2016-03-01 22:47:27 -08:00
Stanislav Malyshev ae3f132be1 Merge branch 'PHP-5.6.19' into PHP-5.6
* PHP-5.6.19:
  update NEWS
  Fix bug #71498: Out-of-Bound Read in phar_parse_zipfile()
  fix ts buld
  prep for 5.6.19RC1
  Fixed bug #71587 - Use-After-Free / Double-Free in WDDX Deserialize
2016-03-01 22:42:16 -08:00
Stanislav Malyshev a0bbac550e update NEWS 2016-03-01 22:41:10 -08:00
Stanislav Malyshev 91990bbde0 Merge branch 'PHP-5.5.33' into PHP-5.6.19
* PHP-5.5.33:
  Fix bug #71498: Out-of-Bound Read in phar_parse_zipfile()
  Fixed bug #71587 - Use-After-Free / Double-Free in WDDX Deserialize
2016-03-01 22:40:00 -08:00
Stanislav Malyshev 153a44d6bb Update NEWS 2016-03-01 22:37:23 -08:00
Stanislav Malyshev 07b6fc93b1 Fix bug #71610: Type Confusion Vulnerability - SOAP / make_http_soap_request() 2016-03-01 22:32:38 -08:00
Stanislav Malyshev 9cabc99fce Fix bug #71637: Multiple Heap Overflow due to integer overflows 2016-03-01 22:32:38 -08:00
Xinchen Hui 289e492251 Merge branch 'PHP-7.0'
* PHP-7.0:
  limit size of result set so unit test runs reliably
2016-03-02 14:27:20 +08:00
Xinchen Hui db68b8ea54 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  limit size of result set so unit test runs reliably
2016-03-02 14:27:09 +08:00
Xinchen Hui 20add1e530 Merge branch 'PHP-5.6-bug_69757' of https://github.com/wayfair/php-src into PHP-5.6
* 'PHP-5.6-bug_69757' of https://github.com/wayfair/php-src:
  limit size of result set so unit test runs reliably
2016-03-02 14:26:34 +08:00
Stanislav Malyshev 6f8585fc7d Merge branch 'PHP-7.0.4' into PHP-7.0
* PHP-7.0.4:
  Fix bug #71610: Type Confusion Vulnerability - SOAP / make_http_soap_request()
  Fix bug #71637: Multiple Heap Overflow due to integer overflows
  set versions

Conflicts:
	configure.in
	main/php_version.h
2016-03-01 22:22:47 -08:00
Xinchen Hui 14f105ebba Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test ext/readline/tests/readline_read_history_error_001.phpt
2016-03-02 12:31:30 +08:00
Xinchen Hui 3fb566f475 Fixed test ext/readline/tests/readline_read_history_error_001.phpt
This only pass with libedit
2016-03-02 12:29:15 +08:00
Xinchen Hui f4f140c05d Merge branch 'PHP-7.0'
* PHP-7.0:
  Use hash_exists_ind in symbol table
2016-03-02 12:12:12 +08:00
Xinchen Hui 2d4186dde7 Use hash_exists_ind in symbol table 2016-03-02 12:11:13 +08:00
Nikita Popov 565f6bd374 Merge branch 'PHP-7.0' 2016-03-02 00:38:33 +01:00
Nikita Popov 726e87e142 Merge branch 'PHP-5.6' into PHP-7.0 2016-03-02 00:37:40 +01:00
Nikita Popov 471540d285 Fix intermittent failure of bug_68819_002.phpt
The test used rand(32, 127) to select the character, however
chr(127) results in "data" instead of the expected result, so this
test would fail in something like 1% of the runs.

Replace rand() with fixed character "a".
2016-03-02 00:34:36 +01:00
Nikita Popov 1d91b4e410 Merge branch 'PHP-7.0' 2016-03-01 23:33:05 +01:00
Nikita Popov dea2e1bc64 Merge branch 'PHP-5.6' into PHP-7.0 2016-03-01 23:32:47 +01:00
mpyw 0bbea60524 Fix bug #71694
Exports contants CURLM_ADDED_ALREADY.
2016-03-01 23:31:58 +01:00
Adam Baratz 2e18d438b0 limit size of result set so unit test runs reliably 2016-03-01 17:15:36 -05:00
Xinchen Hui 715a198e1f Merge branch 'PHP-7.0'
* PHP-7.0:
  Maybe we should introduce a symtable_exists_ind
2016-03-01 20:01:19 +08:00
Xinchen Hui 961c8d568d Maybe we should introduce a symtable_exists_ind 2016-03-01 20:01:02 +08:00
Xinchen Hui b17d2ad5f6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71695 (Global variables are reserved before execution).
2016-03-01 19:21:16 +08:00
Xinchen Hui 996760f104 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  remove unused vars
  fix possible pointer truncation on win64
  Updated NEWS
  extend check for add_flag
  LDAP - Added support to change the certificates verification
2016-03-01 19:20:57 +08:00
Xinchen Hui 186844be92 Fixed bug #71695 (Global variables are reserved before execution).
Instead of slow down hash_merge, we may also check the array(whether it
contains INDIRECT) outside of the loop, however, consisdering hash_merge
is not widly used, I prefer fix this in the current way to keep the
codes simple
2016-03-01 19:19:07 +08:00
Anatol Belski b402da28a1 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove unused vars
  fix possible pointer truncation on win64
2016-03-01 11:10:31 +01:00
Anatol Belski 655e5dd99d remove unused vars 2016-03-01 10:52:49 +01:00
Anatol Belski acbbe76d7b fix possible pointer truncation on win64 2016-03-01 10:51:55 +01:00
Anatol Belski 3e6a4b6e99 Merge branch 'PHP-7.0'
* PHP-7.0:
  Updated NEWS
2016-03-01 10:15:13 +01:00
Côme Bernigaud afcce5ceca Updated NEWS 2016-03-01 09:56:19 +01:00
Anatol Belski bb80c00a00 extend check for add_flag 2016-03-01 09:37:50 +01:00
Anatol Belski d789c4ceb0 Merge branch 'PHP-7.0'
* PHP-7.0:
  extend check for add_flag
2016-03-01 09:36:36 +01:00
Anatol Belski 0df2575e9f extend check for add_flag 2016-03-01 09:36:07 +01:00
Xinchen Hui 08af2f9a11 Fixed another segfault with file_cache_only now 2016-03-01 08:21:14 +01:00
Côme Bernigaud 3d5b462c94 Merge branch 'PHP-7.0'
* PHP-7.0:
  LDAP - Added support to change the certificates verification
2016-03-01 05:00:16 +01:00
Edwin Hoksberg ba96506676 LDAP - Added support to change the certificates verification 2016-03-01 04:59:30 +01:00
Xinchen Hui 42788d6b72 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
2016-03-01 10:51:52 +08:00
Xinchen Hui dd47b3b963 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed another segfault with file_cache_only now
  Fixed bugs #71317 and #71504
  add test for bug #68957
  update NEWS
  update NEWS
  Fixed #54648 PDO::MSSQL forces format of datetime fields
  remove unneeded free parts
  fix leaks and add one more NULL check
  add NULL check
  fix C89 compat
  fix arg type
  fix nmake clean in phpize mode
2016-03-01 10:51:36 +08:00
Xinchen Hui 9fc0517328 Fixed another segfault with file_cache_only now 2016-03-01 10:50:56 +08:00
Nikita Popov ef497183b5 Merge branch 'PHP-7.0' 2016-02-29 22:44:58 +01:00
Nikita Popov a6afaa9a85 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/phar/tar.c
2016-02-29 22:44:46 +01:00
Jos Elstgeest 50b4cafd28 Fixed bugs #71317 and #71504
If there are duplicate filenames in tar, the last one wins.
2016-02-29 22:34:35 +01:00
Anatol Belski 4a66b01639 set version 2016-02-29 20:44:00 +01:00
Jakub Zelenka 7a4cc73641 Merge branch 'openssl_error_store' into openssl_aead_with_error_store 2016-02-29 19:34:39 +00:00
Jakub Zelenka 70141093a7 Merge branch 'master' into openssl_aead 2016-02-29 19:31:20 +00:00
Jakub Zelenka 80015ba741 Merge branch 'PHP-7.0' into openssl_error_store 2016-02-29 19:28:40 +00:00
Anatol Belski 97294aca7e Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for bug #68957
2016-02-29 18:44:36 +01:00
Anatol Belski 31dc08a904 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add test for bug #68957
2016-02-29 18:44:15 +01:00
Anatol Belski d78220fb2c add test for bug #68957 2016-02-29 18:43:03 +01:00
Anatol Belski 25d8ca1f70 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-02-29 18:27:08 +01:00
Anatol Belski 7a14a286bd update NEWS 2016-02-29 18:26:48 +01:00
Anatol Belski 128cc4bc9d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-02-29 18:26:08 +01:00
Anatol Belski c49d9f0684 update NEWS 2016-02-29 18:25:16 +01:00
Anatol Belski af3b857171 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed #54648 PDO::MSSQL forces format of datetime fields
2016-02-29 17:08:13 +01:00
Anatol Belski 56ab4a6096 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed #54648 PDO::MSSQL forces format of datetime fields
2016-02-29 17:07:05 +01:00
Anatol Belski 53c036b30b Fixed #54648 PDO::MSSQL forces format of datetime fields
adopted patch by steven dot lambeth at gmx dot de
2016-02-29 17:04:49 +01:00
Anatol Belski 094a98ab45 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove unneeded free parts
2016-02-29 16:31:00 +01:00
Anatol Belski 44c3f1492f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  remove unneeded free parts
2016-02-29 16:30:33 +01:00
Anatol Belski 7816698580 remove unneeded free parts
See bug #71667, free_statement already does the job
2016-02-29 16:26:46 +01:00
Anatol Belski 0f3417320e Merge branch 'PHP-7.0'
* PHP-7.0:
  fix leaks and add one more NULL check
  add NULL check
  fix C89 compat
  fix arg type
2016-02-29 15:49:28 +01:00
Anatol Belski f806fedd80 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix leaks and add one more NULL check
  add NULL check
  fix C89 compat
  fix arg type
2016-02-29 15:48:51 +01:00
Anatol Belski d7fd614cc6 fix leaks and add one more NULL check 2016-02-29 15:38:42 +01:00
Anatol Belski a310c3b484 add NULL check 2016-02-29 15:26:57 +01:00
Anatol Belski efaafd45b4 fix C89 compat 2016-02-29 15:24:31 +01:00
Anatol Belski 35be4398d1 fix arg type 2016-02-29 15:23:53 +01:00
Anatol Belski 273bb7e9c0 fix nmake clean in phpize mode 2016-02-29 14:58:49 +01:00
Anatol Belski 77c64c335a Merge branch 'PHP-7.0'
* PHP-7.0:
  fix nmake clean in phpize mode
2016-02-29 14:48:28 +01:00
Anatol Belski 9ccf3a0292 fix nmake clean in phpize mode 2016-02-29 11:00:09 +01:00
Xinchen Hui 015dbb26a7 Merge branch 'PHP-7.0'
* PHP-7.0:
  The test self should be fixed(maybe relates to env?)
2016-02-29 15:19:46 +08:00
Xinchen Hui b79b036a31 The test self should be fixed(maybe relates to env?)
Revert "Fixed test ext/readline/tests/readline_read_history_error_001.phpt"

This reverts commit 69e26f9f8f.
2016-02-29 15:19:18 +08:00
Xinchen Hui bb9fdd25bc Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Fixed test ext/readline/tests/readline_read_history_error_001.phpt"
2016-02-29 15:10:23 +08:00
Xinchen Hui 1d22fb2ed5 Revert "Fixed test ext/readline/tests/readline_read_history_error_001.phpt"
This reverts commit 69e26f9f8f.
2016-02-29 15:10:17 +08:00
Xinchen Hui bb4d2f6577 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test ext/readline/tests/readline_read_history_error_001.phpt
2016-02-29 15:08:11 +08:00
Xinchen Hui d0b3a72cea Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  test fixes
  update NEWS
  Fix bug #71536 Access Violation crashes php-cgi.exe
2016-02-29 15:07:38 +08:00
Xinchen Hui 69e26f9f8f Fixed test ext/readline/tests/readline_read_history_error_001.phpt 2016-02-29 15:07:19 +08:00
Nikita Popov a1c48d5e3a Various SSA-related tweaks
* Add FETCH_LIST to inference
* Restrict JMP_SET/COALESCE result type
* Fix typos in range inference
* Add const annotations in zend_ssa.h
* For pi statements dump the associated predecessor block
* If type can be both true and false, dump bool instead
2016-02-28 21:38:34 +01:00
Xinchen Hui 6adfc20f04 Fixed segfault with file_cache_only 2016-02-28 15:54:01 +01:00
Anatol Belski ff1f178d84 Merge branch 'PHP-7.0'
* PHP-7.0:
  test fixes
2016-02-28 11:53:55 +01:00
Anatol Belski f738abab85 test fixes 2016-02-28 11:53:21 +01:00
Anatol Belski d674a656e9 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fix bug #71536 Access Violation crashes php-cgi.exe
2016-02-28 11:07:32 +01:00
Anatol Belski 0ac0604b30 update NEWS 2016-02-28 11:06:55 +01:00
Anatol Belski 93592a9c08 Fix bug #71536 Access Violation crashes php-cgi.exe 2016-02-28 11:02:01 +01:00
Xinchen Hui 3ab86e18cc Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed segfault with file_cache_only
2016-02-28 11:50:28 +08:00
Xinchen Hui 8c053d44e4 Fixed segfault with file_cache_only 2016-02-28 11:50:06 +08:00
Nikita Popov 9a45e920aa Support dropping rc1/rcn from dumps
For non-JIT we're not interested in rc inference.
2016-02-27 15:36:04 +01:00
Nikita Popov 8d758e7be9 Fix dominator tree construction
The used dominator intersection algorithm assumes a postorder
numbering of the CFG. The reversal of our natural numbering is
quite similar to postorder, but not the same.

In the future we should precompute both preorder/postorder
numberings and orderings, as these are useful in many places.
2016-02-27 15:10:18 +01:00
Dmitry Stogov 2e94cba430 Use quick check for first arguments 2016-02-26 21:44:28 +03:00
Dmitry Stogov b8e30a492a Use more general optimisation patterns 2016-02-26 21:02:41 +03:00
Dmitry Stogov e2bf86fbfd Fixed possible crash at PCRE on MSHUTDOWN 2016-02-26 15:14:20 +01:00
Dmitry Stogov ecea7d3d35 Fixed more synchronisation issues during SHM reload 2016-02-26 15:14:01 +01:00
Dmitry Stogov e65cc72cb6 Set proper type flags (REFCOUNTED and COPYABLE) according to interned or regular string 2016-02-26 15:13:48 +01:00
Xinchen Hui b378c7cff1 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71660 (array_column behaves incorrectly after foreach by reference)
2016-02-25 16:07:38 +08:00
Xinchen Hui c299b272c7 Fixed bug #71660 (array_column behaves incorrectly after foreach by reference) 2016-02-25 16:07:22 +08:00
Nikita Popov a1c9bd8803 Merge branch 'PHP-7.0' 2016-02-24 22:35:14 +01:00
Nikita Popov fd561505f4 Fix construction of AO with overloaded object error
a) Fix uses of zend_string in error message
b) Don't assign the overloaded object as the backing storage, that
   sort of defeats the point. Instead leave the previous value.
2016-02-24 22:34:50 +01:00
Nikita Popov 0aa7163816 Fix AO object properties separation 2016-02-24 22:34:50 +01:00
Nikita Popov 079f2f7eb3 Forbid exchangeArray() during sorting
Previously this would leak.
2016-02-24 22:34:50 +01:00
Nikita Popov b657554585 Fix typo in foreach_017.phpt 2016-02-24 22:34:50 +01:00
Dmitry Stogov 2517835c64 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed possible crash at PCRE on MSHUTDOWN
2016-02-24 23:47:05 +03:00
Dmitry Stogov 6842a3674d Fixed possible crash at PCRE on MSHUTDOWN 2016-02-24 23:46:11 +03:00
Dmitry Stogov 1a46917740 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed more synchronisation issues during SHM reload
2016-02-24 21:16:35 +03:00
Dmitry Stogov 43366f8ba8 Fixed more synchronisation issues during SHM reload 2016-02-24 21:15:53 +03:00
Nikita Popov 55c0de8f95 Merge branch 'PHP-7.0' 2016-02-24 17:44:33 +01:00
Nikita Popov eb885e9d6e Fix leak on assignment to illegal AO offset 2016-02-24 17:39:16 +01:00
Nikita Popov ea02f57656 Don't use ht applyCount for AO sorting protection
Instead use the AOs own applyCount that just got freed up. Using the
apply count of the HashTable has various side effects, e.g. preventing
the ArrayObject from being dumped.
2016-02-24 17:18:07 +01:00
Nikita Popov 38db6ff306 Remove recursion checks from AO get_properties
These are pointless, there is no recursion (of that kind) happening
there.
2016-02-24 17:10:28 +01:00
Nikita Popov 3ea877ca15 Fix "Call to member function on unknown"
Should be "on null".
2016-02-24 17:00:25 +01:00
Nikita Popov 9d137f37fc Merge branch 'PHP-7.0' 2016-02-24 14:09:14 +01:00
Nikita Popov d1057cc139 Fixed bug #71470
Don't report hashtable iterator leaks on unclean shutdown, those
are expected.
2016-02-24 14:09:03 +01:00
Anatol Belski a3b1df41c0 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NEWS
2016-02-24 12:30:00 +01:00
Anatol Belski bb2856b28c fix NEWS 2016-02-24 12:29:23 +01:00
Remi Collet 64631972bc Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NEWS
2016-02-24 12:26:37 +01:00
Remi Collet 17967ecda1 fix NEWS 2016-02-24 12:26:25 +01:00
Anatol Belski f14c0cc43a sync with improvements in NEWS 2016-02-24 12:23:26 +01:00
Anatol Belski d313d6aedd Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Port patch and test for bug #47803 to 7.0
2016-02-24 12:07:06 +01:00
Anatol Belski f463297c51 update NEWS 2016-02-24 12:06:35 +01:00
Anatol Belski c9778d3eb9 Port patch and test for bug #47803 to 7.0
See ff115e285a
2016-02-24 12:03:21 +01:00
Anatol Belski 69caec2c23 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  add test for bug #47803
  Fixed bug #47803
2016-02-24 11:57:46 +01:00
Anatol Belski 6e1862d0a8 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  add test for bug #47803
  Fixed bug #47803
2016-02-24 11:57:15 +01:00
Anatol Belski 7d7325246c update NEWS 2016-02-24 11:56:12 +01:00
Anatol Belski 90ad6e3c6c add test for bug #47803 2016-02-24 11:49:02 +01:00
Anatol Belski ff115e285a Fixed bug #47803
Executing prepared statements is succesfull only for the first two statements

The reworked patch descends to the bug #69526 which is fixed by
this as well. The broken logic in the current code was, that
SQLDescribeParam was executed in odbc_execute every time. This piece
is now moved into odbc_prepare and the results are carried on in an
additional structure.

Since the ext/odbc headers are not being currently installed and the
corresponding structs like odbc_result are not used outside ext/odbc,
the binary compatibility persists. Executing SQLDescribeParam only once
in odbc_prepare is also an optimization as the filds usually won't
change that fast and thus requestind the descriptions on every
execution is not required.
2016-02-24 11:40:35 +01:00
Dmitry Stogov ca779add4d Fixed process synchronisation problem, that may cause crashes after opcache restart 2016-02-24 10:54:37 +01:00
Dmitry Stogov 1481c61911 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71535 (Integer overflow in zend_mm_alloc_heap())
2016-02-24 11:05:58 +03:00
Dmitry Stogov 0b9c87a02b Fixed bug #71535 (Integer overflow in zend_mm_alloc_heap()) 2016-02-24 11:04:48 +03:00
Anatol Belski 85ade00465 fix callback signature compat 2016-02-23 18:18:34 +01:00
Anatol Belski c1b3a3d935 Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for bug #71171
2016-02-23 14:39:49 +01:00
Anatol Belski 01e85f3fdc add test for bug #71171 2016-02-23 14:39:17 +01:00
Anatol Belski 38e77fd4d4 Merge branch 'PHP-7.0'
* PHP-7.0:
  make ext/odbc test credentials configurable
2016-02-23 14:22:39 +01:00
Anatol Belski cd75429ad8 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  make ext/odbc test credentials configurable
2016-02-23 14:22:06 +01:00
Anatol Belski 9623d2dd83 make ext/odbc test credentials configurable 2016-02-23 14:21:04 +01:00
Nikita Popov 2d1559f827 Move free_chunk and resize_chunk into memory pool
Drops 24 bytes from each chunk. For the example in bug #71468 it
reduces memory usage by 30%.
2016-02-22 19:40:32 +01:00
Nikita Popov 42fe5e6791 Drop mysqlnd mempool refcount
This member was no longer used.

Also fix handling of from_pool in resize_chunk. It was setting
pool to NULL instead of from_pool to FALSE.
2016-02-22 19:40:32 +01:00
Remi Collet 79db0859f0 Merge branch 'PHP-7.0'
* PHP-7.0:
  missing include
2016-02-22 18:45:30 +01:00
Remi Collet 18e3b11d62 missing include 2016-02-22 18:45:18 +01:00
Remi Collet 29cc010829 Merge branch 'PHP-7.0'
* PHP-7.0:
  update bundled libzip to 1.1.2
2016-02-22 18:18:43 +01:00
Remi Collet 0d57c06b2c update bundled libzip to 1.1.2 2016-02-22 18:18:30 +01:00
Nikita Popov d5769d4234 Merge branch 'PHP-7.0' 2016-02-22 13:11:24 +01:00
Nikita Popov 78b29310bc Remove check_std_props arg from get_hash_table
get_properties() is the only place using it, so handle it only
there.
2016-02-22 13:09:54 +01:00
Nikita Popov 3f5c80e8c2 Don't recurse into USE_OTHER checking STD_PROP_LIST
If STD_PROP_LIST is explicitly disabled in the constructor, it
should really be disabled.
2016-02-22 13:04:19 +01:00
Nikita Popov 7e81b8adbb Merge branch 'PHP-7.0' 2016-02-22 12:40:30 +01:00
Nikita Popov 6c2ca18fe0 Fix typo in previous commit
Happened to be correct because array is the first member, but
definitely not what I wanted...
2016-02-22 12:39:07 +01:00
Nikita Popov e24bf80352 Merge branch 'PHP-7.0' 2016-02-22 12:35:09 +01:00
Nikita Popov fd6ac61064 Fix ArrayObject clone for certain USE_OTHER cases
We can't simply use HASH_OF, need to use the usual hash table
getter.
2016-02-22 12:35:00 +01:00
Nikita Popov 32e2801ff9 Use USE_OTHER for ArrayIterator cloning
intern->array should never be an array with refcount 2.
2016-02-22 12:35:00 +01:00
Remi Collet 54380cd56a Merge branch 'PHP-7.0'
* PHP-7.0:
  cleanup $Id
2016-02-22 09:26:48 +01:00
Remi Collet e8385a60b3 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  cleanup $Id
2016-02-22 09:26:14 +01:00
Remi Collet d20f1d8f1f cleanup $Id 2016-02-22 09:26:00 +01:00
Stanislav Malyshev eaf4e77190 Fix bug #71610: Type Confusion Vulnerability - SOAP / make_http_soap_request() 2016-02-21 23:45:57 -08:00
Stanislav Malyshev 57b997ebf9 Fix bug #71637: Multiple Heap Overflow due to integer overflows 2016-02-21 23:14:29 -08:00
Stanislav Malyshev 6ae4c11b45 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71629: sync php_url_decode definition
2016-02-21 17:11:51 -08:00
Stanislav Malyshev d25e67eee6 Fix bug #71629: sync php_url_decode definition 2016-02-21 17:11:34 -08:00
Stanislav Malyshev a6fdc5bb27 Fix bug #71498: Out-of-Bound Read in phar_parse_zipfile() 2016-02-21 16:51:05 -08:00
Nikita Popov 37d1bbe456 Merge branch 'PHP-7.0' 2016-02-21 13:01:28 +01:00
Nikita Popov 0bd64b50b8 Fixed bug #71617 2016-02-21 13:00:37 +01:00
Remi Collet 7a15656b5c Merge branch 'PHP-7.0'
* PHP-7.0:
  cleanup, ext/json is simple PHP now
2016-02-20 17:43:09 +01:00
Remi Collet 2ecc0c1085 cleanup, ext/json is simple PHP now 2016-02-20 17:42:53 +01:00
Dmitry Stogov 11a43f10de Added comments about special functions 2016-02-19 15:44:11 +03:00
Dmitry Stogov dc33c79a65 Evaluate ord(<string>), chr(<int>) and defined(<persistent-constant>) at compile time 2016-02-19 14:14:27 +03:00
Andrea Faulds 8b410c5705 Merge branch 'PHP-7.0' 2016-02-18 22:37:51 +00:00
Andrea Faulds a50c31da19 Test that mt_rand() consistently produces the wrong results
See 6f6bd8ce53 and its revert,
a0724d3081.
2016-02-18 22:35:44 +00:00
Dmitry Stogov 0f39f080d1 Fixed incorrrect merge (regenrate zend_vm_execute.h) 2016-02-19 00:09:17 +03:00
Dmitry Stogov 791b8f0c89 Merge branch 'PHP-7.0'
* PHP-7.0:
  Set proper type flags (REFCOUNTED and COPYABLE) according to interned or regular string
2016-02-18 23:18:56 +03:00
Dmitry Stogov 796e1629b0 Set proper type flags (REFCOUNTED and COPYABLE) according to interned or regular string 2016-02-18 23:15:38 +03:00
Dmitry Stogov 8a6c5be106 Merge branch 'PHP-7.0'
* PHP-7.0:
  Better fix for bug #71622 (Strings used in pass-as-reference cannot be used to invoke C::$callable())
2016-02-18 23:15:28 +03:00
Dmitry Stogov 25fbb06e2d Better fix for bug #71622 (Strings used in pass-as-reference cannot be used to invoke C::$callable()) 2016-02-18 23:14:46 +03:00
Anatol Belski 7839ff5e24 Merge branch 'PHP-7.0'
* PHP-7.0:
  refix broken 20ca0b89bd
2016-02-18 19:52:04 +01:00
Anatol Belski 830b2bd368 refix broken 20ca0b89bd 2016-02-18 19:51:18 +01:00
Anatol Belski 9f22301652 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix typo
2016-02-18 19:45:22 +01:00
Anatol Belski 9ac01060f9 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0 2016-02-18 19:44:58 +01:00
Anatol Belski f7dfee7b40 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-02-18 19:43:48 +01:00
Anatol Belski 7f7dce3cd6 update NEWS 2016-02-18 19:43:27 +01:00
Anatol Belski bbaece44ee Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-02-18 19:43:03 +01:00
Anatol Belski bbce94ed78 update NEWS 2016-02-18 19:42:18 +01:00
Anatol Belski fe7076814e Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for bug #71625, 7 variant
  add test for bug #71625
2016-02-18 19:40:39 +01:00
Anatol Belski b3df715f50 add test for bug #71625, 7 variant 2016-02-18 19:40:17 +01:00
Anatol Belski 4564b4c8f6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add test for bug #71625
2016-02-18 19:39:30 +01:00
Anatol Belski 688b914217 add test for bug #71625 2016-02-18 19:38:39 +01:00
Rasmus Lerdorf 20ca0b89bd Fix typo 2016-02-18 10:35:53 -08:00
Anatol Belski 04260664bd Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71625 Crash in php7.dll with bad phar filename
2016-02-18 19:34:22 +01:00
Anatol Belski 9a5797976a Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71625 Crash in php7.dll with bad phar filename
2016-02-18 19:33:27 +01:00
Anatol Belski 0445abd547 Fixed bug #71625 Crash in php7.dll with bad phar filename 2016-02-18 19:32:08 +01:00
Anatol Belski 0ce5920aa9 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-02-18 19:18:18 +01:00
Anatol Belski 150e3804b9 update NEWS 2016-02-18 19:17:54 +01:00
Anatol Belski 148eba2afd Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-02-18 19:17:22 +01:00
Anatol Belski f613d89501 update NEWS 2016-02-18 19:16:39 +01:00
Anatol Belski 2a1dffbaf0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Bug #71596 Segmentation fault on ZTS with date function (setlocale)
2016-02-18 19:14:37 +01:00
Anatol Belski 4b5cce269b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Bug #71596 Segmentation fault on ZTS with date function (setlocale)
2016-02-18 19:14:22 +01:00
Anatol Belski 632fc51d98 Bug #71596 Segmentation fault on ZTS with date function (setlocale) 2016-02-18 19:13:07 +01:00
Bob Weinand 2dc9aa9bea Merge branch 'PHP-7.0' 2016-02-18 13:54:19 +01:00
Bob Weinand 3ce6ad9d13 Fixed bug #71622 (Strings used in pass-as-reference cannot be used to invoke C::$callable()) 2016-02-18 13:53:15 +01:00
Leigh 50482d66e0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Fix #71152: mt_rand() returns the different values from original mt19937ar.c"

`mt_rand()` is seedable with `mt_srand()` which means it can be used to (re)produce specific streams of numbers. All code (no matter how few instances that may be) that previously depended on this behaviour will no longer produce the same results.

This kind of change needs to be discussed before being committed
2016-02-18 11:25:15 +00:00
Leigh a0724d3081 Revert "Fix #71152: mt_rand() returns the different values from original mt19937ar.c"
This reverts commit 6f6bd8ce53.

`mt_rand()` is seedable with `mt_srand()` which means it can be used to (re)produce specific streams of numbers. All code (no matter how few instances that may be) that previously depended on this behaviour will no longer produce the same results.

This kind of change needs to be discussed before being committed.
2016-02-18 11:09:01 +00:00
Anatol Belski 68a51ae953 fix ts buld 2016-02-18 10:31:24 +01:00
Lior Kaplan d051fbc1e5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Sort 7.0.4 extensions by name, merge FPM entries
2016-02-18 11:25:10 +02:00
Lior Kaplan aa383d633e Sort 7.0.4 extensions by name, merge FPM entries 2016-02-18 11:24:03 +02:00
Stanislav Malyshev 5c79cc5290 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove TSRMLS_* from code, they are not used anymore
2016-02-17 22:44:50 -08:00
Stanislav Malyshev 9afb29aa68 Remove TSRMLS_* from code, they are not used anymore 2016-02-17 22:44:05 -08:00
Stanislav Malyshev d7e10fb1d2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove TSRMLS_* from docs as it's not used anymore

Conflicts:
	ext/intl/ERROR.CONVENTIONS
2016-02-17 22:37:03 -08:00
Stanislav Malyshev cf842f1064 Remove TSRMLS_* from docs as it's not used anymore 2016-02-17 22:36:01 -08:00
Anatol Belski 1ea9f24814 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix ts buld
2016-02-18 07:13:14 +01:00
Anatol Belski 491925bc53 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix ts buld
2016-02-18 07:12:42 +01:00
Anatol Belski a329dc70e9 fix ts buld 2016-02-18 07:11:36 +01:00
Xinchen Hui 2068bb1a11 Missed semicolon 2016-02-18 12:04:27 +08:00
Ferenc Kovacs c3eeb8092a prep for 5.6.19RC1 2016-02-18 01:26:18 +01:00
Ferenc Kovacs 030b7ba06c Merge branch 'PHP-7.0'
* PHP-7.0:
  5.6.20 is next
2016-02-18 00:32:48 +01:00
Ferenc Kovacs e87ac6de31 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  5.6.20 is next
2016-02-18 00:32:15 +01:00
Ferenc Kovacs 4762ed4d27 5.6.20 is next 2016-02-18 00:31:18 +01:00
Bob Weinand eea576d589 Merge branch 'PHP-7.0' 2016-02-17 20:28:07 +01:00
Bob Weinand 055b411218 Fix crash when advancing inside an internal function
This just happened in the "double ctrl+c" mode, when we halted inside an internal function; there was some code assuming a proper op_array
2016-02-17 20:27:46 +01:00
Dmitry Stogov bbea2ae048 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed process synchronisation problem, that may cause crashes after opcache restart
2016-02-17 13:59:20 +03:00
Dmitry Stogov d228752939 Fixed process synchronisation problem, that may cause crashes after opcache restart 2016-02-17 13:58:05 +03:00
Xinchen Hui 9360b0c6fc Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix #71152: mt_rand() returns the different values from original mt19937ar.c

Conflicts:
	ext/standard/rand.c
2016-02-17 11:33:44 +08:00
kusano 6f6bd8ce53 Fix #71152: mt_rand() returns the different values from original mt19937ar.c 2016-02-17 11:32:59 +08:00
kusano 07cae46b02 Merge branch 'master' into fix-mt_rand
Conflicts:
	ext/standard/rand.c
2016-02-17 01:00:58 +09:00
Anatol Belski 4e527d8201 set versions 2016-02-16 09:17:47 +01:00
Anatol Belski 3244d3c7e9 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare next
2016-02-16 09:15:25 +01:00
Anatol Belski 837e2a912d prepare next 2016-02-16 09:14:05 +01:00
Anatol Belski cf9d0a9a9b Merge branch 'PHP-7.0'
* PHP-7.0:
  yet two test fixes in openssl in 5.6
2016-02-16 08:29:54 +01:00
Anatol Belski 7f5e8704bf Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  yet two test fixes in openssl in 5.6
2016-02-16 08:29:37 +01:00
Anatol Belski 343307000e yet two test fixes in openssl in 5.6 2016-02-16 08:28:10 +01:00
Anatol Belski 08086d40a5 Merge branch 'PHP-7.0'
* PHP-7.0:
  improve test
2016-02-16 08:06:57 +01:00
Anatol Belski 84014cf733 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  improve test
2016-02-16 08:06:38 +01:00
Anatol Belski 974dea5e88 improve test 2016-02-16 08:05:16 +01:00
Xinchen Hui 8485e4fdd4 Save one strlen here 2016-02-16 14:00:07 +08:00
Xinchen Hui 5c08bb654b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71603 (compact() maintains references in php7)
2016-02-16 11:03:09 +08:00
Xinchen Hui 0fccd154bd Fixed bug #71603 (compact() maintains references in php7) 2016-02-16 11:02:57 +08:00
Bob Weinand 77ca527c91 Merge branch 'PHP-7.0' 2016-02-15 22:43:58 +01:00
Bob Weinand 23b770f31f Fixed bug #71601 (finally block not executed after yield from) 2016-02-15 22:37:21 +01:00
Anatol Belski 492711289f Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix timelib compat with PHP5
2016-02-15 16:53:57 +01:00
Anatol Belski 7faf625ff3 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix timelib compat with PHP5
2016-02-15 16:53:31 +01:00
Anatol Belski 11102e2653 Fix timelib compat with PHP5
Windows builds in PHP5 are always using long which is 32-bit even
in 64-bit build. Thus in PHP5, timelib_long and the company have
to always evaluate to a 32-bit.
2016-02-15 16:50:42 +01:00
Anatol Belski 11900f4f5c Merge branch 'PHP-7.0'
* PHP-7.0:
  Backported fix for bug #71525
2016-02-15 15:16:06 +01:00
Anatol Belski 64b16deaba Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Backported fix for bug #71525
2016-02-15 15:15:52 +01:00
Anatol Belski 633fb2d0e8 Backported fix for bug #71525 2016-02-15 15:14:23 +01:00
Dmitry Stogov d0b9ef27c5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed possible memory leak
2016-02-15 16:40:21 +03:00
Dmitry Stogov 388ab976b5 Fixed possible memory leak 2016-02-15 16:40:05 +03:00
Dmitry Stogov 052651b06a Merge branch 'PHP-7.0'
* PHP-7.0:
  Added missing semicolon
2016-02-15 16:37:48 +03:00
Dmitry Stogov 5c4b4d11be Added missing semicolon 2016-02-15 16:37:27 +03:00
Stanislav Malyshev c3e0ef6b63 Merge branch 'PHP-7.0'
* PHP-7.0:
  More fixing for bug #71540
2016-02-15 01:53:24 -08:00
Stanislav Malyshev c1355152db More fixing for bug #71540 2016-02-15 01:53:02 -08:00
Stanislav Malyshev b3c2a47231 Merge branch 'PHp-7.0'
* PHp-7.0:
  Fix bug #71540 - NULL pointer dereference in xsl_ext_function_php()
  Fix bug #71540 - NULL pointer dereference in xsl_ext_function_php()
2016-02-15 00:10:27 -08:00
Stanislav Malyshev 889e3b62f4 Fix bug #71540 - NULL pointer dereference in xsl_ext_function_php() 2016-02-15 00:10:21 -08:00
Stanislav Malyshev e34a7a1b08 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #71540 - NULL pointer dereference in xsl_ext_function_php()

Conflicts:
	ext/xsl/xsltprocessor.c
2016-02-15 00:09:30 -08:00
Stanislav Malyshev cf0cf5b507 Fix bug #71540 - NULL pointer dereference in xsl_ext_function_php() 2016-02-15 00:09:09 -08:00
Stanislav Malyshev c11b23c465 Fix bug #71540 - NULL pointer dereference in xsl_ext_function_php() 2016-02-15 00:08:18 -08:00
Anatol Belski e18910c296 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix dir separator in test
  fix dir separator in test
2016-02-15 09:02:35 +01:00
Anatol Belski 9b277e6cff Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix dir separator in test
2016-02-15 09:01:59 +01:00
Anatol Belski c94ee2e0c8 fix dir separator in test 2016-02-15 09:00:07 +01:00
Anatol Belski a3927fa7f5 fix dir separator in test 2016-02-15 08:58:20 +01:00
Anatol Belski e0fa32cc8e Merge branch 'PHP-7.0'
* PHP-7.0:
  make sure the tests always uses same tz
2016-02-15 08:39:19 +01:00
Anatol Belski 53639c44df make sure the tests always uses same tz 2016-02-15 08:38:55 +01:00
Xinchen Hui 6aaea02ad8 Merge branch 'PHP-7.0'
* PHP-7.0:
2016-02-15 15:33:00 +08:00
Xinchen Hui afe0ddf6dd Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  fixed news entry
  fix NEWS entry
  update NEWS
  Fix bug #71525
2016-02-15 15:32:52 +08:00
Xinchen Hui 4b32bce69b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  fixed news entry
  fix NEWS entry
  update NEWS
  Fix bug #71525
2016-02-15 15:32:17 +08:00
Xinchen Hui effc1ba014 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed typo (I think it should be a typo)
2016-02-15 15:31:00 +08:00
Anatol Belski 95adc7aad1 Merge branch 'PHP-7.0'
* PHP-7.0:
  fixed news entry
  fix NEWS entry
2016-02-15 08:28:24 +01:00
Anatol Belski 8f5cdca9c4 fixed news entry 2016-02-15 08:27:41 +01:00
Anatol Belski 9746f2e9da Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix NEWS entry
2016-02-15 08:27:17 +01:00
Xinchen Hui e917402f05 Fixed typo (I think it should be a typo) 2016-02-15 15:26:44 +08:00
Anatol Belski 199c0ec48d fix NEWS entry 2016-02-15 08:25:23 +01:00
Anatol Belski ab93e6319e Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-02-15 08:22:08 +01:00
Anatol Belski e027f16e94 update NEWS 2016-02-15 08:21:46 +01:00
Anatol Belski 99d98a6ba5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71525
2016-02-15 08:19:52 +01:00
Sean DuBois f31e0cd334 Fix bug #71525
timelib_time->timelib_rel_time is mutated by date_modify, and because it is never zero'ed out
it latters causes other date operations to fail (like date_date_set)
2016-02-15 08:19:07 +01:00
Xinchen Hui ab5869400b Fixed another assertion fails due to live_range cleaned (ext/phar/tests/003a.phpt) 2016-02-15 14:38:20 +08:00
Stanislav Malyshev b1bd4119bc Fixed bug #71587 - Use-After-Free / Double-Free in WDDX Deserialize 2016-02-14 22:34:39 -08:00
Xinchen Hui bddcabed84 Merge branch 'bug_45876_missing_fields' of https://github.com/wayfair/php-src
* 'bug_45876_missing_fields' of https://github.com/wayfair/php-src:
  Add missing fields to expected test output
2016-02-15 13:55:33 +08:00
Xinchen Hui 5f0e39afdd Merge branch 'patch-32' of https://github.com/marcosptf/php-src
* 'patch-32' of https://github.com/marcosptf/php-src:
  Update ReflectionClass_isArray.phpt
  test to function ReflectionParameter::isArray
2016-02-15 13:52:50 +08:00
Xinchen Hui a11ced7b4a Merge branch 'updateTestCoverage' of https://github.com/mattflaschen/php-src
* 'updateTestCoverage' of https://github.com/mattflaschen/php-src:
  Add additional test coverage for html_entity_decode
2016-02-15 13:50:54 +08:00
Xinchen Hui 49399359c6 Restore to the first version fix(sorry, mis-read the codes) 2016-02-15 13:47:52 +08:00
Xinchen Hui 0c5f8451d6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS
  fpm: call zend_signal_init() in child
2016-02-15 13:24:47 +08:00
Xinchen Hui d0649a8441 Update NEWS 2016-02-15 13:24:39 +08:00
Mickaël 0c2e184eac fpm: call zend_signal_init() in child
This addresses bug #71269.

When an fpm child handles more than one request, zend_signal_startup() will
override the saved signal handlers with the internal zend handlers set from the
previous request, causing a SIGQUIT signal to result in a core dump rather than
gracefully exiting (the expected behaviour).

This is fixed by adding a call to zend_signal_init() after setting the
signal handlers in the child. The same technique is used in the apache SAPI
module in commit fd5a756ad4 which addresses
bug #61083.
2016-02-15 13:23:37 +08:00
Xinchen Hui 2b6f06b70c Merge branch 'patch-1' of https://github.com/mickael9/php-src
* 'patch-1' of https://github.com/mickael9/php-src:
  fpm: call zend_signal_init() in child
2016-02-15 13:23:01 +08:00
Xinchen Hui b3f5f5f1be Reset op_array->live_range if it is removed all by optimization 2016-02-15 12:09:52 +08:00
Xinchen Hui ab3a820aa3 Revert "Fixed segfault in file cache serialize if live range is empty after"
This reverts commit 2661a47479.
2016-02-15 12:09:13 +08:00
Xinchen Hui 2661a47479 Fixed segfault in file cache serialize if live range is empty after
optimiaztion
2016-02-15 12:07:43 +08:00
Xinchen Hui 4eb4a78bf0 Combine conditions (good for other VM kinds) 2016-02-15 11:12:04 +08:00
Xinchen Hui c4ff3e7990 It's better to support 5.3 as well 2016-02-15 11:05:01 +08:00
Xinchen Hui c9c924dbf3 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS
2016-02-15 10:37:45 +08:00
Xinchen Hui 0e363e90a4 Update NEWS 2016-02-15 10:37:37 +08:00
Xinchen Hui be91106db7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS: "Fixed bug  #71584 (Possible use-after-free of ZCG(cwd) in Zend Opcache)"
  Fix use-after-free of ZCG(cwd) in Zend Optimizer
2016-02-15 10:33:18 +08:00
Xinchen Hui 8974e4c781 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS: "Fixed bug  #71584 (Possible use-after-free of ZCG(cwd) in Zend Opcache)"
  Fix use-after-free of ZCG(cwd) in Zend Optimizer

Conflicts:
	ext/opcache/ZendAccelerator.c
2016-02-15 10:32:50 +08:00
Xinchen Hui 2b850e1565 Update NEWS: "Fixed bug #71584 (Possible use-after-free of ZCG(cwd) in Zend Opcache)" 2016-02-15 10:31:37 +08:00
Xinchen Hui 5e152f54ae 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
  Fixed bug #71559 Built-in HTTP server, we can downlaod file in web by bug
  Check length of string before comparing to :memory:
  Fix bounds check in strip_tags()
  Fix test description
  FIx bug #71569
2016-02-15 10:29:28 +08:00
Anatol Belski c3fcc3e9ac Merge branch 'PHP-7.0'
* PHP-7.0:
  updated NEWS
  update NEWS
2016-02-14 20:54:42 +01:00
Anatol Belski 1740648312 updated NEWS 2016-02-14 20:54:13 +01:00
Anatol Belski aabb6b70c5 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-02-14 20:53:41 +01:00
Anatol Belski aa10fc6092 update NEWS 2016-02-14 20:52:47 +01:00
Anatol Belski eca7881aa0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71559 Built-in HTTP server, we can downlaod file in web by bug
2016-02-14 20:49:42 +01:00
Anatol Belski 724ee19111 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71559 Built-in HTTP server, we can downlaod file in web by bug
2016-02-14 20:49:03 +01:00
Anatol Belski ce4a2f0fc6 Fixed bug #71559 Built-in HTTP server, we can downlaod file in web by bug 2016-02-14 20:47:23 +01:00
Jakub Zelenka 4ea2a0fd60 Store errors in openssl_random_pseudo_bytes 2016-02-14 19:25:14 +00:00
Anatol Belski e644c9457e Merge branch 'PHP-7.0'
* PHP-7.0:
  cleanup duplicated var
  fix file lists with subdirs passed to EXTENSION()
2016-02-14 17:28:38 +01:00
Anatol Belski 9bef2212aa cleanup duplicated var 2016-02-14 17:20:37 +01:00
Anatol Belski 8289f11390 fix file lists with subdirs passed to EXTENSION()
The underlying place responsible is the ADD_SOURCES() function. With
this, the calls like

EXTENSION("hello", "sub0/file0.c sub1/file1.c", ...)

are working correctly. Same for

ADD_SOURCES("some/dir", "sub0/file0.c sub1/file1.c", ...)
2016-02-14 17:15:20 +01:00
Nikita Popov 420c7979d5 Fix zpp in pg_last_notice 2016-02-14 14:48:26 +01:00
Nikita Popov 2d605e5f24 Merge branch 'PHP-7.0' 2016-02-14 14:47:42 +01:00
Nikita Popov c9357f82d3 Format string fixes
Conflicts:
	ext/pgsql/pgsql.c
2016-02-14 14:45:53 +01:00
Nikita Popov 5983378364 Fix format attributes in ZTS 2016-02-14 14:44:27 +01:00
Francois Laupretre be607e724c Fix bug #71572
Discussed on the internals list as part of
http://markmail.org/message/fa625yc2eegk2dio.
2016-02-14 13:18:23 +01:00
Nikita Popov d10911afde Simplify previous fix
I didn't notice that there already is a var with the same value.
2016-02-13 23:46:50 +01:00
Nikita Popov 502dd99a6c Fix ZEND_NEW live ranges
While the def starts at DO_FCALL, the variable should still be the
result of NEW, not DO_FCALL.

I had to fix the test for #68652, because the code started to
(correctly) free the "new self()" object, which triggered an
infinite destructor loop.
2016-02-13 19:04:54 +01:00
Nikita Popov 302214f7ce Merge branch 'PHP-7.0' 2016-02-13 18:03:45 +01:00
Nikita Popov 30d5432bfe Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/sqlite3/sqlite3.c
2016-02-13 18:03:06 +01:00
Nikita Popov fece24f8f4 Check length of string before comparing to :memory: 2016-02-13 18:01:50 +01:00
Nikita Popov b2245c5592 Merge branch 'PHP-7.0' 2016-02-13 17:48:58 +01:00
Nikita Popov f43fe8cb4c Merge branch 'PHP-5.6' into PHP-7.0 2016-02-13 17:48:17 +01:00
Nikita Popov 4e0134c661 Fix bounds check in strip_tags() 2016-02-13 17:47:30 +01:00
Nikita Popov adcdb4f7ba Fix test description 2016-02-13 17:46:24 +01:00
Nikita Popov 7f474086e3 Fix extract() overwriting its own argument
Already covered by bug46873.phpt under valgrind.
2016-02-13 17:39:26 +01:00
Nikita Popov 464f48ec1c Merge branch 'PHP-7.0' 2016-02-13 15:21:38 +01:00
Nikita Popov 70c8db08c6 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/pdo_mysql/mysql_driver.c
2016-02-13 15:21:16 +01:00
Nikita Popov bc419fee5c FIx bug #71569
convert_to_string() may result in an interned string.
2016-02-13 15:17:51 +01:00
Nikita Popov c0c73f7083 Fix bug #69989
This should cover all the basic cycles. Anything further would
require scanning the call stack and live temporaries.
2016-02-12 18:52:53 +01:00
Nikita Popov d1b777bd99 Merge branch 'PHP-7.0' 2016-02-12 17:58:12 +01:00
Nikita Popov ccc06e252b Forbid yield from in by-reference generators
The current yield from implementation doesn't support by-ref
yields. It's likely not worthwhile to actually implement this,
but we should at least keep the door open for the future by
issuing a compile error.

Refs bug #71252.
2016-02-12 17:55:29 +01:00
Nikita Popov 44ed1cb5c0 Remove ZEND_CALL_CTOR_RESULT_UNUSED
Instead emit a FREE on the result of NEW.
2016-02-11 22:15:11 +01:00
Dmitry Stogov 8c2d55962e Combine conditions 2016-02-11 23:11:19 +03:00
Nikita Popov 5faedf5b3e Remove EXT_TYPE_UNUSED in favor of IS_UNUSED
This means we no longer allocate an unused VAR for the retval of
instructions that support unused results.

Nearly all instructions already used the result variable only if
it was used. The only exception to this was the return value
variable for internal function call results. I've adjusted the code
to use a stack zval for the unused return case now. As we have
retval specialization now, we know that it doesn't matter.
2016-02-11 18:02:19 +01:00
Nikita Popov f75be35312 Support partial GC for unfinished generators
This doesn't cover everything yet, but should be a good start for
cycled in unfinished generators.
2016-02-11 16:38:30 +01:00
Nikita Popov 68516091c1 Merge branch 'PHP-7.0' 2016-02-11 16:33:23 +01:00
Nikita Popov 9cebdc5d47 Fix yield-by-ref of constant
Typo in the condition...
2016-02-11 16:32:45 +01:00
Nikita Popov 7453348ca8 Merge branch 'PHP-7.0' 2016-02-11 16:25:55 +01:00
Nikita Popov 1322672c0b Fix dangling send target when using yield from
Also drop some unnecessary TRY_DELREFs -- leftovers from the days
when null was refcounted.
2016-02-11 16:25:16 +01:00
Anatol Belski 8407e48bc4 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix version header
2016-02-11 16:24:04 +01:00
Anatol Belski 95a47ab556 fix version header 2016-02-11 16:23:19 +01:00
Bob Weinand c7a18a4a24 Merge branch 'PHP-7.0' 2016-02-11 06:43:55 +01:00
Bob Weinand 1a01a5ec83 Fixed inherited functions from unspecified files being included in phpdbg_get_executable()
See also https://github.com/krakjoe/phpdbg/issues/152
2016-02-11 06:42:51 +01:00
Matthew Flaschen f61429fabf Add additional test coverage for html_entity_decode
Will help testing a HHVM fix (https://reviews.facebook.net/D53871)
2016-02-10 17:52:49 -05:00
Nikita Popov c6f2d61c7c Merge branch 'PHP-7.0' 2016-02-10 19:04:33 +01:00
Nikita Popov aa3f44a395 Crude generator GC for value/key/retval
These values remain live after the generator has been closed, so
they are particularly susceptible to leaking cycles.
2016-02-10 19:03:02 +01:00
Joe Watkins ec37cecd90 Merge branch 'master' of https://github.com/php/php-src 2016-02-10 12:59:52 +00:00
Joe Watkins 4808d9689a be more precise about the meaning of -n 2016-02-10 12:59:38 +00:00
Joe Watkins daf3d0c875 Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-02-10 12:58:19 +00:00
Joe Watkins 3ac63df9bc be more precise about the meaning of -n 2016-02-10 12:57:48 +00:00
Yussuf Khalil 35f6f9b0db Fix use-after-free of ZCG(cwd) in Zend Optimizer 2016-02-10 10:33:57 +01:00
Xinchen Hui 1c3edc3dd4 Merge branch 'master' of git.php.net:/php-src 2016-02-09 23:37:11 +08:00
Xinchen Hui 316dca14ff Merge branch 'PHP-7.0' 2016-02-09 23:36:24 +08:00
Xinchen Hui aeb5319336 Update NEWS 2016-02-09 23:36:15 +08:00
Xinchen Hui 33417bf409 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/zip/php_zip.c
2016-02-09 23:35:55 +08:00
Xinchen Hui c339d5217a Merge branch 'PHP-5.6' of git.php.net:/php-src into PHP-5.6 2016-02-09 23:33:30 +08:00
Xinchen Hui f45752eb83 Fixed bug #71561 (NULL pointer dereference in Zip::ExtractTo) 2016-02-09 23:32:20 +08:00
Nikita Popov 7174af4074 Support CFG construction without live range splitting
We must not split at live range boundaries for SSA constructions,
otherwise an OP_DATA instruction may be separated into new block
and not picked up during renaming.

It's also unnecessary for this use case and only blows up the CFG.
2016-02-09 13:02:33 +01:00
Dmitry Stogov 4095d5f245 Cleanup OP_DATA usage. Now only first operand of OP_DATA is used for ASSIGN_DIM, ASSIGN_OBJ and ASSIGN_OP (DIM/OBJ) instructions. 2016-02-09 13:12:57 +03:00
Dmitry Stogov f4bec6e137 After DFA pass result of FE_FETCH may be CV 2016-02-09 12:16:17 +03:00
Xinchen Hui 4fcc3f7711 Merge branch 'PHP-7.0' 2016-02-09 12:20:33 +08:00
Xinchen Hui a219fc1753 Fixed bug (Low probability segfault in zend_arena) 2016-02-09 12:20:11 +08:00
Jakub Zelenka 664d693513 Store errors in openssl_dh_compute_key 2016-02-08 19:35:47 +00:00
Lior Kaplan 85ce6a7d38 Merge branch 'PHP-7.0'
* PHP-7.0:
  Align spacing in make install messages
2016-02-08 20:33:17 +02:00
Lior Kaplan 2aa585a505 Add entry for re-fix of #70976 in commit 14e4d393 2016-02-08 20:31:08 +02:00
Lior Kaplan fb7d673ef2 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Align spacing in make install messages
  Add entry for re-fix of #70976 in commit 14e4d393
2016-02-08 20:29:24 +02:00
Lior Kaplan 6772fbff62 Align spacing in make install messages 2016-02-08 20:27:19 +02:00
Leigh acc227188d Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed memory leak in curl_getinfo()
2016-02-08 11:43:28 +00:00
Leigh 3ef57f8d5d Fixed memory leak in curl_getinfo()
The "v ? v" in the CAASTR macro caused zend_string_copy to be
called twice
2016-02-08 11:36:14 +00:00
Dmitry Stogov 1544fec94b Removed wrong (old) code 2016-02-08 12:20:37 +03:00
Xinchen Hui bd497f426c Merge branch 'PHP-7.0' 2016-02-08 10:22:51 +08:00
Xinchen Hui 0490d4a404 Happy Year of Monkey (Forgot test of #71537) 2016-02-08 10:22:16 +08:00
Lior Kaplan 879671aeae Add entry for re-fix of #70976 in commit 14e4d393 2016-02-07 20:19:31 +02:00
Jakub Zelenka 9b094be5f7 Store errors in openssl_encrypt and openssl_decrypt 2016-02-07 16:40:21 +00:00
Xinchen Hui 3b802a8bdd Merge branch 'PHP-7.0' 2016-02-07 23:19:37 +08:00
Xinchen Hui 336e39f2b1 Fixed bug #71537 (PCRE segfault from Opcache) 2016-02-07 23:19:24 +08:00
Nikita Popov abc06b91cd Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_compile.c
2016-02-06 16:43:54 +01:00
Nikita Popov 9f82f21d01 Fix bug #71529 2016-02-06 16:43:28 +01:00
marcosptf 625345f58c Update ReflectionClass_isArray.phpt 2016-02-05 13:50:06 -02:00
Jakub Zelenka 34eb6b53cc Store errors in openssl_digest 2016-02-05 15:32:19 +00:00
marcosptf 2c7341ca16 test to function ReflectionParameter::isArray
was created a new test uncovered yet!
:-)
2016-02-05 12:21:10 -02:00
Dmitry Stogov 81721a7ddd Specialize DO_FCALL (and variations) according to used/unused return value 2016-02-05 15:46:52 +03:00
Dmitry Stogov 2f5a119281 Use extra specialization to eliminate run-time checks for conditions known at compile time in SEND_VAL_EX and SEND_VAR_EX. 2016-02-05 15:07:58 +03:00
Xinchen Hui 3bafcf34ac Merge branch 'PHP-7.0' 2016-02-05 19:56:36 +08:00
Xinchen Hui d645706547 Online test 2016-02-05 19:56:23 +08:00
Xinchen Hui 7f9e1ab3b5 Merge branch 'PHP-7.0'
Conflicts:
	main/php_version.h
2016-02-05 19:52:24 +08:00
Xinchen Hui e724e54305 Update NEWS 2016-02-05 19:51:58 +08:00
Xinchen Hui 095096c7ab Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/curl/interface.c
2016-02-05 19:51:33 +08:00
Xinchen Hui 5fdfab743d Fixed bug #71523 (Copied handle with new option CURLOPT_HTTPHEADER crashes while curl_multi_exec) 2016-02-05 19:49:26 +08:00
Dmitry Stogov ef98adce30 Specialize ASSIGN according to used/unused return value 2016-02-05 13:18:58 +03:00
Lior Kaplan 7a225d1a3e Align NEWS entry format 2016-02-05 01:13:19 +02:00
Lior Kaplan 08e43f5c1e Merge branch 'PHP-7.0'
* PHP-7.0:
  Align NEWS entry format
  Align NEWS entry format
2016-02-05 01:11:20 +02:00
Lior Kaplan 3311f8e840 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Align NEWS entry format
2016-02-05 01:08:22 +02:00
Lior Kaplan b680426bd3 Align NEWS entry format 2016-02-05 01:08:01 +02:00
Lior Kaplan 8442a1cc4e Align NEWS entry format 2016-02-05 00:50:25 +02:00
Ferenc Kovacs d432b0e959 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-02-04 20:41:33 +01:00
Ferenc Kovacs 374c1fec9c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-02-04 20:41:13 +01:00
Ferenc Kovacs 8c1c12a2e2 update NEWS 2016-02-04 20:40:54 +01:00
Anatol Belski 71eef6d704 Merge branch 'PHP-7.0'
* PHP-7.0:
  add missin NEWS entry
2016-02-04 18:10:12 +01:00
Anatol Belski 2941c498fd add missin NEWS entry 2016-02-04 18:09:35 +01:00
Jakub Zelenka 2a9dd980bf Merge branch 'PHP-7.0' 2016-02-04 16:57:41 +00:00
Jakub Zelenka 1ff88d3945 Merge branch 'PHP-5.6' into PHP-7.0 2016-02-04 16:54:44 +00:00
Jakub Zelenka feab5e6fa0 Split and clean up OpenSSL X509 tests 2016-02-04 16:51:36 +00:00
Bob Weinand 00a2c30c59 Add extra VM operand specialization
For now RETVAL and OP_DATA= are supported
2016-02-04 16:49:50 +01:00
Nikita Popov af66ad2857 Remove use of register keyword in headers
Headers must be C++ compatible -- this throws warnings.

The register keyword is not used for optimization, at least not
in optimized builds.
2016-02-04 13:34:19 +01:00
Jakub Zelenka 899d2b2126 Store errors in openssl_seal and openssl_open 2016-02-04 12:30:53 +00:00
Nikita Popov fbe50b15dd Add back typedefs for php_uint32 and php_int32
It's pretty likely that extensions rely on these, no need to break
things.
2016-02-04 12:03:07 +01:00
Rouven Weßling 7e0459e7ce Replace usage of php_hash_uint32 and php_hash_uint64 with uint32_t and uint64_t.
Remove the unused php_hash_int32 and php_hash_int64.
2016-02-04 11:57:41 +01:00
Rouven Weßling e93c28053d Replace usage of php_uint16 with uint16_t 2016-02-04 11:57:41 +01:00
Rouven Weßling a61029b155 Replace usage of php_int32 and php_uint32 with int32_t and uint32_t 2016-02-04 11:57:41 +01:00
Nikita Popov d998ca6e3c Merge branch 'PHP-7.0' 2016-02-04 11:45:34 +01:00
Hieu Le ace71b4c5f Fix bug #71501 2016-02-04 11:44:56 +01:00
Adam Baratz b0793d6d8f Add missing fields to expected test output 2016-02-03 16:50:29 -05:00
Jakub Zelenka 95a48213a0 Merge branch 'PHP-7.0' into openssl_error_store 2016-02-03 16:30:19 +00:00
Jakub Zelenka fd6f32f667 Merge branch 'PHP-7.0' 2016-02-03 16:23:37 +00:00
Jakub Zelenka cdf99ffc69 Merge branch 'PHP-5.6' into PHP-7.0 2016-02-03 16:22:39 +00:00
Jakub Zelenka 1f3906c1ce Rename and clean up OpenSSL tests 2016-02-03 16:20:27 +00:00
Antony Dovgal 3a2c9e6e1d fix build
sorry about that =\
2016-02-03 18:03:28 +03:00
Antony Dovgal 0d593b29e2 fix build
sorry about that =\
2016-02-03 18:02:58 +03:00
Jakub Zelenka ff1c97f0aa Store errors in openssl_sign and openssl_verify 2016-02-03 13:55:37 +00:00
Michael Wallner 0e856232d8 fix generating config.nice; again
The fix in a8bc184207 broke if an arg
containing spaces was passed to configure.
2016-02-03 13:24:40 +01:00
Antony Dovgal 52e120fa90 use correct element size, avoid reading stack 2016-02-03 15:14:10 +03:00
Antony Dovgal 6d87eb2727 use correct element size, avoid reading stack 2016-02-03 15:11:59 +03:00
Antony Dovgal 6f81e95c33 check length first, prevent out-of-bounds read 2016-02-03 14:49:16 +03:00
Antony Dovgal 64e8cfadf5 check length first, prevent out-of-bounds read 2016-02-03 14:48:38 +03:00
Ferenc Kovacs 683272590d Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-02-03 01:08:28 +01:00
Ferenc Kovacs 5154a48d37 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-02-03 01:08:09 +01:00
Ferenc Kovacs e0332ea1a9 update NEWS 2016-02-03 01:07:34 +01:00
Julien Pauli 00db03b57c Merge branch 'PHP-7.0'
* PHP-7.0:
  Updated NEWS
  Fix #70720
2016-02-02 18:17:53 +01:00
Julien Pauli 0d1d814e1a Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Updated NEWS
  Fix #70720

Conflicts:
	ext/standard/string.c
	ext/standard/tests/strings/bug70720.phpt
2016-02-02 18:17:16 +01:00
Julien Pauli ed80ca00f4 Updated NEWS 2016-02-02 18:14:57 +01:00
Julien Pauli 6b0b29edd6 Fix #70720 2016-02-02 18:09:54 +01:00
Nikita Popov 80c15ac784 Move pi placement into separate function
Non-functional change, just moving code. This makes it easier to
change the order of operations.
2016-02-02 17:39:59 +01:00
Jakub Zelenka c26b87b8ac Rewrite openssl_error_string to use stored errors 2016-02-02 16:26:03 +00:00
Anatol Belski 5bf2f9e69b Merge branch 'PHP-7.0'
* PHP-7.0:
  reapply the sysconf error check patch
  add error check to sysconf call
  Going for 5.5.33 now
2016-02-02 14:28:04 +01:00
Anatol Belski f7c3f54be9 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add error check to sysconf call
  Going for 5.5.33 now
2016-02-02 14:27:30 +01:00
Anatol Belski 2c691f06b5 reapply the sysconf error check patch 2016-02-02 14:26:58 +01:00
Anatol Belski b837f205ca Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add error check to sysconf call
  Going for 5.5.33 now

Conflicts:
	configure.in
	main/php_version.h
2016-02-02 14:22:31 +01:00
Anatol Belski 377d353c9f add error check to sysconf call 2016-02-02 14:19:10 +01:00
Derick Rethans 871c5ab09a Updated to version 2016.1 (2016a) 2016-02-02 10:34:07 +00:00
Derick Rethans 50185e12ac Empty merge 2016-02-02 10:34:06 +00:00
Derick Rethans b573658092 Updated to version 2016.1 (2016a) 2016-02-02 10:34:05 +00:00
Derick Rethans 0c6dbff900 Empty merge 2016-02-02 10:34:05 +00:00
Derick Rethans 43fee6c6a1 Updated to version 2016.1 (2016a) 2016-02-02 10:34:03 +00:00
Julien Pauli 7d875fb9df Going for 5.5.33 now 2016-02-02 10:42:49 +01:00
Anatol Belski 23ba7c6f27 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix dir separator
2016-02-02 09:57:16 +01:00
Anatol Belski 0d0978dfa6 fix dir separator 2016-02-02 09:56:57 +01:00
Anatol Belski 99d9654f4b Merge branch 'PHP-7.0'
* PHP-7.0:
  fix directory separator in test
2016-02-02 09:52:26 +01:00
Anatol Belski 1c2d45d2d1 fix directory separator in test 2016-02-02 09:52:07 +01:00
Anatol Belski 0aaddfbba3 Merge branch 'PHP-7.0'
* PHP-7.0:
  update libs version
  update libs version
2016-02-02 09:04:02 +01:00
Anatol Belski 0ec1207d74 update libs version 2016-02-02 09:03:40 +01:00
Anatol Belski cec46864fc Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update libs version
2016-02-02 09:03:22 +01:00
Anatol Belski bf974312d1 update libs version 2016-02-02 09:02:12 +01:00
Anatol Belski d843bb61f7 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-02-02 08:33:14 +01:00
Anatol Belski c48a188df2 update NEWS 2016-02-02 08:32:28 +01:00
Stanislav Malyshev ea35de6e31 Merge branch 'PHP-7.0'
* PHP-7.0: (35 commits)
  fix tests
  update NEWS
  fix tests
  fix NEWS
  Update NEWS
  update NEWS
  Fixed bug #71475: openssl_seal() uninitialized memory usage
  Fixed bug #71488: Stack overflow when decompressing tar archives
  fix tests
  fix wrong gc sequence
  revert the API string as well
  update NEWS
  Revert "Fix #70720"
  sync NEWS
  reset ext/session to the state of 7.0.2
  update NEWS
  update NEWS
  add missing headers for SIZE_MAX
  backport the escapeshell* functions hardening branch
  add tests
  ...
2016-02-01 20:46:06 -08:00
Stanislav Malyshev c631f1ee2b Merge branch 'PHP-7.0.3' into PHP-7.0
* PHP-7.0.3: (35 commits)
  fix tests
  update NEWS
  fix tests
  fix NEWS
  Update NEWS
  update NEWS
  Fixed bug #71475: openssl_seal() uninitialized memory usage
  Fixed bug #71488: Stack overflow when decompressing tar archives
  fix tests
  fix wrong gc sequence
  revert the API string as well
  update NEWS
  Revert "Fix #70720"
  sync NEWS
  reset ext/session to the state of 7.0.2
  update NEWS
  update NEWS
  add missing headers for SIZE_MAX
  backport the escapeshell* functions hardening branch
  add tests
  ...

Conflicts:
	configure.in
	ext/session/tests/bug69111.phpt
	main/php_version.h
2016-02-01 20:45:49 -08:00
Stanislav Malyshev 0fca0d9f42 fix tests 2016-02-01 20:23:21 -08:00
Stanislav Malyshev 7ffb976104 update NEWS 2016-02-01 20:23:06 -08:00
Stanislav Malyshev e231830f16 Merge branch 'PHP-5.6.18' into PHP-7.0.3
* PHP-5.6.18:
  fix tests
  fix NEWS
  Update NEWS
  update NEWS
  Fixed bug #71488: Stack overflow when decompressing tar archives
  update NEWS
  add missing headers for SIZE_MAX
  backport the escapeshell* functions hardening branch
  add tests
  Fix bug #71459 - Integer overflow in iptcembed()
  prepare 5.6.18RC1
  Fix test when run with openssl < 1.0.2 (reorder so no more SSLv2 message) Fix skip message to work
  improve fix for bug #71201
  Fixed bug #71323 - Output of stream_get_meta_data can be falsified by its input
  Fix bug #71391: NULL Pointer Dereference in phar_tar_setupmetadata()
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()
  Fix bug #71335: Type Confusion in WDDX Packet Deserialization
  Fix bug #71354 - remove UMR when size is 0

Conflicts:
	configure.in
	ext/phar/dirstream.c
	ext/phar/phar_object.c
	ext/phar/tar.c
	ext/standard/exec.c
	ext/standard/iptc.c
	ext/standard/math.c
	ext/standard/streamsfuncs.c
	ext/wddx/wddx.c
	main/php_version.h
	main/streams/memory.c
2016-02-01 20:00:01 -08:00
Stanislav Malyshev 0007a695c8 Merge commit 'ca02d9c2d6f9bea7bf8abe607f1ee9484b1d7b62' into PHP-7.0.3
* commit 'ca02d9c2d6f9bea7bf8abe607f1ee9484b1d7b62':
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)

Conflicts:
	ext/pcre/pcrelib/config.h
2016-02-01 19:35:59 -08:00
Stanislav Malyshev 877823e209 Merge remote-tracking branch 'origin/PHP-7.0.3' into PHP-7.0.3
* origin/PHP-7.0.3:
  fix tests
  fix wrong gc sequence
  revert the API string as well
  update NEWS
  Revert "Fix #70720"
  sync NEWS
  reset ext/session to the state of 7.0.2
  improve fix for bug #71201
  set versions to 7.0.3RC1
  fix test for 7.0, OpenSSL >= 1.0.2 disables SSLv2 by default
  fork test
  fix test
  fork test
  fork test for win32
  fork test
  Use SUCCESS/FAILURE
  Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
  Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
  Update NEWS
  Fixed bug 71397 (mb_send_mail segmentation fault)
2016-02-01 19:32:06 -08:00
Stanislav Malyshev 41be90d95b Merge branch 'PHP-5.6.18' into PHP-5.6
* PHP-5.6.18:
  fix tests
  fix NEWS
  Update NEWS
  update NEWS
  Fixed bug #71488: Stack overflow when decompressing tar archives
  update NEWS
  add missing headers for SIZE_MAX
  backport the escapeshell* functions hardening branch
  add tests
  Fix bug #71459 - Integer overflow in iptcembed()
  prepare 5.6.18RC1
  Fixed bug #71323 - Output of stream_get_meta_data can be falsified by its input
  Fix bug #71391: NULL Pointer Dereference in phar_tar_setupmetadata()
  Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()
  Fix bug #71335: Type Confusion in WDDX Packet Deserialization
  Fix bug #71354 - remove UMR when size is 0

Conflicts:
	configure.in
	main/php_version.h
2016-02-01 19:16:34 -08:00
Stanislav Malyshev 24167095a5 Merge branch 'PHP-5.5' into PHP-5.6.18
* PHP-5.5:
  fix tests
  fix NEWS
  update NEWS
2016-02-01 19:15:19 -08:00
Stanislav Malyshev 2a7d8c0a06 fix tests 2016-02-01 18:58:02 -08:00
Stanislav Malyshev e7051cb47a fix NEWS 2016-02-01 18:47:56 -08:00
Stanislav Malyshev 20c38facfd Update NEWS 2016-02-01 18:47:28 -08:00
Stanislav Malyshev 0d86a98c31 update NEWS 2016-02-01 18:44:33 -08:00
Stanislav Malyshev 309ead112f Merge branch 'PHP-5.5.32' into PHP-5.6.18
* PHP-5.5.32:
  Fixed bug #71488: Stack overflow when decompressing tar archives
  update NEWS
  add missing headers for SIZE_MAX
  backport the escapeshell* functions hardening branch
  add tests
  Fix bug #71459 - Integer overflow in iptcembed()
  Fixed bug #71323 - Output of stream_get_meta_data can be falsified by its input
  Fix bug #71391: NULL Pointer Dereference in phar_tar_setupmetadata()
  Fix bug #71335: Type Confusion in WDDX Packet Deserialization
  Fix bug #71354 - remove UMR when size is 0
2016-02-01 18:32:31 -08:00
Stanislav Malyshev 2f1ce4f209 Merge branch 'PHP-5.5' into PHP-5.6.18
* PHP-5.5:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)
2016-02-01 18:32:14 -08:00
Stanislav Malyshev 5bde5a0a2e Merge remote-tracking branch 'origin/PHP-5.6.18' into PHP-5.6.18
* origin/PHP-5.6.18:
  prepare 5.6.18RC1
  Fix test when run with openssl < 1.0.2 (reorder so no more SSLv2 message) Fix skip message to work
  improve fix for bug #71201
  fork test
  fix test
  fork test
  fork test for win32
  fork test
  Use SUCCESS/FAILURE
  Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
  Fix header file include
  Fixed bug #69111 (Crash in SessionHandler::read()). Made session save handler abuse much harder than before.
2016-02-01 18:31:57 -08:00
Stanislav Malyshev b5ef8ed168 Merge branch 'PHP-5.5' into PHP-5.5.32
* PHP-5.5:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
2016-02-01 18:28:49 -08:00
Jakub Zelenka ceddf003a7 Store errors in openssl_(public|private)_(en|de)crypt 2016-02-01 18:42:42 +00:00
Anatol Belski 6f19ca8553 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix extensions path for nmake install
  fix extensions path for nmake install
  use correct pointer in the math
2016-02-01 15:43:49 +01:00
Anatol Belski 2764586c6d fix extensions path for nmake install 2016-02-01 15:42:32 +01:00
Anatol Belski a5474c7ac0 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix extensions path for nmake install
2016-02-01 15:41:04 +01:00
Anatol Belski a01fd45d15 fix extensions path for nmake install 2016-02-01 15:38:53 +01:00
Antony Dovgal 8b023e9192 use correct pointer in the math 2016-02-01 16:33:04 +03:00
Antony Dovgal 67a728f8a5 use correct pointer in the math 2016-02-01 16:32:06 +03:00
Dmitry Stogov d510255879 Rename IS_ERROR into _IS_ERROR (to prevent redefinition on Windows). 2016-02-01 11:12:28 +03:00
Stanislav Malyshev 472ef79f2b Merge branch 'PHP-7.0'
* PHP-7.0:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)
2016-01-31 21:40:09 -08:00
Stanislav Malyshev 916c1fb3af Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)

Conflicts:
	ext/pcre/pcrelib/config.h
2016-01-31 21:39:24 -08:00
Stanislav Malyshev 00788f9cfb Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Upgrade bundled PCRE to 8.38
  Fixed NEWS file entry
  fix the fix for bug #70976 (imagerotate)
2016-01-31 21:06:31 -08:00
Stanislav Malyshev ca02d9c2d6 Upgrade bundled PCRE to 8.38 2016-01-31 20:37:47 -08:00
Stanislav Malyshev 33b1fbbb5c Fixed bug #71475: openssl_seal() uninitialized memory usage 2016-01-31 20:18:46 -08:00
Stanislav Malyshev 07c7df68bd Fixed bug #71488: Stack overflow when decompressing tar archives 2016-01-31 19:37:56 -08:00
Jakub Zelenka 678300aca6 Merge branch 'PHP-7.0' 2016-01-31 18:14:37 +00:00
Jakub Zelenka 265ccef39b Rename private.key to private_rsa_1024.key in new openssl_seal test 2016-01-31 18:13:37 +00:00
Jakub Zelenka 7295ffdff6 Merge branch 'PHP-7.0' 2016-01-31 14:41:08 +00:00
Jakub Zelenka d8d20151c3 Merge branch 'PHP-5.6' into PHP-7.0 2016-01-31 14:40:20 +00:00
Jakub Zelenka ef356912b3 Rewrite OpenSSL SPKI tests to speed them up
Also fix some CS issue and naming
2016-01-31 14:28:13 +00:00
Jakub Zelenka e93ab05489 Add private RSA keys with 2048 and 4096 bit long modulus 2016-01-31 13:57:00 +00:00
Jakub Zelenka 148d013323 Rename private.key to private_rsa_1024.key 2016-01-31 13:54:16 +00:00
Jakub Zelenka 32d8cea840 Store errors in OpenSSL PKCS7 functions 2016-01-31 12:36:51 +00:00
Jakub Zelenka 8a251a8ec8 Store errors in openssl_pbkdf2 2016-01-31 11:55:36 +00:00
Nikita Popov 93dc91b386 Remove version checks
PHP_VERSION_ID
PHP_API_VERSION
ZEND_MODULE_API_NO
PHP_MAJOR_VERSION, PHP_MINOR_VERSION
ZEND_ENGINE_2

I've left litespeed alone, as it seems to genuinely maintain support
for many PHP versions.
2016-01-30 15:35:28 +01:00
Nikita Popov 2eb4728611 Remove HAVE_SPL checks
SPL is always built.

Also clean up spl_ce_RuntimeException handling in PDO.
2016-01-30 14:53:00 +01:00
Nikita Popov 5c327d7f5c Use handle as hash in SplObjectStorage
For the default implementation, use a more efficient integer-based
hash. The getHash() interface still requires a string.
2016-01-30 14:19:11 +01:00
Xinchen Hui 08e5dc461d Merge branch 'PHP-7.0' 2016-01-29 22:05:59 -08:00
Xinchen Hui e062759401 Fixed bug #71485 (Return typehint on interanal func causes Fatal error when it throws exception). 2016-01-29 22:05:52 -08:00
Xinchen Hui f6d8af73ad Merge branch 'PHP-7.0' 2016-01-29 20:38:59 -08:00
Xinchen Hui 3dadd654cf Also WIN32 side 2016-01-29 20:38:50 -08:00
Xinchen Hui 01ff25970f Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2016-01-29 20:37:14 -08:00
Robin McCorkell 7806553fd3 Properly read any remaining data when closing FastCGI socket 2016-01-29 20:36:52 -08:00
Xinchen Hui 31aaa14e71 Merge branch 'fastcgi-race-fix' of https://github.com/Xenopathic/php-src 2016-01-29 20:30:52 -08:00
Anatol Belski 1df334b75c revert test to the previous master state 2016-01-29 22:37:37 +01:00
Anatol Belski 620f4169a7 Merge branch 'PHP-7.0'
* PHP-7.0:
  yet one revert
  Revert "adjust test for 7.0"

Conflicts:
	ext/session/tests/bug69111.phpt
2016-01-29 21:46:15 +01:00
Anatol Belski b947aff98d yet one revert 2016-01-29 21:43:14 +01:00
Anatol Belski ac22f71477 Revert "adjust test for 7.0"
This reverts commit 7fdb019e66.
2016-01-29 21:27:22 +01:00
Anatol Belski 58b2344759 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "refix #69111 and one related test"
  Revert "fix yet another leak"
  add XFAIL
  Revert "refix #69111 and one related test"
  Revert "fix tests"
  Revert "fix leak in 7.0"
  add XFAIL
  Revert "fix leak in 5.6"

Conflicts:
	ext/session/tests/rfc1867_sid_invalid.phpt
2016-01-29 21:07:19 +01:00
Anatol Belski 6891e6abdf Revert "refix #69111 and one related test"
This reverts commit 80f7b01258.

Conflicts:
	ext/session/mod_files.c
2016-01-29 20:59:58 +01:00
Anatol Belski 3d90531d1e Revert "fix yet another leak"
This reverts commit 39084ccc68.
2016-01-29 20:58:00 +01:00
Anatol Belski d1d3c0832e add XFAIL 2016-01-29 20:57:05 +01:00
Anatol Belski ebcfe7618d Revert "refix #69111 and one related test"
This reverts commit 80f7b01258.
2016-01-29 20:50:14 +01:00
Anatol Belski 7f977c13dc Revert "fix tests"
This reverts commit d964ccba40.
2016-01-29 20:49:52 +01:00
Anatol Belski 57d9797b6f Revert "fix leak in 7.0"
This reverts commit ee49df011c.
2016-01-29 20:46:47 +01:00
Anatol Belski 6cc1c962f7 remove NEWS entry 2016-01-29 20:40:27 +01:00
Anatol Belski 16a99c6368 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add XFAIL
  Revert "fix leak in 5.6"
2016-01-29 20:37:46 +01:00
Anatol Belski b7dadfae87 add XFAIL 2016-01-29 20:36:11 +01:00
Anatol Belski 40b9f52c2c Revert "fix leak in 5.6"
This reverts commit fa548e5ca9.
2016-01-29 20:33:39 +01:00
Anatol Belski 1a9402c6ec Merge branch 'PHP-7.0'
* PHP-7.0:
  refix #69111 and one related test

Conflicts:
	ext/session/tests/rfc1867_sid_invalid.phpt
2016-01-29 19:59:26 +01:00
Anatol Belski 80f7b01258 refix #69111 and one related test
It is the least evil as the test just reduces the fail path. 5.6 seems
still broken in this regard, a backport should follow if travis is happy.
2016-01-29 19:55:50 +01:00
Prayag Verma c7c1679bb3 Fix typos in git rules and release process READMEs 2016-01-29 17:04:39 +01:00
Nikita Popov 1c709f08c7 Merge branch 'PHP-7.0' 2016-01-29 17:03:32 +01:00
Guillaume Outters d01566fe2f opcache config.m4: Use = for comparison
HAVE_OPCACHE_FILE_CACHE and HAVE_HUGE_CODE_PAGES where not
correctly set on old systems (e.g. FreeBSD 8), due to a PHPism in
config.m4.  Using the standard shell operator = instead of == makes
the configure script produce the correct output.
2016-01-29 17:02:21 +01:00
Guillaume Outters 10b2172f01 phpdbg config.m4: make it detectable by old shells
--enable-phpdbg is not detected on old systems (e.g.: stock FreeBSD 8), due to a PHPism in config.m4 (use of == operator).
Replacing == with the historic = makes it pass.
2016-01-29 17:01:04 +01:00
Anatol Belski 6ba7acee5c fix tests 2016-01-29 16:34:10 +01:00
Anatol Belski 6cc01882fb Merge branch 'PHP-7.0'
* PHP-7.0:
  fix tests
2016-01-29 16:33:19 +01:00
Anatol Belski d964ccba40 fix tests 2016-01-29 16:32:27 +01:00
Robin McCorkell 4b927d4a52 Properly read any remaining data when closing FastCGI socket 2016-01-29 15:14:08 +00:00
Anatol Belski f1dc4a4e10 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix yet another leak
2016-01-29 16:04:13 +01:00
Anatol Belski 39084ccc68 fix yet another leak 2016-01-29 16:03:33 +01:00
Jakub Zelenka 62b489287e Store errors in OpenSSL PKEY functions 2016-01-29 15:01:12 +00:00
Derick Rethans 6a2a4e4146 Merge branch 'PHP-7.0' 2016-01-29 15:34:57 +01:00
Derick Rethans eae5914554 Merge branch 'PHP-5.6' into PHP-7.0 2016-01-29 15:34:47 +01:00
Derick Rethans deba5275eb Added entry to NEWS 2016-01-29 15:34:36 +01:00
Derick Rethans c343d3fae5 Merge branch 'PHP-7.0' 2016-01-29 15:30:53 +01:00
Derick Rethans 3523c0a45f Merge branch 'PHP-5.6' into PHP-7.0 2016-01-29 15:30:31 +01:00
Derick Rethans 1a86825688 Use the new timelib function for comparing times 2016-01-29 15:28:11 +01:00
Willem-Jan 2aeef4e539 Test + support for negative timestamps with microtime 2016-01-29 15:22:22 +01:00
Willem-Jan 1bbbc47e79 Also test against equality 2016-01-29 15:22:22 +01:00
Willem-Jan 5879721936 Compare agaist fraction when sse are equal 2016-01-29 15:22:22 +01:00
Willem-Jan a0237259e9 Added test for comparing dates with microseconds 2016-01-29 15:22:22 +01:00
Derick Rethans 822ca45220 Merge in changes in timelib 2016.01 2016-01-29 15:21:55 +01:00
Anatol Belski 7421acfc90 fix wrong gc sequence 2016-01-29 15:20:44 +01:00
Anatol Belski 15ba618a69 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix wrong gc sequence
2016-01-29 15:19:40 +01:00
Anatol Belski d2c752d7e9 fix wrong gc sequence 2016-01-29 15:18:59 +01:00
Jakub Zelenka 538fbcdb7a Store errors in OpenSSL CSR functions 2016-01-29 13:55:24 +00:00
Anatol Belski 55fd320b31 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix leak in 7.0
2016-01-29 14:48:36 +01:00
Anatol Belski ee49df011c fix leak in 7.0 2016-01-29 14:48:05 +01:00
Anatol Belski 32d9973d7f Merge branch 'PHP-7.0'
* PHP-7.0:
  fix leak in 5.6
2016-01-29 13:59:45 +01:00
Anatol Belski a0d7a66756 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix leak in 5.6
2016-01-29 13:59:28 +01:00
Anatol Belski fa548e5ca9 fix leak in 5.6 2016-01-29 13:56:11 +01:00
Anatol Belski b783d0b338 revert the API string as well 2016-01-29 13:24:09 +01:00
Anatol Belski 0edeeaeeb2 Merge branch 'PHP-7.0'
* PHP-7.0:
  revert the API string as well
  update NEWS
2016-01-29 12:53:57 +01:00
Anatol Belski d9eea2c209 revert the API string as well 2016-01-29 12:52:41 +01:00
Anatol Belski 45f5ae8943 update NEWS
Fix for #70720 is postphoned to 7.0.4
2016-01-29 12:46:44 +01:00
Anatol Belski dd3d10cef1 update NEWS 2016-01-29 12:42:46 +01:00
Anatol Belski 47af41b785 Revert "Fix #70720"
This reverts commit ff7ed9021c.
2016-01-29 12:41:43 +01:00
Anatol Belski 371ad676f9 Merge branch 'PHP-7.0'
* PHP-7.0:
  adjust test for 7.0
  add test for bug #69111
  update NEWS
2016-01-29 12:30:24 +01:00
Anatol Belski 7fdb019e66 adjust test for 7.0 2016-01-29 12:29:41 +01:00
Anatol Belski a068047f62 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  add test for bug #69111
2016-01-29 12:29:05 +01:00
Anatol Belski 4b0feeb8fa add test for bug #69111 2016-01-29 12:27:35 +01:00
Anatol Belski e92abf850e sync NEWS 2016-01-29 11:42:57 +01:00
Anatol Belski 87a671bba0 reset ext/session to the state of 7.0.2 2016-01-29 11:41:45 +01:00
Anatol Belski c9f1446790 update NEWS 2016-01-29 11:29:09 +01:00
Anatol Belski 9475243310 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-01-29 11:28:38 +01:00
Anatol Belski efb667e683 update NEWS 2016-01-29 11:27:44 +01:00
Anatol Belski 7a86bbc79d Merge branch 'PHP-7.0'
* PHP-7.0:
  refix bug #69111, crash in 5.6 only
2016-01-29 11:25:51 +01:00
Anatol Belski cb6d045d11 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  refix bug #69111, crash in 5.6 only
2016-01-29 11:25:32 +01:00
Anatol Belski 25108babdb refix bug #69111, crash in 5.6 only 2016-01-29 11:24:19 +01:00
Anatol Belski e14e177ca7 update NEWS 2016-01-29 11:11:53 +01:00
Remi Collet e846801c79 Merge branch 'PHP-7.0'
* PHP-7.0:
  NEWS
  NEWS
  Fixed Bug #62172 FPM not working with Apache httpd 2.4 balancer/fcgi setup
2016-01-29 10:24:58 +01:00
Remi Collet 83947f4282 NEWS 2016-01-29 10:24:40 +01:00
Remi Collet c0802af52c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  NEWS
  Fixed Bug #62172 FPM not working with Apache httpd 2.4 balancer/fcgi setup
2016-01-29 10:24:15 +01:00
Remi Collet a81cb64a96 NEWS 2016-01-29 10:23:42 +01:00
Remi Collet 07d2dcdf09 Fixed Bug #62172 FPM not working with Apache httpd 2.4 balancer/fcgi setup
Only needed with Apache version < 2.4.12 (ex RHEL-7)
2016-01-29 10:20:42 +01:00
Anatol Belski f5aea18252 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2016-01-29 08:43:42 +01:00
Anatol Belski 9599acdef6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-01-29 08:43:13 +01:00
Anatol Belski d77b28507c update NEWS 2016-01-29 08:42:54 +01:00
Anatol Belski 8ee1ae9748 update NEWS 2016-01-29 08:41:25 +01:00
Anatol Belski 46964ac231 Merge branch 'PHP-7.0'
* PHP-7.0:
  reset ext/session to the state of 7.0.2
  reset the ext/session to the state of 5.6.17
2016-01-29 08:39:23 +01:00
Anatol Belski b858224b88 reset ext/session to the state of 7.0.2 2016-01-29 08:37:27 +01:00
Anatol Belski 74e51b3513 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  reset the ext/session to the state of 5.6.17
2016-01-29 08:37:05 +01:00
Anatol Belski ae6e139c77 reset the ext/session to the state of 5.6.17 2016-01-29 08:33:09 +01:00
Andrea Faulds 1b36037689 Test for void 2016-01-28 18:07:45 +00:00
Andrea Faulds 8412de9da5 Support void return type in reflection 2016-01-28 18:01:48 +00:00
Dmitry Stogov 86f54fcdf7 Use special type IS_ERROR instread of EG(error_zval). (we still need EG(error_zval) for SPL support). 2016-01-28 18:00:06 +03:00
Anatol Belski fc53d7408b update NEWS 2016-01-28 13:58:48 +01:00
Anatol Belski a1c675e3f2 update NEWS 2016-01-28 13:57:44 +01:00
Anatol Belski 686a17893a add missing headers for SIZE_MAX 2016-01-28 13:46:34 +01:00
Anatol Belski f4d7bbf4ac backport the escapeshell* functions hardening branch 2016-01-28 13:45:43 +01:00
Anatol Belski 828364e59c add tests 2016-01-28 13:27:26 +01:00
Julien Pauli df78eacc2f Fixed NEWS file entry 2016-01-28 12:47:53 +01:00
Anatol Belski 89ccd8ad56 Merge branch 'escapeshell_hardened_70' into PHP-7.0.3
* escapeshell_hardened_70:
  extend _SC_ARG_MAX usage onto platforms where it's available
  Fixed bug #71039 exec functions ignore length but look for NULL termination
  Follow up on bug #71270
2016-01-28 12:08:49 +01:00
Anatol Belski a9048d101f extend _SC_ARG_MAX usage onto platforms where it's available 2016-01-28 12:06:33 +01:00
Dmitry Stogov e99fe9865e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71474 (Crash because of VM stack corruption on Magento2).
2016-01-28 11:54:48 +03:00
Dmitry Stogov 6039d2d914 Fixed bug #71474 (Crash because of VM stack corruption on Magento2). 2016-01-28 11:41:15 +03:00
Yasuo Ohgaki 99101ba310 Update error message. Missed to include in previous commit 46d4a37105 2016-01-28 15:06:55 +09:00
Mikko 46d4a37105 Session regenerate id seems to malfunction with 3rd party session handlers
Fixed bug #71472 session_regenerate_id malfunctions with certain session handlers
2016-01-28 13:30:10 +09:00
Jakub Zelenka 9d640c0001 Store errors in OpenSSL PKCS12 functions 2016-01-27 15:38:52 +00:00
Stanislav Malyshev 8bc89942bb Merge branch 'PHP-7.0'
* PHP-7.0:
  Use safe alloc functions when calculations are made on sizes.
2016-01-26 22:55:20 -08:00
Stanislav Malyshev 88bd7cb418 Use safe alloc functions when calculations are made on sizes.
Fixes bug #71449, bug #71450
2016-01-26 22:33:51 -08:00
Stanislav Malyshev f379142d66 Fix bug #71459 - Integer overflow in iptcembed() 2016-01-26 17:30:50 -08:00
Stanislav Malyshev 54c210d2ea Fix bug #71459 - Integer overflow in iptcembed() 2016-01-26 17:26:52 -08:00
Jakub Zelenka f9f9ef2c2e Store errors in openssl_x509_checkpurpose 2016-01-26 16:15:49 +00:00
Anatol Belski af7174f05b fix typo 2016-01-26 16:41:00 +01:00
Xinchen Hui e1d0738534 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71439 (OpenSSL-dependent test fails to skip when openssl not enabled)
2016-01-26 16:22:55 +08:00
Xinchen Hui 6239e4410d Fixed bug #71439 (OpenSSL-dependent test fails to skip when openssl not enabled) 2016-01-26 16:22:31 +08:00
Xinchen Hui 7b32ec1671 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added test for bug #71443
2016-01-26 15:59:32 +08:00
Xinchen Hui bdbb32158c Added test for bug #71443 2016-01-26 15:59:18 +08:00
Xinchen Hui 7df2190f13 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  add note on readline support
  check for NULL and avoid crashes
2016-01-26 15:58:14 +08:00
Xinchen Hui c58ad955a9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71443 (Segfault using built-in webserver with intl using symfony)
  Fix memory leak with not freeing OpenSSL errors
  check for NULL and avoid crashes
  Update libmagic.patch for PHP-5.6
  Fixed bug #7143	(finfo throws notice for specific python file)
2016-01-26 15:57:49 +08:00
Xinchen Hui 9ff08ae17c Fixed bug #71443 (Segfault using built-in webserver with intl using symfony) 2016-01-26 15:57:39 +08:00
Anatol Belski 9a33f6583b add note on readline support 2016-01-26 08:55:49 +01:00
Jakub Zelenka 7159f16321 Merge branch 'PHP-7.0' 2016-01-25 17:20:05 +00:00
Jakub Zelenka 67c1921e2b Merge branch 'PHP-5.6' into PHP-7.0 2016-01-25 17:19:18 +00:00
Jakub Zelenka a63d0f55da Fix memory leak with not freeing OpenSSL errors 2016-01-25 16:50:16 +00:00
Antony Dovgal c140bbb5db check for NULL and avoid crashes 2016-01-25 14:30:33 +03:00
Antony Dovgal 52d89557f3 check for NULL and avoid crashes 2016-01-25 14:29:51 +03:00
Xinchen Hui 63fb2b7118 Improve the names 2016-01-25 16:00:10 +08:00
Xinchen Hui 506d5fe4df Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71442 (forward_static_call crash)
2016-01-25 12:13:35 +08:00
Xinchen Hui e7f2c5bd6a Fixed bug #71442 (forward_static_call crash) 2016-01-25 12:13:22 +08:00
Xinchen Hui d46b23a650 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update libmagic.patch for PHP-7.0
  Fixed compiler warnings
  Fixed bug #71434 (finfo throws notice for specific python file)
2016-01-25 11:46:42 +08:00
Xinchen Hui b68d525f16 Update libmagic.patch for PHP-7.0 2016-01-25 11:45:32 +08:00
Xinchen Hui 4cb47bd3bd Fixed compiler warnings 2016-01-25 11:45:14 +08:00
Xinchen Hui da7f42de38 Fixed bug #71434 (finfo throws notice for specific python file) 2016-01-25 11:40:08 +08:00
Xinchen Hui 47e7662a13 Update libmagic.patch for PHP-5.6 2016-01-25 11:25:04 +08:00
Xinchen Hui a458a4fdc1 Fixed bug #7143 (finfo throws notice for specific python file)
There seems be a bug while it was changed from regexec to
preg_match_impl:
https://github.com/php/php-src/commit/46906925#diff-56e765972d18c84894ea061cfe58076aR1757
2016-01-25 11:24:44 +08:00
Nikita Popov 319e82838a Remove dead code
OP_DATA isn't used in that way anymore
2016-01-24 23:04:15 +01:00
Nikita Popov c2fea2a46d Respect RC_INFERENCE during DFG construction
To avoid inserting phis that are only relevant with rc inference
enabled. Suprisingly, this affects only 0.8% of phis.
2016-01-24 23:04:06 +01:00
Nikita Popov 949aaea66e Don't insert duplicate predecessors
Otherwise we'll get corrupt phis
2016-01-24 23:03:57 +01:00
Nikita Popov cf6aa46dbd Fix SSA for ZEND_YIELD
Yield-by-ref defs a ref var, yield-by-var only defs an rc1/rcn var
if rc inference is used.

Also move BIND_LEXICAL where it belongs in DFG construction.
2016-01-24 23:03:50 +01:00
Bob Weinand 9017bb94d4 Merge branch 'PHP-7.0' 2016-01-24 19:55:31 +01:00
Bob Weinand 001ce475ee Fixed bug #71441 (Typehinted Generator with return in try/finally crashes) 2016-01-24 19:55:16 +01:00
Xinchen Hui 6d674b3d91 Merge branch 'PHP-7.0' 2016-01-24 03:57:17 -08:00
Xinchen Hui d74cc3afcf Fixed Bug #71435 (Reproducible crash using opcache.file_cache_only=1 and class constant) 2016-01-24 03:56:47 -08:00
Xinchen Hui ae122bf7ad Fixed warning of incompatible pointer 2016-01-23 22:49:15 -08:00
Bob Weinand cc9445ce68 Merge branch 'PHP-7.0' 2016-01-23 18:17:18 +01:00
Bob Weinand 65ef7f8c33 Use uint64_t for flags (warning) 2016-01-23 18:16:57 +01:00
Jakub Zelenka 1091cec28f Update NEWS and UPGRADING for PR #1701 2016-01-22 19:41:11 +00:00
Eddie Kohler 104876dd8e json_encode: Escape U+2028 and U+2029 more often.
These characters are illegal in Javascript, so leaving them unescaped
is risky. The default encoder ($flags = 0) is fine, but the encoder
with JSON_UNESCAPED_UNICODE flag is not.

In case anyone wants the ability to leave these characters unescaped,
provide JSON_UNESCAPED_LINE_TERMINATORS.
2016-01-22 19:40:58 +00:00
Jakub Zelenka 0e2a5cdc1a Store main errors in openssl_x509_parse 2016-01-22 16:43:23 +00:00
Dmitry Stogov 9b854ebab4 More accurate handling of isset() and unset() 2016-01-22 13:32:20 +03:00
Dmitry Stogov 79071fe227 Added optimization constraint (don't optimize result of NEW, because constructor may throw exception) 2016-01-22 13:30:34 +03:00
Xinchen Hui 0df9b51479 Return meaningful value 2016-01-22 15:34:56 +08:00
Xinchen Hui 9b61479166 We don't need to dup zend_class_constant here.
quote why the internal class is still using duplication:
```
for internal classes, the zend_class_constant is malloc-ed. we need to
free it.

if (const->ce == ce) {
zval_ptr_dtor(&const->value);
free(const)
}
so, if two classes share one const, and it(parent class) was freed
before, this read(in child class, const->ce) is invalid..

and destroy_zend_class is called via zend_hash_destroy(class_table).
which is not in reverse order... so, parent classes are dtor first.

if we want this work, we should change that order.
```
2016-01-22 11:22:37 +08:00
Nikita Popov af255c67eb Make op1/op2 decoding in phpdbg more complete 2016-01-21 21:58:23 +01:00
Nikita Popov b1e4883d26 Don't print try-catch offset for FAST_RET w/o ev 2016-01-21 21:53:13 +01:00
Nikita Popov 7899498c6f Mark op1 of INIT_FCALL as NUM 2016-01-21 21:31:14 +01:00
Nikita Popov 9b57e07298 Consolidate op1/op2 vm flags 2016-01-21 21:15:05 +01:00
Jakub Zelenka 116d64ff58 Store errors in openssl_x509_fingerprint 2016-01-21 16:41:27 +00:00
Andrey Hristov 64cb71cc8b Add missing macro 2016-01-21 12:59:23 +01:00
Xinchen Hui 4ed5b4cdf5 Typo (SKIPF -> SKIPIF) 2016-01-21 15:27:53 +08:00
Xinchen Hui b27e10284a Empty line 2016-01-21 14:37:54 +08:00
Xinchen Hui 145555f81c Cover overloaded functions 2016-01-21 14:31:03 +08:00
Xinchen Hui 2ee73ee094 Let's add a class entry for testing 2016-01-21 13:53:29 +08:00
Xinchen Hui 62f3e5adf8 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  re-arrange NEWS
  5.6.19 will be next
  Fix test when run with openssl < 1.0.2 (reorder so no more SSLv2 message) Fix skip message to work
  fix ReflectionClass::__toString doc block omitted
  fix ReflectionClass::__toString doc block omitted
  improve fix for bug #71201
  improve fix for bug #71201
2016-01-21 13:32:08 +08:00
Xinchen Hui 62c1c11ad3 Fixed bug #71413 (Crash with constants on internal interfaces) 2016-01-21 13:30:41 +08:00
Ferenc Kovacs 50c255d16c Merge branch 'PHP-7.0'
* PHP-7.0:
  re-arrange NEWS
2016-01-21 02:25:39 +01:00
Ferenc Kovacs ec85410eb2 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  re-arrange NEWS
2016-01-21 02:25:23 +01:00
Ferenc Kovacs 848de651a2 re-arrange NEWS 2016-01-21 02:24:51 +01:00
Ferenc Kovacs b2d5666d94 prepare 5.6.18RC1 2016-01-21 02:24:05 +01:00
Jakub Zelenka 555126e90b Store errors in openssl_x509_export 2016-01-20 20:31:09 +00:00
Ferenc Kovacs ada6fb0792 Merge branch 'PHP-7.0'
* PHP-7.0:
  5.6.19 will be next
2016-01-20 15:43:49 +01:00
Ferenc Kovacs f636f4c9a3 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  5.6.19 will be next
2016-01-20 15:43:15 +01:00
Ferenc Kovacs a4fc2e1eb2 5.6.19 will be next 2016-01-20 15:39:05 +01:00
Remi Collet 544f8a0794 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix test when run with openssl < 1.0.2 (reorder so no more SSLv2 message) Fix skip message to work
  fix ReflectionClass::__toString doc block omitted
2016-01-20 13:11:13 +01:00
Remi Collet e58cf4f996 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix test when run with openssl < 1.0.2 (reorder so no more SSLv2 message) Fix skip message to work
2016-01-20 13:10:56 +01:00
Remi Collet 3c8f287d58 Fix test when run with openssl < 1.0.2 (reorder so no more SSLv2 message)
Fix skip message to work
2016-01-20 13:08:58 +01:00
Joe Watkins 7d100866ec Merge branch 'master' of https://github.com/php/php-src 2016-01-20 10:55:09 +00:00
Joe Watkins 11cf826b89 fix ReflectionClass::__toString doc block omitted 2016-01-20 10:54:55 +00:00
Joe Watkins 98164714ea Merge branch 'PHP-7.0' of https://github.com/php/php-src into PHP-7.0 2016-01-20 10:52:57 +00:00
Joe Watkins b899656eb0 fix ReflectionClass::__toString doc block omitted 2016-01-20 10:52:27 +00:00
Anatol Belski d284072f78 Merge branch 'PHP-7.0'
* PHP-7.0:
  improve fix for bug #71201
  improve fix for bug #71201
2016-01-20 09:46:58 +01:00
Anatol Belski 4b97237374 improve fix for bug #71201 2016-01-20 09:46:09 +01:00
Anatol Belski a63904b150 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  improve fix for bug #71201
2016-01-20 09:45:49 +01:00
Anatol Belski 508d1dae25 improve fix for bug #71201 2016-01-20 09:44:28 +01:00
Anatol Belski a6801092ab improve fix for bug #71201 2016-01-20 00:49:05 +01:00
Nikita Popov dcf3db6ac8 Mark isset($$var) as INDIRECT_VAR_ACCESS 2016-01-19 22:26:32 +01:00
Nikita Popov 5662d73528 Add support for Pi type constraints
Supports TYPE_CHECK and IS_IDENTICAL for now.
2016-01-19 22:09:29 +01:00
Jakub Zelenka 63f8ef6ee1 Store errors in OpenSSL SPKI functions 2016-01-19 19:43:48 +00:00
Dmitry Stogov a8900b5636 Typo (ASSESS->ACCESS) 2016-01-19 15:54:44 +03:00
Dmitry Stogov a2ff3a46a4 Use ZEND_FUNC_INDIRECT_VAR_ASSESS instead of ZEND_FUNC_TOO_DYNAMIC. Handle function with exceptions handlers and generators separately. 2016-01-19 15:33:08 +03:00
Anatol Belski 29176aaa01 vc doesn't support #warning 2016-01-19 12:14:59 +01:00
Anatol Belski 60d98605ca reorder comments 2016-01-19 09:04:52 +01:00
Anatol Belski 03263fded1 get rid of win32_ prefix 2016-01-19 09:02:12 +01:00
Anatol Belski fb1f4769b9 check return values and cleanup the job object on exit 2016-01-19 08:57:58 +01:00
Anatol Belski b5035227a1 Merge branch 'PHP-7.0'
* PHP-7.0:
  add 7.0.4 block to NEWS
  bump version to 7.0.4-dev
2016-01-19 08:04:40 +01:00
Anatol Belski c6a30d5c8a add 7.0.4 block to NEWS 2016-01-19 08:03:44 +01:00
Anatol Belski b5cd7c30f8 bump version to 7.0.4-dev 2016-01-19 08:02:39 +01:00
Anatol Belski f7e6ff99d7 set versions to 7.0.3RC1 2016-01-18 23:03:59 +01:00
Anatol Belski 8e60e0c927 trap also children exits on shutdown to avoid unhandled exceptions 2016-01-18 20:52:17 +01:00
Anatol Belski 5e73db9cb7 integrate the /Gw compiler switch 2016-01-18 18:32:19 +01:00
Anatol Belski cce370d4c9 fix compiler version check 2016-01-18 18:32:17 +01:00
Anatol Belski b94ed769f4 integrate /Zc:inline switch 2016-01-18 18:32:15 +01:00
Anatol Belski 9ceb53b071 add proper noinline specifier for VC 2016-01-18 18:32:12 +01:00
Anatol Belski a50120c416 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test for 7.0, OpenSSL >= 1.0.2 disables SSLv2 by default
2016-01-18 18:24:42 +01:00
Anatol Belski 2749bf4576 fix test for 7.0, OpenSSL >= 1.0.2 disables SSLv2 by default 2016-01-18 18:23:07 +01:00
Anatol Belski 5af056a662 Merge branch 'PHP-7.0'
* PHP-7.0:
  fork test
  fix test
  fork test
  fork test for win32
  fork test
2016-01-18 17:02:58 +01:00
Anatol Belski 71dbad172f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fork test
  fix test
  fork test
  fork test for win32
  fork test
2016-01-18 17:02:23 +01:00
Anatol Belski fa0dd6006d fork test 2016-01-18 16:59:17 +01:00
Anatol Belski 5673ede6e9 fix test 2016-01-18 16:52:48 +01:00
Anatol Belski adf0be7680 fork test 2016-01-18 16:45:35 +01:00
Anatol Belski f0e2fe8e75 fork test for win32 2016-01-18 16:37:04 +01:00
Anatol Belski f0b02f2351 fork test 2016-01-18 16:34:20 +01:00
Anatol Belski e1540044e9 add UPGRADING note for PHP_FCGI_CHILDREN on Windows 2016-01-18 08:26:58 +01:00
Stanislav Malyshev 52e0c4081f Fix bug #71313 - Use-after-free vulnerability in SPL(SplObjectStorage, unserialize) 2016-01-17 23:23:42 -08:00
Yasuo Ohgaki 2dce532a90 Merge branch 'PHP-7.0'
* PHP-7.0:
  Use SUCCESS/FAILURE
2016-01-18 13:35:43 +09:00
Yasuo Ohgaki d7fc3be99e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Use SUCCESS/FAILURE
2016-01-18 13:35:01 +09:00
Yasuo Ohgaki ee1dd4949a Use SUCCESS/FAILURE 2016-01-18 13:33:47 +09:00
Yasuo Ohgaki 05e87fa418 Fixed bug #71070 Custom session handler write method returns false, warning message misleading
This is commited to master only.
If you have better error message suggestion, feel free to improve it.
2016-01-18 12:03:41 +09:00
Yasuo Ohgaki f9c595f3c0 Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test 2016-01-18 10:54:07 +09:00
Stanislav Malyshev bcd64a9bdd Fixed bug #71311: Use-after-free vulnerability in SPL(ArrayObject, unserialize) 2016-01-17 17:53:03 -08:00
Yasuo Ohgaki 3a8c4a0084 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
2016-01-18 10:52:48 +09:00
Yasuo Ohgaki 7554478a4c Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test
2016-01-18 10:52:11 +09:00
Yasuo Ohgaki dc23f1f38f Fixed bug #65720 ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c:281: bad if test 2016-01-18 10:51:29 +09:00
Yasuo Ohgaki 069522d494 Update NEWS 2016-01-18 09:47:34 +09:00
Yasuo Ohgaki e4f40a84c7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug 71397 (mb_send_mail segmentation fault)
2016-01-18 09:42:11 +09:00
Yasuo Ohgaki 3b55386e9b Merge branch 'pull-request/1731' into PHP-7.0
* pull-request/1731:
  Fixed bug 71397 (mb_send_mail segmentation fault)
2016-01-18 09:39:38 +09:00
Yasuo Ohgaki 5b5524a332 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71397 (mb_send_mail segmentation fault)
2016-01-18 09:23:42 +09:00
Yasuo Ohgaki ff10dceff8 Fixed bug #71397 (mb_send_mail segmentation fault) 2016-01-18 09:23:20 +09:00
Tim Düsterhus e585696a0b Fixed bug 71397 (mb_send_mail segmentation fault) 2016-01-17 15:30:09 +01:00
Yasuo Ohgaki 8052df8110 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:php-src:
  Remove unnecessary warning by warning reorder.
2016-01-17 17:14:15 +09:00
Yasuo Ohgaki 1277846228 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71394 (session_regenerate_id() must close opened session on errors)
2016-01-17 17:12:49 +09:00
Yasuo Ohgaki 3b2d98a625 Fixed bug #71394 (session_regenerate_id() must close opened session on errors) 2016-01-17 17:11:47 +09:00
Yasuo Ohgaki 00eaaca18a Remove unnecessary warning by warning reorder. 2016-01-17 17:08:44 +09:00
Yasuo Ohgaki 82a0c47712 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove unnecessary warning by warning reorder.
2016-01-17 16:21:48 +09:00
Yasuo Ohgaki dbba4418d8 Remove unnecessary warning by warning reorder. 2016-01-17 16:21:01 +09:00
Stanislav Malyshev 6297a117d7 Fixed bug #71323 - Output of stream_get_meta_data can be falsified by its input 2016-01-16 22:10:54 -08:00
Stanislav Malyshev 1c1b8b6998 Fix bug #71391: NULL Pointer Dereference in phar_tar_setupmetadata() 2016-01-16 20:43:43 -08:00
Yasuo Ohgaki 691bade4be Merge branch 'PHP-7.0'
* PHP-7.0:
  Add test for Bug #70133 (Extended SessionHandler::read is ignoring $session_id when calling parent)
2016-01-16 05:37:26 +09:00
Yasuo Ohgaki 9f2240963f Add test for Bug #70133 (Extended SessionHandler::read is ignoring $session_id when calling parent) 2016-01-16 05:29:19 +09:00
Anatol Belski e514492c3b Merge branch 'PHP-7.0'
* PHP-7.0:
  PS(id) is zend_string *, use appropriate API
  Update NEWS
2016-01-15 15:48:24 +01:00
Anatol Belski 93db2dac48 PS(id) is zend_string *, use appropriate API 2016-01-15 15:47:09 +01:00
Anatol Belski e1c3df3e88 fork test 2016-01-15 13:10:09 +01:00
Anatol Belski d7a1b243da fork test 2016-01-15 13:02:36 +01:00
Anatol Belski 91545ce3a2 add WinEditLine support for CLI 2016-01-15 12:45:57 +01:00
Anatol Belski 3169d473e9 add wineditline info to minfo 2016-01-15 12:45:56 +01:00
Anatol Belski d249321116 basic support for wineditline 2016-01-15 12:45:54 +01:00
Anatol Belski 9ac3b75116 config.w32 for ext/readline 2016-01-15 12:45:53 +01:00
Yasuo Ohgaki 925aea7e1b Update NEWS 2016-01-15 17:05:58 +09:00
Anatol Belski 400a6a4ccb Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix header file include
2016-01-15 08:44:22 +01:00
Anatol Belski 348dd1a018 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix header file include
2016-01-15 08:43:56 +01:00
Jason Young d1401f6059 Fix header file include 2016-01-15 08:43:00 +01:00
Yasuo Ohgaki 5b18b2182d Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #69111 (Crash in SessionHandler::read()). Made session save handler abuse much harder than before.
2016-01-15 16:25:33 +09:00
Yasuo Ohgaki 34ff7bbeb1 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #69111 (Crash in SessionHandler::read()). Made session save handler abuse much harder than before.
2016-01-15 16:24:22 +09:00
Stanislav Malyshev 4c2424eb24 Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream() 2016-01-14 22:58:40 -08:00
Yasuo Ohgaki bfb9307b2d Fixed bug #69111 (Crash in SessionHandler::read()).
Made session save handler abuse much harder than before.
2016-01-15 15:50:14 +09:00
Yasuo Ohgaki d7f8d9e3a9 Fix typo 2016-01-15 15:21:18 +09:00
Yasuo Ohgaki 31ae802736 Fix uninitialized read in rfc1867 handler reported by valgrind. Only in PHP 5.6.
This commit fixes initialized read, but calling php_session_initialize() directly
is problematic because configuration could be invalid. Invalid config may result
in segfault. This will be addressed later.
2016-01-15 15:18:00 +09:00
Andrey Hristov 7e9a6f7202 Move cleanup code to a separate function and export it. Export also
other functions that can be of use for plugins
2016-01-15 03:08:02 +01:00
Yasuo Ohgaki 07849e8006 Merge branch 'PHP-7.0'
* PHP-7.0:
  Improved fix for bug #68063 (Empty session IDs do still start sessions).
2016-01-15 10:19:29 +09:00
Yasuo Ohgaki 132d919c85 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Improved fix for bug #68063 (Empty session IDs do still start sessions).
2016-01-15 10:19:01 +09:00
Yasuo Ohgaki 8c37a086c7 Improved fix for bug #68063 (Empty session IDs do still start sessions). 2016-01-15 09:45:08 +09:00
Anatol Belski aa7aaeb7a0 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-01-14 18:42:37 +01:00
Anatol Belski 4ab7d6a5e1 update NEWS 2016-01-14 18:42:13 +01:00
Anatol Belski 242775a19b Merge branch 'PHP-7.0'
* PHP-7.0:
  port 4308c868f9 to 7.0
2016-01-14 18:41:22 +01:00
Anatol Belski 33cc42d8a5 port 4308c868f9 to 7.0 2016-01-14 18:38:30 +01:00
Anatol Belski 1497e4babc Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #70979 crash with bad soap request
  Update NEWS
2016-01-14 17:48:59 +01:00
Anatol Belski b05eb52c35 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  Fixed bug #70979 crash with bad soap request
  Update NEWS
2016-01-14 17:48:33 +01:00
Anatol Belski c126725a7f update NEWS 2016-01-14 17:47:17 +01:00
Anatol Belski 4308c868f9 Fixed bug #70979 crash with bad soap request
The error handler is overloaded with the SOAP one. However the SOAP
handler eventually wants to access some of its globals. This won't
work as long as the SOAP globals aren't initialized. The use case
is when an error is thrown before RINIT went through. As the call
order is arbitrary, the safest is to wait when all the modules
called their RINIT.
2016-01-14 17:42:28 +01:00
Andrey Hristov bcf7172258 Forgot to add const-ness to the macro 2016-01-14 14:55:23 +01:00
Andrey Hristov c69c23ba2f Convenience macros 2016-01-14 12:58:41 +01:00
Anatol Belski ca7b33e247 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-01-14 09:04:16 +01:00
Anatol Belski 12eff055da update NEWS 2016-01-14 09:02:54 +01:00
Xinchen Hui ad85cce1bc Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  Avoid incomplete zend_internal_function initialization.
2016-01-14 14:49:57 +08:00
Xinchen Hui 5449095c4f Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed macro name
2016-01-14 14:49:34 +08:00
Xinchen Hui 262f09d678 Fixed macro name 2016-01-14 14:49:23 +08:00
Xinchen Hui 55b0a392a6 Merge branch 'patch-1' of https://github.com/JHGitty/php-src
* 'patch-1' of https://github.com/JHGitty/php-src:
  Fix typo
2016-01-14 11:53:26 +08:00
Xinchen Hui da658f28bb Merge branch 'patch' of https://github.com/jakkdu/php-src
* 'patch' of https://github.com/jakkdu/php-src:
  phpdbg: fix potential format string bug
2016-01-14 11:51:53 +08:00
Stanislav Malyshev 285cd3417f Fix bug #71335: Type Confusion in WDDX Packet Deserialization 2016-01-13 16:43:04 -08:00
Stanislav Malyshev 635ba1f2c3 Merge branch 'bug71354' into PHP-5.5.32
* bug71354:
  Fix bug #71354 - remove UMR when size is 0
2016-01-13 16:33:37 -08:00
Stanislav Malyshev 13ad4d3e97 Fix bug #71354 - remove UMR when size is 0 2016-01-13 16:32:29 -08:00
Anatol Belski 092a87c9d8 implement FCGI children automatic restart and cleanup 2016-01-13 21:32:38 +01:00
Anatol Belski 5b91658365 Basic implementation for FCGI to respect PHP_FCGI_CHILDREN on Windows
PHP_FCGI_CHILDREN number of children processes will be spawned, sharing
same TCP socket. To implement yet

- children cleanup on exit
- automatic children re-spawning
2016-01-13 21:32:36 +01:00
Andrey Hristov 4e8988b45a commit 597db443cd6ce76b0dce590b9f51b5d4d610325e
Author: John Bafford <john@bafford.com>
Date:   Mon Jan 11 17:17:44 2016 -0500

    MYSQLND_METHOD(mysqlnd_conn_data, get_scheme) should take socket_or_pipe by reference to allow modifications

    Fixes a read-from-null crash in mnd_pestrdup when trying to duplicate the socket filename. (Fixes regression in e81ecc80c)
2016-01-13 16:30:23 +01:00
Dmitry Stogov 8e5cf2e186 Merge branch 'PHP-7.0'
* PHP-7.0:
  Avoid incomplete zend_internal_function initialization.
2016-01-13 15:06:50 +03:00
Dmitry Stogov 6a2621e3a5 Avoid incomplete zend_internal_function initialization. 2016-01-13 15:06:17 +03:00
Xinchen Hui 86883b793b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())
2016-01-13 17:38:36 +08:00
Xinchen Hui 39f0950746 Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars()) 2016-01-13 17:38:18 +08:00
Dmitry Stogov d47285648c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71248 (Wrong interface is enforced)
  Update NEWS
2016-01-13 11:42:50 +03:00
Dmitry Stogov 50be2c89be Fixed bug #71248 (Wrong interface is enforced) 2016-01-13 11:41:57 +03:00
Yasuo Ohgaki c3c6ab08fe Update NEWS 2016-01-13 06:40:28 +09:00
Yasuo Ohgaki 1f513805dc Update NEWS 2016-01-13 06:40:11 +09:00
Nikita Popov bef124513e Merge branch 'PHP-7.0' 2016-01-12 16:48:44 +01:00
Bogdan Padalko 2b4625d687 Remove obj handlers ptr value from spl_object_hash()
We still keep the same output length, for people who rely on the
return value having a specific format. The handler part will now
simply be always the same (it was the same nearly always anyway).

The motivation behind this change is to avoid breaking
spl_object_hash() and SplObjectStorage if an extension changes the
handlers table of an object. This has come up, for example, in
weakref implementations.
2016-01-12 16:47:21 +01:00
Nikita Popov 35662c9bd3 Forbid double use() and use() of param
Also commit a test I forgot to add for forbidden use() of
auto-globals.
2016-01-12 15:37:39 +01:00
Julien Pauli 65e592e477 Merge branch 'PHP-7.0'
* PHP-7.0:
  Trigger op_array_handler() if HAVE_OP_ARRAY_HANDLER is set
2016-01-12 15:19:39 +01:00
Julien Pauli bec0aec116 Trigger op_array_handler() if HAVE_OP_ARRAY_HANDLER is set 2016-01-12 15:19:14 +01:00
Anatol Belski c527549e89 Fixed bug #71039 exec functions ignore length but look for NULL termination 2016-01-12 14:57:22 +01:00
Anatol Belski 22a5ccab72 Follow up on bug #71270
Using the max allowed command line length for an underlying OS.
2016-01-12 14:41:44 +01:00
Remi Collet aa8d3a8cc6 fix the fix for bug #70976 (imagerotate) 2016-01-12 14:03:35 +01:00
Remi Collet ad57a71aa4 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix the fix for bug #70976 (imagerotate)
  Use php_session_abort()
2016-01-12 13:54:52 +01:00
Remi Collet af3f3be0c1 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  fix the fix for bug #70976 (imagerotate)
  Use php_session_abort()
2016-01-12 13:54:23 +01:00
Remi Collet 14e4d393cf fix the fix for bug #70976 (imagerotate) 2016-01-12 13:52:27 +01:00
Yasuo Ohgaki 63c77ee4b1 Use php_session_abort() 2016-01-12 20:39:33 +09:00
Yasuo Ohgaki c200e8e1a2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed Bug #71038 session_start() returns TRUE on failure
2016-01-12 19:53:14 +09:00
Yasuo Ohgaki 224aaf94af Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed Bug #71038 session_start() returns TRUE on failure
2016-01-12 19:52:54 +09:00
Yasuo Ohgaki a15e9ccba8 Fixed Bug #71038 session_start() returns TRUE on failure 2016-01-12 19:09:49 +09:00
Anatol Belski 5e99d19df5 Merge branch 'PHP-7.0'
* PHP-7.0:
  partial test fixes, only obvious mistaking parts
2016-01-12 10:45:57 +01:00
Anatol Belski 4e7cb057a0 partial test fixes, only obvious mistaking parts 2016-01-12 10:44:55 +01:00
Anatol Belski f3c6bd2108 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove the unnecessary condition part
  fix possible buffer overrun in the errmsg string
  integrate tsrmls cache
2016-01-12 10:24:21 +01:00
Anatol Belski d8e2b8424f remove the unnecessary condition part 2016-01-12 10:22:10 +01:00
Dmitry Stogov 6579e48417 Introduced BIND_STATIC opcode instead of FETCH_R/FETCH_W(static)+ASSIGN/ASSIGN_REF (similar to BIND_GLOBAL).
In the future we may refer to static variable by index instead of name, to eliminate hash lookup.
2016-01-12 12:20:35 +03:00
Anatol Belski 8e7c469f82 fix possible buffer overrun in the errmsg string 2016-01-12 10:17:32 +01:00
Anatol Belski b54739e68d integrate tsrmls cache 2016-01-12 09:42:38 +01:00
Anatol Belski 1234e2eb21 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS for fixed bug #71132, fixed bug #71197
2016-01-12 08:35:17 +01:00
Anatol Belski 391b73b484 update NEWS for fixed bug #71132, fixed bug #71197 2016-01-12 08:34:35 +01:00
Anatol Belski d880131736 Merge branch 'PHP-7.0'
* PHP-7.0:
  re-apply patch for github PR #1695
2016-01-12 07:09:32 +01:00
Thomas Punt 3bbcd84e2f re-apply patch for github PR #1695 2016-01-12 07:07:51 +01:00
Insu Yun 35d5cd5c6e phpdbg: fix potential format string bug 2016-01-12 04:21:57 +00:00
Anatol Belski 786d9599f6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "update NEWS"
  Revert "patch for github PR #1695"
2016-01-11 22:04:04 +01:00
Anatol Belski f53a5dcca3 Revert "update NEWS"
This reverts commit 7954e5dc2a.
2016-01-11 22:03:39 +01:00
Anatol Belski 66d10fe085 Revert "patch for github PR #1695"
This reverts commit 58dd956b63.

crashes on travis
2016-01-11 22:03:36 +01:00
Anatol Belski 5e2ed01dd3 Revert "patch for github PR #1695"
This reverts commit 58dd956b63.

crashes on travis
2016-01-11 22:01:55 +01:00
Nikita Popov 0e936db801 Make PI construction human-readable
Also makes it easy to add PIs for TI.
2016-01-11 21:53:22 +01:00
Nikita Popov c817ac4d52 Use worklist for DFG construction
About 40x faster.
2016-01-11 21:53:10 +01:00
Anatol Belski 765c5ca745 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
  Simplify code per Anatol.
  Insert bug number.
  Use strtoll() when apr_off_t is 64 bits.
2016-01-11 21:45:42 +01:00
Anatol Belski 3bbbd3ebcd update NEWS 2016-01-11 21:44:23 +01:00
Anatol Belski e509144714 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-01-11 21:43:52 +01:00
Anatol Belski ba7736729e update NEWS 2016-01-11 21:42:31 +01:00
Anatol Belski ce568f98bf Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Simplify code per Anatol.
  Insert bug number.
  Use strtoll() when apr_off_t is 64 bits.
2016-01-11 21:39:31 +01:00
Adam Harvey f301a0b23c Simplify code per Anatol. 2016-01-11 21:36:55 +01:00
Adam Harvey 3217c033a5 Insert bug number. 2016-01-11 21:36:53 +01:00
Adam Harvey c895dc5b5b Use strtoll() when apr_off_t is 64 bits. 2016-01-11 21:36:51 +01:00
Anatol Belski 5f01812340 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  patch for github PR #1695
  fix out format
2016-01-11 21:29:44 +01:00
Anatol Belski 7954e5dc2a update NEWS 2016-01-11 21:14:16 +01:00
Thomas Punt 58dd956b63 patch for github PR #1695 2016-01-11 21:11:55 +01:00
Anatol Belski 1f6612541f fix out format 2016-01-11 20:57:34 +01:00
Anatol Belski 138f290500 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  backport 9a07245b72 from 7.0
2016-01-11 20:42:56 +01:00
Anatol Belski 763f86b5d4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2016-01-11 20:42:20 +01:00
Anatol Belski 6d649b018c update NEWS 2016-01-11 20:41:29 +01:00
Anatol Belski 333765edce Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  backport 9a07245b72 from 7.0
2016-01-11 20:39:52 +01:00
Anatol Belski fffbca55e8 backport 9a07245b72 from 7.0 2016-01-11 20:37:46 +01:00
JHGitty 313e62836e Fix typo 2016-01-11 14:29:05 +01:00
Anatol Belski 3054487ecb Merge branch 'PHP-7.0'
* PHP-7.0:
  Align NEWS entry format
2016-01-11 12:17:21 +01:00
Anatol Belski b188cafab3 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Align NEWS entry format
2016-01-11 12:16:41 +01:00
Anatol Belski e014244314 Merge branch 'PHP-7.0'
* PHP-7.0:
  further datatype and range check fixes for ibase
  datatype fixes
  fix typo for #ifdef
  Fix various bugs in interbase
2016-01-11 11:59:48 +01:00
Anatol Belski 39e571c8d8 further datatype and range check fixes for ibase 2016-01-11 09:46:53 +01:00
Anatol Belski 57a2a8d4fa datatype fixes 2016-01-11 08:52:54 +01:00
Anatol Belski 23fa54b908 fix typo for #ifdef 2016-01-11 08:37:16 +01:00
Xinchen Hui 8bfa5193d5 Fix various bugs in interbase
Also read: https://marc.info/?l=php-internals&m=145077389117375&w=2
2016-01-11 08:32:47 +01:00
Jakub Zelenka b5c990c39b Store errors for some OpenSSL RAND handling 2016-01-10 18:28:01 +00:00
Jakub Zelenka fb3a7e0ef4 Add error storing to the OpenSSL CONF part 2016-01-10 17:38:49 +00:00
Jakub Zelenka d5a148e237 Use and fix storing errors in openssl_x509_export_to_file
Also use persistent memory to prevent segfualt
2016-01-09 18:45:02 +00:00
Jakub Zelenka 19d40fc2b0 Implement logic for OpenSSL error storing 2016-01-09 17:45:08 +00:00
Jakub Zelenka e453af3851 Warn about passing tag for non AEAD modes 2016-01-09 17:25:53 +00:00
Lior Kaplan 35e87c04fe Align NEWS entry format 2016-01-09 19:10:01 +02:00
Mickaël b0780d3f41 fpm: call zend_signal_init() in child
This addresses bug #71269.

When an fpm child handles more than one request, zend_signal_startup() will
override the saved signal handlers with the internal zend handlers set from the
previous request, causing a SIGQUIT signal to result in a core dump rather than
gracefully exiting (the expected behaviour).

This is fixed by adding a call to zend_signal_init() after setting the
signal handlers in the child. The same technique is used in the apache SAPI
module in commit fd5a756ad4 which addresses
bug #61083.
2016-01-09 04:54:02 +01:00
Andrea Faulds e6ed53e011 Merge branch 'PHP-7.0' 2016-01-08 17:21:59 +00:00
Andrea Faulds ae50a0c0be Fix bug #71314 2016-01-08 17:20:52 +00:00
Jakub Zelenka 1d111320b9 Add initial almost empty php_openssl_store_errors 2016-01-08 14:57:31 +00:00
Anatol Belski c8ff622f6d Merge branch 'PHP-7.0'
* PHP-7.0:
  update libs_versions.txt
  update libs versions
2016-01-08 08:36:43 +01:00
Anatol Belski c7256095c5 update libs_versions.txt 2016-01-08 08:36:21 +01:00
Anatol Belski a98f6dad00 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update libs versions
2016-01-08 08:35:17 +01:00
Anatol Belski 07133ae649 update libs versions 2016-01-08 08:33:55 +01:00
Anatol Belski d7eb63422a Merge branch 'PHP-7.0'
* PHP-7.0:
  allow static build of ext/ftp
  update NEWS
  Fixed bug #71227 Can't compile php_curl statically
2016-01-08 08:08:45 +01:00
Anatol Belski caae1191da allow static build of ext/ftp 2016-01-08 08:07:15 +01:00
Nikita Popov bb357e0617 Fix bitset initialization 2016-01-07 23:49:42 +01:00
Anatol Belski e885cd817c Fixed bug #71227 Can't compile php_curl statically 2016-01-07 18:58:59 +01:00
Anatol Belski 0e808b2332 update NEWS 2016-01-07 18:56:53 +01:00
Anatol Belski 1fb763ccab Fixed bug #71227 Can't compile php_curl statically 2016-01-07 18:55:05 +01:00
Nikita Popov c602ac60b9 Fix CE fetching for NEW object type inference
Create a common function for getting a class entry.
2016-01-07 18:53:10 +01:00
Nikita Popov 04dc5d7420 Range&type inference for JMP_SET 2016-01-07 18:53:02 +01:00
Anatol Belski e712764dfe Merge branch 'PHP-7.0'
* PHP-7.0:
  more informative error message for opcache fallback
  add SKIPIF condition
2016-01-07 17:58:44 +01:00
Anatol Belski e72848c171 more informative error message for opcache fallback 2016-01-07 17:57:41 +01:00
Anatol Belski 42a145273c add SKIPIF condition 2016-01-07 17:54:26 +01:00
Jakub Zelenka e00ba47d40 Add global data for storing OpenSSL errors 2016-01-07 16:38:24 +00:00
Xinchen Hui 9c2dde98db Merge branch 'PHP-7.0' 2016-01-07 07:05:31 -08:00
Xinchen Hui 16a2b47394 Fixed bug #71300 (Segfault in zend_fetch_string_offset) 2016-01-07 07:05:17 -08:00
Bob Weinand abae897a24 Merge branch 'PHP-7.0' 2016-01-07 15:13:07 +01:00
Bob Weinand 83cb751047 Fix accidental zval_dtor() usage 2016-01-07 15:12:50 +01:00
Julien Pauli 93058cd323 Merge branch 'PHP-7.0'
* PHP-7.0:
  5.5.32 now
2016-01-07 13:55:50 +01:00
Julien Pauli da0eeacf1d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  5.5.32 now
2016-01-07 13:55:42 +01:00
Julien Pauli bd2229e709 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.32 now

Conflicts:
	configure.in
	main/php_version.h
2016-01-07 13:55:09 +01:00
Julien Pauli a6734f70e1 5.5.32 now 2016-01-07 13:07:23 +01:00
Julien Pauli 9e5c75d934 Merge branch 'PHP-7.0'
* PHP-7.0:
  5.5.32 now
2016-01-07 13:06:21 +01:00
Julien Pauli a95f36fa7b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  5.5.32 now
2016-01-07 13:05:57 +01:00
Julien Pauli 2d0215b063 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  5.5.32 now

Conflicts:
	configure.in
	main/php_version.h
2016-01-07 13:05:38 +01:00
Julien Pauli 96c205b5f6 5.5.32 now 2016-01-07 13:04:35 +01:00
Bob Weinand 13ccb2ff08 Merge branch 'PHP-7.0' 2016-01-07 11:56:51 +01:00
Bob Weinand 033d608771 Fixed bug #71297 (Memory leak with yield from) 2016-01-07 11:56:21 +01:00
Ferenc Kovacs 536f583154 Merge branch 'PHP-7.0'
* PHP-7.0:
  adjust release date for the delay
2016-01-06 15:55:36 +01:00
Ferenc Kovacs 42e0fff928 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  adjust release date for the delay
2016-01-06 15:55:17 +01:00
Ferenc Kovacs b095a22a3b adjust release date for the delay 2016-01-06 15:54:55 +01:00
Ferenc Kovacs 8cc263ba5c Merge branch 'PHP-7.0'
* PHP-7.0:
  these will be part of 5.6.17 not 5.6.18
  Removed unecessary string dup
  Moved buffer from heap to stack
2016-01-06 15:50:10 +01:00
Ferenc Kovacs a9a7926df5 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  these will be part of 5.6.17 not 5.6.18
  Removed unecessary string dup
  Moved buffer from heap to stack
2016-01-06 15:49:06 +01:00
Jakub Zelenka ae0ce19fa8 Merge branch 'master' into openssl_aead 2016-01-06 14:43:07 +00:00
Ferenc Kovacs 6802a9f28a these will be part of 5.6.17 not 5.6.18 2016-01-06 15:23:18 +01:00
Julien Pauli 7302b72d6e Merge branch 'PHP-7.0'
* PHP-7.0:
  Moved buffer from heap to stack
2016-01-06 11:41:50 +01:00
Julien Pauli ef4dc15831 Moved buffer from heap to stack 2016-01-06 11:41:16 +01:00
Julien Pauli 86f48881a4 Removed unecessary string dup 2016-01-06 10:51:36 +01:00
Julien Pauli 810452f68e Moved buffer from heap to stack 2016-01-06 10:51:36 +01:00
Anatol Belski c1bfc16ea6 Merge branch 'PHP-7.0'
* PHP-7.0:
  updated NEWS
  Patch for Heap Buffer Overflow in EscapeShell
2016-01-06 07:53:50 +01:00
Anatol Belski 1e1c5c427e updated NEWS 2016-01-06 07:53:31 +01:00
libnex 2871c70efa Patch for Heap Buffer Overflow in EscapeShell
Proposed patch for bug #71270
2016-01-06 07:49:21 +01:00
Anatol Belski 4ff46b98df Merge branch 'PHP-7.0'
* PHP-7.0:
  set release date
  fix NEWS and add some 7.0.2 entries
2016-01-06 07:46:10 +01:00
Anatol Belski e2565eb614 set release date 2016-01-06 07:45:03 +01:00
Anatol Belski 158288b3c6 fix NEWS and add some 7.0.2 entries 2016-01-06 07:44:26 +01:00
Anatol Belski ea130bfd59 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS
  add NEWS entries for 7.0.2
  re-apply the patch from 1785d2b805
  Improve fix for bug #70976
  Fix bug #70976: fix boundary check on gdImageRotateInterpolated
  Fixed bug #70755: fpm_log.c memory leak and buffer overflow
  fix merge mistake
  Fixed #70728
  Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
  Improve fix for bug #70976
  Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
  Fixed bug #70741: Session WDDX Packet Deserialization Type Confusion Vulnerability
  Fixed #70728
  Fixed bug #70755: fpm_log.c memory leak and buffer overflow
  Fix bug #70976: fix boundary check on gdImageRotateInterpolated
  typofix
2016-01-06 06:10:39 +01:00
Anatol Belski c0928be7f8 Merge remote-tracking branch 'phpsec/PHP-7.0' into PHP-7.0
* phpsec/PHP-7.0:
  add NEWS entries for 7.0.2
  re-apply the patch from 1785d2b805
  Improve fix for bug #70976
  Fix bug #70976: fix boundary check on gdImageRotateInterpolated
  Fixed bug #70755: fpm_log.c memory leak and buffer overflow
  fix merge mistake
  Fixed #70728
  Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
2016-01-06 06:09:12 +01:00
Anatol Belski d91b26d344 Merge remote-tracking branch 'origin/PHP-5.6' into PHP-7.0
* origin/PHP-5.6:
  Update NEWS
  Improve fix for bug #70976
  Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
  Fixed bug #70741: Session WDDX Packet Deserialization Type Confusion Vulnerability
  Fixed #70728
  Fixed bug #70755: fpm_log.c memory leak and buffer overflow
  Fix bug #70976: fix boundary check on gdImageRotateInterpolated
  typofix
2016-01-06 06:08:46 +01:00
Stanislav Malyshev 13750cb0a1 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Update NEWS
  Improve fix for bug #70976
  Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
  Fixed bug #70741: Session WDDX Packet Deserialization Type Confusion Vulnerability
  Fixed #70728
  Fixed bug #70755: fpm_log.c memory leak and buffer overflow
  Fix bug #70976: fix boundary check on gdImageRotateInterpolated
  typofix
2016-01-05 19:38:29 -08:00
Stanislav Malyshev 74dcbe1299 Update NEWS 2016-01-05 19:28:24 -08:00
Xinchen Hui fd6ec7fcbe Merge branch 'master' of git.php.net:/php-src 2016-01-06 00:03:37 +08:00
Anatol Belski 1963427738 Merge branch 'PHP-7.0'
* PHP-7.0:
  improve fix for bug #71273
2016-01-05 20:04:18 +01:00
Anatol Belski 1dc395c8c4 improve fix for bug #71273 2016-01-05 20:03:05 +01:00
Anatol Belski 89326f0df3 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2016-01-05 18:58:02 +01:00
Anatol Belski 8d630f7d15 update NEWS 2016-01-05 18:57:38 +01:00
Anatol Belski 1cc0b353b2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71273 A wrong ext directory setup in php.ini leads to crash
2016-01-05 18:56:12 +01:00
Anatol Belski 9a07245b72 Fixed bug #71273 A wrong ext directory setup in php.ini leads to crash 2016-01-05 18:54:46 +01:00
Xinchen Hui 4550e93b78 Merge branch 'PHP-7.0' 2016-01-06 00:03:01 +08:00
Xinchen Hui ce2b2f7e0a Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2016-01-06 00:02:53 +08:00
George Wang 69112d7e97 Fixed runtime php.ini override, ini name length is off by 1.
(cherry picked from commit 5bcb7a7019)
2016-01-05 23:48:42 +02:00
Xinchen Hui 3d59a752af Merge branch 'PHP-7.0' 2016-01-06 00:01:56 +08:00
Xinchen Hui 695e8b79af Fixed bug #71287 (Error message contains hexadecimal instead of decimal number) 2016-01-06 00:01:44 +08:00
Andrey Hristov 37418deb02 Fix reloc for the allocator. Original files and lines were not showing
correct. This seems to be a PHP7 issue.
2016-01-05 16:29:22 +01:00
Bob Weinand 5034ec44ca Merge branch 'PHP-7.0' 2016-01-05 16:28:23 +01:00
Bob Weinand 654c8aedd1 Fixed bug #71275 (Bad method called on cloning an object having a trait) 2016-01-05 16:27:24 +01:00
Xinchen Hui 671987ce83 Merge branch 'PHP-7.0' 2016-01-05 23:02:55 +08:00
Xinchen Hui d4da32d312 Fixed bug #71280 (ibase_blob_add() expects parameter 2 to be resorce) 2016-01-05 23:02:17 +08:00
Jakub Zelenka 55abb5d395 Fix and test OpenSSL CCM decryption 2016-01-05 14:19:00 +00:00
Andrey Hristov e64b845c89 Fix typo that was unhiding only with USE_ZEND_ALLOC 2016-01-05 13:19:32 +01:00
Anatol Belski af960fcba4 add NEWS entries for 7.0.2 2016-01-05 13:06:00 +01:00
Julien Pauli 928d2cb3a4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Happy new year (Update copyright to 2016)
2016-01-04 18:14:08 +01:00
Julien Pauli 736b91c650 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)

Conflicts:
	ext/json/php_json_encoder.h
	sapi/continuity/capi.c
2016-01-04 18:13:38 +01:00
Jakub Zelenka 9b95dd5e37 Merge branch 'PHP-7.0' 2016-01-04 16:53:30 +00:00
Jakub Zelenka 0ea63cb2a8 Fix small CS label issue in openssl.c 2016-01-04 16:52:52 +00:00
Anatol Belski cf1c50957b re-apply the patch from 1785d2b805
too many conflicts to cherry-pick
2016-01-04 17:52:37 +01:00
Dominic Luechinger e4bdf51f0a Replaced whitespaces with tabs and fixed aligments 2016-01-04 16:46:32 +00:00
Stanislav Malyshev 82865dda71 Improve fix for bug #70976 2016-01-04 17:37:54 +01:00
Stanislav Malyshev 84b8db597a Fix bug #70976: fix boundary check on gdImageRotateInterpolated 2016-01-04 17:37:40 +01:00
Stanislav Malyshev 2eaa755660 Fixed bug #70755: fpm_log.c memory leak and buffer overflow 2016-01-04 17:36:42 +01:00
Anatol Belski b0285db4b7 fix merge mistake 2016-01-04 17:33:23 +01:00
Julien Pauli ef4449a8e8 Fixed #70728
Conflicts:
	ext/xmlrpc/xmlrpc-epi-php.c
2016-01-04 17:31:34 +01:00
Stanislav Malyshev bc4baf608b Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
Conflicts:
	ext/wddx/wddx.c
2016-01-04 17:10:29 +01:00
Anatol Belski a09e65d2b8 Merge remote-tracking branch 'php/PHP-7.0' into PHP-7.0
* php/PHP-7.0: (115 commits)
  Do not edit the value in place (might be relates to #71261)
  Fixed bug #71264 (file_put_contents() returns unexpected value when filesystem runs full)
  Duplicated i
  remove duplicated skipif conditions
  bump year which is missed in rev 49493a2
  bump year which is missed in rev 49493a2
  sync with new tests from 7.0 for ICU 55_1 and 56_1 compat
  sync skipifs for ext/intl for ICU 55_* and 56_* compat
  Update header to PHP Version 7
  Happy new year (Update copyright to 2016)
  Happy new year (Update copyright to 2016)
  Happy new year (Update copyright to 2016)
  Fixed bug #71249 (ldap_mod_replace/ldap_mod_add store value as string "Array")
  Fixed test after fix lineno of finally
  MFH: Fix lineno for finally FAST_CALL and JMP
  This should be better
  Fixed bug #71245 (file_get_contents() ignores "header" context option if it's a reference)
  Fixed info while setting opcache.file_cache_only
  Drop extra line
  Add CVE for #71105 (PHP 7.0.1)
  ...
2016-01-04 17:07:37 +01:00
Andrey Hristov a19173e4af - Make functions static, as they are not needed to be public - exported
through a structure
- Fixed typo in statistic name
- Added 2 static functions for copying a MYSQLND_CSTRING and converting
  a CSTRING to STRING.
2016-01-04 16:48:35 +01:00
Jakub Zelenka 5897256d04 Fix and test OpenSSL CCM encryption 2016-01-04 14:07:19 +00:00
Xinchen Hui c1b73ff8af Merge branch 'PHP-7.0' 2016-01-04 05:39:20 -08:00
Xinchen Hui 36b4311edd Do not edit the value in place (might be relates to #71261) 2016-01-04 05:38:15 -08:00
Jakub Zelenka 8daecc59eb Test error cases in openssl_decrypt for GCM mode 2016-01-03 17:25:59 +00:00
Jakub Zelenka 651e6b628b Comment out warning when cipher update fail
There has never been any warning for that
2016-01-03 17:24:06 +00:00
Jakub Zelenka 72381b09ea Fix arginfo for openssl_decrypt (tag is not ref) 2016-01-03 17:21:57 +00:00
Xinchen Hui 1265c82b1c Merge branch 'PHP-7.0' 2016-01-03 14:23:06 +08:00
Xinchen Hui 919562d53b Fixed bug #71264 (file_put_contents() returns unexpected value when filesystem runs full) 2016-01-03 14:21:23 +08:00
Xinchen Hui d0e3ce73f0 Merge branch 'PHP-7.0' 2016-01-03 14:07:13 +08:00
Xinchen Hui bce7ed1859 Duplicated i 2016-01-03 14:06:52 +08:00
Lior Kaplan 53fb2f1e5c Happy new year (Update copyright to 2016) 2016-01-03 01:44:37 +02:00
Jakub Zelenka a866503bca Test invalid auth tag length in encryption 2016-01-02 17:01:54 +00:00
Anatol Belski fe99f02437 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove duplicated skipif conditions
2016-01-02 13:59:13 +01:00
Anatol Belski 302a35bb15 remove duplicated skipif conditions 2016-01-02 13:56:56 +01:00
Xinchen Hui 563659822d Merge branch 'PHP-7.0' 2016-01-02 17:56:54 +08:00
Xinchen Hui 97a9470d97 bump year which is missed in rev 49493a2 2016-01-02 17:56:11 +08:00
Xinchen Hui 6a7001ed72 Merge branch 'PHP-5.6' into PHP-7.0 2016-01-02 17:53:01 +08:00
Xinchen Hui 3537e95dae bump year which is missed in rev 49493a2 2016-01-02 17:51:24 +08:00
Xinchen Hui d9bac84220 Merge branch 'PHP-5.6' of https://github.com/kaplanlior/php-src into PHP-5.6 2016-01-02 17:48:20 +08:00
Anatol Belski caf007cdd6 Merge branch 'PHP-7.0'
* PHP-7.0:
  sync with new tests from 7.0 for ICU 55_1 and 56_1 compat
  sync skipifs for ext/intl for ICU 55_* and 56_* compat
2016-01-01 20:28:02 +01:00
Anatol Belski 2c6a4445f7 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  sync with new tests from 7.0 for ICU 55_1 and 56_1 compat
  sync skipifs for ext/intl for ICU 55_* and 56_* compat
2016-01-01 20:27:23 +01:00
Anatol Belski a7b1ea3c84 sync with new tests from 7.0 for ICU 55_1 and 56_1 compat 2016-01-01 20:25:36 +01:00
Anatol Belski 6bcf4b4f40 sync skipifs for ext/intl for ICU 55_* and 56_* compat 2016-01-01 20:13:35 +01:00
Lior Kaplan 71c1980025 Happy new year (Update copyright to 2016) 2016-01-01 20:06:12 +02:00
Lior Kaplan 3d5438bf7b Merge branch 'PHP-7.0'
* PHP-7.0:
  Update header to PHP Version 7
  Happy new year (Update copyright to 2016)
  Happy new year (Update copyright to 2016)
2016-01-01 20:04:31 +02:00
Lior Kaplan 59a7ef914f Update header to PHP Version 7 2016-01-01 20:03:16 +02:00
Lior Kaplan 2eb1f38d24 Happy new year (Update copyright to 2016) 2016-01-01 20:03:16 +02:00
Lior Kaplan ed35de784f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan c51e73c803 Happy new year (Update copyright to 2016) 2016-01-01 19:23:04 +02:00
Lior Kaplan 49493a2dcf Happy new year (Update copyright to 2016) 2016-01-01 19:21:47 +02:00
Xinchen Hui 91e899b489 Merge branch 'PHP-7.0' 2016-01-01 07:07:29 -08:00
Xinchen Hui 87958927b0 Fixed bug #71249 (ldap_mod_replace/ldap_mod_add store value as string "Array") 2016-01-01 07:06:58 -08:00
Xinchen Hui 41dcdb1d73 Merge branch 'PHP-7.0' 2016-01-01 13:46:44 +08:00
Xinchen Hui 05defb4f56 Fixed test after fix lineno of finally 2016-01-01 13:46:19 +08:00
Jakub Zelenka 52ffdf9fc3 Test and fix encrypting empty IV for AEAD mode 2015-12-31 16:33:57 +00:00
Derick Rethans 8e9d8c0f4f Merge branch 'PHP-7.0' 2015-12-31 09:46:55 +00:00
Derick Rethans 5362f0ad7f MFH: Fix lineno for finally FAST_CALL and JMP 2015-12-31 09:46:43 +00:00
Nikita Popov b3afeeabef Fix lineno for finally FAST_CALL and JMP 2015-12-30 23:49:07 +01:00
Nikita Popov 83c4417330 Mark uses of scope functions in namespaces as TOO_DYNAMIC
Of course they are not necessarily, but it's very likely and we have
to be conservative anyway.

Also use zend_string_equals_literal().
2015-12-30 23:38:03 +01:00
Jakub Zelenka 74f2998212 Add an initial openssl decrypt GCM test 2015-12-30 18:18:05 +00:00
Xinchen Hui 65cabad20d Merge branch 'PHP-7.0' 2015-12-30 05:10:21 -08:00
Xinchen Hui da028e0757 This should be better 2015-12-30 05:10:05 -08:00
Xinchen Hui f727d43102 Merge branch 'PHP-7.0' 2015-12-30 05:04:36 -08:00
Xinchen Hui 90d2f509e2 Fixed bug #71245 (file_get_contents() ignores "header" context option if it's a reference) 2015-12-30 05:04:21 -08:00
Nikita Popov 65e456f364 Introduce BIND_LEXICAL
This opcodes inserts a local CV into the closure static variable
table. This replaces the previous mechanism of having static
variables marked as LEXICAL, which perform a symtable lookup
during copying.

This means a) functions which contain closures no longer have to
rebuild their symtable (better performance) and b) we can now track
used variables in SSA.
2015-12-29 23:14:53 +01:00
Jakub Zelenka 8070e04733 Add more aes-128-gcm test vectors 2015-12-29 18:54:22 +00:00
Nikita Popov 4440436821 Forbid use() of auto-globals
We don't correctly support it, it doesn't make sense and it's also
forbidden for parameters.
2015-12-29 11:20:44 +01:00
Xinchen Hui cb1db49d0a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed info while setting opcache.file_cache_only
  Drop extra line
  Add CVE for #71105 (PHP 7.0.1)
2015-12-29 15:49:52 +08:00
Xinchen Hui 3f07a256f7 Fixed info while setting opcache.file_cache_only 2015-12-29 15:49:10 +08:00
Stanislav Malyshev 2baeb167a0 Improve fix for bug #70976 2015-12-28 23:44:14 -08:00
Stanislav Malyshev dcf3c9761c Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization) 2015-12-28 14:46:35 -08:00
Stanislav Malyshev 1785d2b805 Fixed bug #70741: Session WDDX Packet Deserialization Type Confusion Vulnerability 2015-12-28 12:44:10 -08:00
Jakub Zelenka a00d1eccc7 Add an initial openssl encrypt GCM test 2015-12-28 19:16:05 +00:00
Lior Kaplan c5f9d0b808 Drop extra line 2015-12-27 20:18:23 +02:00
Lior Kaplan 2c289f48e1 Add CVE for #71105 (PHP 7.0.1) 2015-12-27 20:17:19 +02:00
Jakub Zelenka 5e9540f77d Add AES CCM ciphers when linked with OpenSSL 1.0.1
These ciphers are not added by OpenSSL_add_all_algorithms in 1.0.1
2015-12-27 18:03:36 +00:00
Xinchen Hui 8a6f90543f Merge branch 'PHP-7.0' 2015-12-26 22:56:27 -08:00
Xinchen Hui 2453a48ab5 Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with reference to CURLFile) 2015-12-26 22:55:38 -08:00
Andrea Faulds 4d7dd7a95f Merge branch 'PHP-7.0' 2015-12-27 01:03:21 +00:00
Andrea Faulds 60f5c9f87f Hatch elePHPant 2015-12-27 01:03:03 +00:00
Nikita Popov d77b74a1f3 Use ZEND_HASH_FOREACH 2015-12-26 23:43:33 +01:00
Nikita Popov 33870c525a Don't reuse SSA var in UNSET_VAR
Instead use the SSA var that UNSET_VAR actually defines. Otherwise
we get issues trying to DCE unsets.
2015-12-26 23:33:58 +01:00
Jakub Zelenka 213844de49 Fix EVP_EncryptFinal and EVP_DecryptFinal 2015-12-26 20:33:03 +00:00
Xinchen Hui 80a39539ca Merge branch 'PHP-7.0' 2015-12-25 21:31:57 -08:00
Xinchen Hui decb934e3a Fixed test (extract is no affected) 2015-12-25 21:31:42 -08:00
Xinchen Hui 36a9b34548 Merge branch 'PHP-7.0' 2015-12-25 21:27:43 -08:00
Xinchen Hui c56efb848b Fixed bug #71220 (Null pointer deref (segfault) in compact via ob_start) 2015-12-25 21:25:53 -08:00
Xinchen Hui 9d3cedbd88 Merge branch 'tsrmls_leftovers' of https://github.com/tvlooy/php-src 2015-12-25 20:36:29 -08:00
Xinchen Hui 7a5c663ec6 Merge branch 'PHP-7.0' 2015-12-25 20:32:46 -08:00
Xinchen Hui 6700be67f5 Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start) 2015-12-25 20:32:26 -08:00
Tom Van Looy 618b961124 Remove leftovers of TSRMLS in code 2015-12-25 11:13:39 +01:00
Tom Van Looy 6d0dec27fa Remove leftovers of TSRMLS in docs 2015-12-25 11:13:28 +01:00
Dmitry Stogov b3d0178915 Rearrange code to enable inner precedure inference 2015-12-24 19:05:27 +03:00
Julien Pauli 7a2f60d3c7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove mentions of "type hint" and "typehint"
2015-12-24 15:19:54 +01:00
Levi Morrison 2a7eeff33e Remove mentions of "type hint" and "typehint" 2015-12-24 15:19:31 +01:00
Julien Pauli 2a4993d0fb Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
2015-12-24 14:49:03 +01:00
Julien Pauli 8182f0ff2a Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed test
2015-12-24 14:44:33 +01:00
Julien Pauli 0bdc2923b1 Fixed test 2015-12-24 14:44:07 +01:00
Julien Pauli 5adac3c2d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed and improved tests
  test to function socket_getopt();
  test to function socket_clear_error();;
  test to function socket_shutdown();
  test to function socket_send();
  test to function gethostname ( void );
  test to function DateTimeZone::getLocation();
  test to function stream_get_transports();
  test to function stream_get_wrappers();
  test to function stream_socket_enable_crypto();
  test to function stream_socket_get_name();
  Create stream_socket_recvfrom.phpt
  test to stream function set_file_buffer.phpt();
  test to function PDO_getAvaliableDrivers;
  test to misc. function connection_status();
  test to function connection_aborted();
  test to function memory_get_peak_usage();
2015-12-24 14:13:36 +01:00
Julien Pauli 048fb4b00f Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed and improved tests
  test to function socket_getopt();
  test to function socket_clear_error();;
  test to function socket_shutdown();
  test to function socket_send();
  test to function gethostname ( void );
  test to function DateTimeZone::getLocation();
  test to function stream_get_transports();
  test to function stream_get_wrappers();
  test to function stream_socket_enable_crypto();
  test to function stream_socket_get_name();
  Create stream_socket_recvfrom.phpt
  test to stream function set_file_buffer.phpt();
  test to function PDO_getAvaliableDrivers;
  test to misc. function connection_status();
  test to function connection_aborted();
  test to function memory_get_peak_usage();
2015-12-24 14:08:59 +01:00
Julien Pauli d73d9fecf6 Fixed and improved tests 2015-12-24 14:08:44 +01:00
Dmitry Stogov 4abbfb9707 Marked function as "cold" 2015-12-24 16:03:31 +03:00
marcosptf 7f31a88bb8 test to function socket_getopt(); 2015-12-24 13:23:00 +01:00
marcosptf 599a0cfdeb test to function socket_clear_error();; 2015-12-24 13:17:35 +01:00
marcosptf e9d3ff0ec7 test to function socket_shutdown(); 2015-12-24 13:04:38 +01:00
Dmitry Stogov b4def0ee88 Added call-graph analyses 2015-12-24 14:30:41 +03:00
marcosptf 1c0d01522c test to function socket_send(); 2015-12-24 11:48:09 +01:00
marcosptf bdc8f7d871 test to function gethostname ( void ); 2015-12-24 11:46:48 +01:00
marcosptf 891ac59305 test to function DateTimeZone::getLocation(); 2015-12-24 10:56:23 +01:00
marcosptf ca0b82fe93 test to function stream_get_transports(); 2015-12-24 10:53:53 +01:00
marcosptf e9d1dff514 test to function stream_get_wrappers(); 2015-12-24 10:51:51 +01:00
marcosptf 7e399566a7 test to function stream_socket_enable_crypto(); 2015-12-24 10:50:54 +01:00
marcosptf a7daf97198 test to function stream_socket_get_name(); 2015-12-24 10:49:02 +01:00
marcosptf 3295264336 Create stream_socket_recvfrom.phpt 2015-12-24 10:47:35 +01:00
marcosptf 379b43bb3b test to stream function set_file_buffer.phpt(); 2015-12-24 10:47:02 +01:00
marcosptf 4f528e5c95 test to function PDO_getAvaliableDrivers;
was add new function to PDO::getAvailableDrivers
2015-12-24 10:45:39 +01:00
marcosptf 8d1d5ffa22 test to misc. function connection_status(); 2015-12-24 10:45:10 +01:00
marcosptf 841594ac18 test to function connection_aborted();
was added a new uncovered misc. function
2015-12-24 10:43:34 +01:00
marcosptf a82f76634a test to function memory_get_peak_usage();
add new test to uncoverage function;

please, @laurence, see if this path is correct!
Thanks
2015-12-24 10:42:22 +01:00
Julien Pauli a882d0fd7b Merge branch 'PHP-7.0'
* PHP-7.0:
  Update default_mimetype ini setting description
2015-12-24 10:33:49 +01:00
Julien Pauli 3f09d301b5 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update default_mimetype ini setting description
2015-12-24 10:33:41 +01:00
Thomas Punt 9306c1d254 Update default_mimetype ini setting description
This is in response to doc bug #70287
2015-12-24 10:33:15 +01:00
Julien Pauli 805491a8ae Merge branch 'PHP-7.0'
* PHP-7.0:
  These function docs are referencing zend_object_value but this should be zend_object
2015-12-24 10:25:29 +01:00
Tom Van Looy aadb3dd503 These function docs are referencing zend_object_value but this should be zend_object 2015-12-24 10:24:53 +01:00
Dmitry Stogov 3d88a64e0c Add another DFA optimization pattern (ASSIGN -> QM_ASSING) 2015-12-24 11:06:02 +03:00
Xinchen Hui 5b916d3dd5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Superfluous semicolon
2015-12-24 10:42:49 +08:00
Xinchen Hui c2fa01b939 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  update NEWS
  update NEWS
  fix merge mistake
  Added test for bug #71201
  Bug #71201 round() segfault on 64-bit builds
  Sort 7.0.1 extensions' entries
  Added test for bug #71201
  Bug #71201 round() segfault on 64-bit builds
  Add CVE for #71020 (PHP 7.0.1)
  Update NEWS & Fixed test
  Fixed bug #71204 (segfault if clean spl_autoload_funcs while autoloading)
  This should never fail
  Fixed bug #71202 (Autoload function registered by another not activated immediately)
  Updated NEWS
  Added support for HTTP 451
2015-12-24 10:42:42 +08:00
Xinchen Hui 64071fc531 Superfluous semicolon 2015-12-24 10:41:05 +08:00
Anatol Belski 349927934d Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2015-12-23 18:40:16 +01:00
Anatol Belski 85809b969f update NEWS 2015-12-23 18:39:40 +01:00
Anatol Belski 46db3a7320 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  Added test for bug #71201
  Bug #71201 round() segfault on 64-bit builds

Conflicts:
	ext/standard/math.c
2015-12-23 18:38:54 +01:00
Anatol Belski 0b8c8bfc81 update NEWS 2015-12-23 18:37:05 +01:00
Anatol Belski f90dd026cb Merge branch 'PHP-7.0'
* PHP-7.0:
  fix merge mistake
2015-12-23 18:31:09 +01:00
Anatol Belski 0ece97e5a4 fix merge mistake 2015-12-23 18:30:32 +01:00
Anatol Belski 3da66d83ca Merge branch 'PHP-7.0'
* PHP-7.0:
  Added test for bug #71201
  Bug #71201 round() segfault on 64-bit builds
  Sort 7.0.1 extensions' entries

Conflicts:
	ext/standard/math.c
2015-12-23 18:29:06 +01:00
Anatol Belski 204faa5c36 Added test for bug #71201 2015-12-23 18:26:56 +01:00
Anatol Belski 95454c448b Bug #71201 round() segfault on 64-bit builds 2015-12-23 18:26:55 +01:00
Anatol Belski 1e7a593b60 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added test for bug #71201
  Bug #71201 round() segfault on 64-bit builds
  Add CVE for #71020 (PHP 7.0.1)
2015-12-23 18:25:28 +01:00
Lior Kaplan dbda61b19b Sort 7.0.1 extensions' entries 2015-12-23 19:25:02 +02:00
Anatol Belski d97b161f10 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Added test for bug #71201
  Bug #71201 round() segfault on 64-bit builds
2015-12-23 18:24:56 +01:00
Anatol Belski 50c4be0309 Added test for bug #71201 2015-12-23 18:18:02 +01:00
Anatol Belski 0d822f6df9 Bug #71201 round() segfault on 64-bit builds 2015-12-23 18:16:52 +01:00
Lior Kaplan 5c11f4c489 Add CVE for #71020 (PHP 7.0.1) 2015-12-23 19:16:39 +02:00
Xinchen Hui 656eb1cc00 Merge branch 'master' of git.php.net:/php-src 2015-12-23 08:13:46 -08:00
Xinchen Hui eaa79de2e5 Merge branch 'PHP-7.0' 2015-12-23 08:13:24 -08:00
Xinchen Hui 825b7f895a Update NEWS & Fixed test 2015-12-23 08:13:13 -08:00
Xinchen Hui 8692a99551 Merge branch 'PHP-5.6' into PHP-7.0 2015-12-23 08:11:09 -08:00
Xinchen Hui 620ccc9b1a Fixed bug #71204 (segfault if clean spl_autoload_funcs while autoloading) 2015-12-23 08:10:59 -08:00
Dmitry Stogov 00a3714e05 Support for optimization introduced in DFA pass (it may change type of instruction return oprand to IS_CV) 2015-12-23 19:02:14 +03:00
Xinchen Hui 62e8eadfa0 Merge branch 'PHP-7.0' 2015-12-23 07:52:36 -08:00
Xinchen Hui 9cc4cdbe57 This should never fail 2015-12-23 07:52:24 -08:00
Xinchen Hui 086eb8c88d Merge branch 'PHP-7.0' 2015-12-23 07:48:16 -08:00
Xinchen Hui e21cb2daea Fixed bug #71202 (Autoload function registered by another not activated immediately) 2015-12-23 07:48:00 -08:00
Xinchen Hui 70f9ba00f7 This check become useless after 98885bfa1e 2015-12-23 20:56:49 +08:00
Dmitry Stogov 98885bfa1e Consolidate indirect string offset modification checks (Nikita, Dmitry)
Check it once, instead of dozens of times.
2015-12-23 13:52:15 +03:00
Julien Pauli 8520bab128 Merge branch 'PHP-7.0'
* PHP-7.0:
  Updated NEWS
  Added support for HTTP 451
2015-12-23 11:38:16 +01:00
Julien Pauli 72207b5436 Updated NEWS 2015-12-23 11:37:59 +01:00
Julien Pauli b2ecac9250 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Added support for HTTP 451

Conflicts:
	sapi/cgi/cgi_main.c
	sapi/cli/php_cli_server.c
	sapi/fpm/fpm/fpm_main.c
2015-12-23 11:36:36 +01:00
Julien Pauli ea12ff149c Added support for HTTP 451 2015-12-23 11:31:18 +01:00
Dmitry Stogov 28a016a6dc Fixed SSA construction for CFG with unreachable BB 2015-12-23 03:52:38 +03:00
Dmitry Stogov 1e3ab15843 Fixed test on 32-bit systems 2015-12-23 03:52:01 +03:00
Dmitry Stogov e82a73573b Remove live-range if the corresponding definition is deleted 2015-12-23 03:46:40 +03:00
Dmitry Stogov dd3cb33ef0 Support for incompletely constructed SSA 2015-12-23 03:20:28 +03:00
Dmitry Stogov aa4a83fec7 Fixed bug #71196 (Memory leak with out-of-order live ranges) 2015-12-23 01:47:38 +03:00
Nikita Popov fdfbeeb296 Always create ARRAY_ELEM ssa var for ELEM_REF 2015-12-22 23:08:26 +01:00
Dmitry Stogov 5c1c8f1dec Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect setting on 32-bit systems
2015-12-22 21:33:07 +03:00
Dmitry Stogov f3bf95eb81 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed incorrect setting on 32-bit systems
2015-12-22 21:32:45 +03:00
Dmitry Stogov a57a08e791 Fixed incorrect setting on 32-bit systems 2015-12-22 21:31:28 +03:00
Dmitry Stogov 6e6280a388 Corrected error messages:
- we don't use NULL for overlaoded objects for ages
- fixed array/object mess
2015-12-22 20:55:11 +03:00
Julien Pauli 96c1325092 Updated NEWS 2015-12-22 18:12:56 +01:00
Ilia Alshanetsky b92ae5d7bc Fixed test 2015-12-22 18:12:56 +01:00
Ilia Alshanetsky f705063e23 Added validation to parse_url() to prohibit restricted characters inside login/pass components based on RFC3986 2015-12-22 18:12:56 +01:00
Bob Weinand 2322af28c5 Merge branch 'PHP-7.0' 2015-12-22 17:39:52 +01:00
Bob Weinand 3e3d0290ff Added test for (long-ago fixed) bug #70083 2015-12-22 17:39:36 +01:00
Julien Pauli 4df84a648e Fixed #70728 2015-12-22 17:12:49 +01:00
Julien Pauli c0eea8a8b7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Updated NEWS
  Fix #70720
  Align NEWS entry format
2015-12-22 16:28:12 +01:00
Julien Pauli 897bf916bc Updated NEWS 2015-12-22 16:27:52 +01:00
Julien Pauli 332b778d68 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix #70720
  Align NEWS entry format
2015-12-22 16:26:30 +01:00
Julien Pauli ff7ed9021c Fix #70720 2015-12-22 16:25:51 +01:00
Dmitry Stogov a75c6d5fb2 Skip "useless" SSA variables for INIT_ARRAY, ADD_ARRAY_ELEMENT, FE_RESET_R 2015-12-22 17:35:08 +03:00
Dmitry Stogov b4b6d58990 Add ability to prevent "useless" SSA variable creation for "refcounting inference". 2015-12-22 16:43:37 +03:00
Anatol Belski e8f1db14d5 Merge branch 'PHP-7.0'
* PHP-7.0:
  release only appropriate string
2015-12-22 14:37:05 +01:00
Anatol Belski 4037ba5847 release only appropriate string 2015-12-22 14:33:19 +01:00
Dmitry Stogov 83cd828469 Make RC1/RCN inference more accurate (it's probably not 100% correct anyway) 2015-12-22 15:35:17 +03:00
Anatol Belski 6607b6506a Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2015-12-22 13:19:33 +01:00
Anatol Belski a3e37e0818 update NEWS 2015-12-22 13:18:21 +01:00
Anatol Belski 172681b555 Merge branch 'PHP-7.0'
* PHP-7.0:
  7.0.3 next
2015-12-22 10:49:38 +01:00
Anatol Belski 84530360a0 7.0.3 next 2015-12-22 10:48:32 +01:00
Xinchen Hui e9b2febd61 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71190 (substr_replace converts integers in original $search array to strings)
2015-12-22 12:29:00 +08:00
Xinchen Hui d63ae2c382 Fixed bug #71190 (substr_replace converts integers in original $search array to strings) 2015-12-22 12:13:28 +08:00
Xinchen Hui b216481a96 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed #71188 (str_replace converts integers in original $search array to strings)
2015-12-22 11:07:42 +08:00
Xinchen Hui 3524849f77 Fixed #71188 (str_replace converts integers in original $search array to strings) 2015-12-22 11:07:30 +08:00
Lior Kaplan db1504de23 Align NEWS entry format 2015-12-21 23:14:23 +02:00
Dmitry Stogov d952eb753c Get rid of MAY_BE_DEF 2015-12-21 19:46:55 +03:00
Dmitry Stogov ae303cf82f Split MAY_BE_NULL from MAY_BE_UNDEF 2015-12-21 18:39:24 +03:00
Nikita Popov 88eae43ff9 Remove uses of VARs in extended_value
The DECLARE_(ANON_)INHERITED_CLASS(_DELAYED) opcodes were
referencing the parent ce VAR through extended_value. This is
hacky and we can't track the def-use chain in SSA.

To avoid this, the layout of declaration opcodes is changed
as follows: op1 points to the lcname and rtd_key literals, in
that order. (For anon/lambda declarations only one of lcname or
rtd_key is present.) This frees up op2, which is now used to
reference the parent ce VAR in inheriting declarations. The
jmp offset for anon class declarations is moved frop op2 to
extended_value.

The changes were applied both to class and function declarations
to keep everything symmetric.
2015-12-21 14:44:42 +01:00
Dmitry Stogov 1fe8a1dec9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed possible crash on Zend/tests/bug71154.phpt
2015-12-21 15:58:58 +03:00
Dmitry Stogov 0402f05ba3 Fixed possible crash on Zend/tests/bug71154.phpt 2015-12-21 15:57:53 +03:00
Anatol Belski b8515125c8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Partially fix bug #71129"
2015-12-21 12:10:49 +01:00
Anatol Belski 53bfb6618d Revert "Partially fix bug #71129"
This reverts commit 4c55669caa.

The way it is fixes doesn't satisfy every SAPI, so a better solution
is yet to work out.
2015-12-21 12:09:24 +01:00
Xinchen Hui 952748a606 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed typo
2015-12-21 18:13:11 +08:00
Xinchen Hui 4531d2c591 Fixed typo 2015-12-21 18:12:57 +08:00
Xinchen Hui 4f48704014 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set)
  Align #71165 entry format
2015-12-21 18:11:01 +08:00
Xinchen Hui 817513af4e Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set) 2015-12-21 18:10:48 +08:00
Lior Kaplan c85f569e52 Align #71165 entry format 2015-12-20 23:48:25 +02:00
Anatol Belski 6f4286f303 Merge branch 'PHP-7.0'
* PHP-7.0:
  Partially fix bug #71129
  Typo
  Bug #71105 was fixed in 7.0.1 (commit 9374ba35)
2015-12-20 15:27:13 +01:00
Anatol Belski 4c55669caa Partially fix bug #71129 2015-12-20 15:25:11 +01:00
Nikita Popov 420ff42bc0 Protect against overflows in pi constraints 2015-12-20 12:56:05 +01:00
Xinchen Hui 825b5901df Merge branch 'master' of git.php.net:/php-src 2015-12-19 18:53:34 -08:00
Xinchen Hui 098af9e559 typo agian :< 2015-12-19 18:40:58 -08:00
Yasuo Ohgaki 0cf7143441 Add session module test 2015-12-20 11:39:57 +09:00
Nikita Popov 0da1378a88 long -> zend_long in range inference 2015-12-20 00:06:12 +01:00
Nikita Popov 549d7d4876 Fix Pi constraint for -LONG_MIN adjustments
-LONG_MIN == LONG_MIN so bad things will happen.
Example of JIT miscompile:

    function test($n) {
	if ($n + PHP_INT_MIN == 0) {
	    $n2 = (int) ($n + PHP_INT_MAX);
	    var_dump($n2);
	}
    }
    test(PHP_INT_MAX + 1);
2015-12-20 00:06:12 +01:00
Nikita Popov c9ea8fef96 Extrace find_adjusted_tmp_var() function
This code was duplicated for op1 and op2
2015-12-20 00:06:12 +01:00
Nikita Popov fc68094497 Simplify bf/bt computation in pi placement
The meaning of the successors is well-defined, no need to check it.
2015-12-20 00:03:52 +01:00
Nikita Popov d7424a5b04 Fix typo in pi placement 2015-12-20 00:03:52 +01:00
Xinchen Hui 9591468a49 Added note to upgrading 2015-12-19 05:45:44 -08:00
Xinchen Hui cfe977a406 Typo 2015-12-19 05:44:29 -08:00
Lior Kaplan 05345f5ad4 Bug #71105 was fixed in 7.0.1 (commit 9374ba35) 2015-12-19 13:21:16 +02:00
Xinchen Hui f834e72c5a Merge branch 'PHP-7.0' 2015-12-18 21:55:04 -08:00
Xinchen Hui baf7ad1555 Fixed NEWS 2015-12-18 21:54:57 -08:00
Xinchen Hui 860764114f Merge branch 'PHP-7.0' 2015-12-18 21:52:15 -08:00
Xinchen Hui a21b0942fa Fixed bug #71165 (-DGC_BENCH=1 doesn't work on PHP7) 2015-12-18 21:52:05 -08:00
Xinchen Hui 8f91b24b07 Merge branch 'PHP-7.0' 2015-12-18 21:43:08 -08:00
Xinchen Hui 1d79011fb9 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-12-18 21:40:48 -08:00
Xinchen Hui eb4ce3f1a8 Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls) 2015-12-18 21:40:20 -08:00
Andrea Faulds 5d0dfda60c Merge branch 'PHP-7.0' 2015-12-19 02:35:19 +00:00
Andrea Faulds 42c8f5e91d Fix bug #70804
This follows on from a4648ded43 and
4e01269082.
Both -(+0.0) and +(-0.0) behaved incorrectly for the same reason.
2015-12-19 02:25:44 +00:00
Andrea Faulds 78155068e2 Merge branch 'PHP-7.0' 2015-12-18 19:32:20 +00:00
Andrea Faulds 8d217db369 Fix bug #66179
This also fixes ext/standard/tests/general_functions/var_export-locale.phpt
to actually run the floating-point section.
2015-12-18 19:31:21 +00:00
Nikita Popov 7cc3089d8f Clone cannot return reference 2015-12-18 17:37:13 +01:00
Nikita Popov 8ca21876e1 Fix zend_get_func_info() 2015-12-18 17:37:13 +01:00
Xinchen Hui 56b8f47491 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-12-19 00:30:35 +08:00
Xinchen Hui 8f9af36da3 Fixed bug #71144 (Sementation fault when using cURL with ZTS) 2015-12-19 00:29:19 +08:00
Xinchen Hui 916f10ac31 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-12-19 00:20:18 +08:00
Xinchen Hui 750da15bc7 Merge branch 'PHP-7.0' 2015-12-19 00:19:34 +08:00
Xinchen Hui 512498d083 Fixed test skip 2015-12-19 00:19:21 +08:00
Xinchen Hui c555d90f4f Implemented FR #71159 (Upgraed bundled SQLite lib to 3.9.2) 2015-12-18 23:49:59 +08:00
Dmitry Stogov 8136e4572e Fixed dump format 2015-12-18 17:18:13 +03:00
Dmitry Stogov f9b5345a98 Fixed compilation 2015-12-18 16:53:31 +03:00
Xinchen Hui b715845650 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
2015-12-18 17:44:05 +08:00
Xinchen Hui 361b5814de Merge branch 'PHP-5.6' of git.php.net:/php-src into PHP-5.6
* 'PHP-5.6' of git.php.net:/php-src:
  Align news entry format: Implement FR -> Implemented FR
2015-12-18 17:43:25 +08:00
Xinchen Hui af871f61dc Merge branch 'PHP-7.0'
* PHP-7.0:
  Improved fix for #71127
2015-12-18 17:42:11 +08:00
Xinchen Hui 2f47e9872e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Improved fix for #71127

Conflicts:
	ext/opcache/Optimizer/pass1_5.c
2015-12-18 17:41:42 +08:00
Xinchen Hui 40702799b5 Improved fix for #71127 2015-12-18 17:37:40 +08:00
Yasuo Ohgaki 283cbebe5b Improve FR #48532 implementation (Allow pg_fetch_all() to index numerically).
Made result type option be consistent with pg_fetch_row().
2015-12-18 15:50:57 +09:00
Yasuo Ohgaki 7517a62428 Fix typo in NEWS 2015-12-18 13:09:30 +09:00
Yasuo Ohgaki 5835593dfc Improve FR #31021 implementation (pg_last_notice() is needed to get all notice messages).
Now pg_last_notice() can clear stored notices.
2015-12-18 13:04:34 +09:00
Andrea Faulds 1abbdcd9a4 Merge branch 'PHP-7.0' 2015-12-17 23:36:20 +00:00
Andrea Faulds 4e01269082 Fix tests broken by 'Fix bug #52355'
a4648ded43 broke some tests
2015-12-17 23:33:24 +00:00
Andrea Faulds 8d355bff85 Merge branch 'PHP-7.0' 2015-12-17 22:40:55 +00:00
Andrea Faulds a4648ded43 Fix bug #52355 2015-12-17 22:39:29 +00:00
Nikita Popov 679fa3e03d Merge branch 'PHP-7.0' 2015-12-17 23:23:59 +01:00
Nikita Popov a917840f38 Fixed iter leak on by-ref foreach over const/tmp array
FE_FREE does not unregister the iter for plain arrays. So always
wrap into a REF wrapper, even if not strictly necessary, in
RESET_RW. Alternatively we could use a flag to distinguish plain
positions and interators.

Also added a check for leaked iterators in shutdown_executor.
2015-12-17 23:21:48 +01:00
Nikita Popov 4555294392 Merge branch 'PHP-7.0' 2015-12-17 22:20:40 +01:00
Nikita Popov 6a4c02e107 Fixed bug #71154 2015-12-17 22:20:29 +01:00
George Wang 21eaa5a47d Merge branch 'master' of git.php.net:php-src 2015-12-17 15:25:39 -05:00
George Wang 70addd33d0 Fixed a bug in apache_request_headers() that adds an extra \0 to header name. 2015-12-17 15:24:59 -05:00
George Wang 0a1a4dc033 Fixed a bug in apache_request_headers() that adds an extra \0 to header name. 2015-12-17 15:20:08 -05:00
Nikita Popov 12835edca0 Merge branch 'PHP-7.0' 2015-12-17 21:01:27 +01:00
Nikita Popov a3e1952700 Fixed bug #71153 2015-12-17 20:59:57 +01:00
kusano d31e8a9a85 Fix #71152: mt_rand() returns the different values from original mt19937ar.c 2015-12-18 04:14:40 +09:00
Dmitry Stogov fe1c4e033f Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect exception handling
2015-12-17 14:17:01 +03:00
Dmitry Stogov 9e44b6a61e Fixed incorrect exception handling 2015-12-17 14:16:19 +03:00
Lior Kaplan 55d424b1c6 Align NEWS entry format 2015-12-17 11:44:24 +02:00
Lior Kaplan 42a862d421 Merge branch 'PHP-7.0'
* PHP-7.0:
  Align NEWS entry format
  Align news entry format: Implement FR -> Implemented FR
2015-12-17 11:41:36 +02:00
Lior Kaplan 860ef0e2d7 Align NEWS entry format 2015-12-17 11:39:09 +02:00
Lior Kaplan 38e16154dd Align news entry format: Implement FR -> Implemented FR 2015-12-17 11:38:07 +02:00
Lior Kaplan c537039fcb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Align news entry format: Implement FR -> Implemented FR
2015-12-17 11:29:47 +02:00
Lior Kaplan e61bb3fbf9 Align news entry format: Implement FR -> Implemented FR 2015-12-17 11:27:41 +02:00
Xinchen Hui d8fc37693a Merge branch 'PHP-7.0' 2015-12-17 14:32:17 +08:00
Xinchen Hui 1b4e224c98 Update NEWs 2015-12-17 14:30:41 +08:00
Xinchen Hui 9374977d21 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	ext/opcache/Optimizer/pass1_5.c
2015-12-17 14:30:00 +08:00
Xinchen Hui 940c68b55d Fixed bug #71127 (Define in auto_prepend_file is overwrite) 2015-12-17 14:27:33 +08:00
Yasuo Ohgaki 7a01ff5e91 Fix proto and arg info 2015-12-17 09:19:05 +09:00
Yasuo Ohgaki b6935efc8e Implemented FR #48532 (Allow pg_fetch_all() to index numerically). 2015-12-17 09:15:57 +09:00
Yasuo Ohgaki 57d9da8790 Implemented FR #31021 (pg_result_notice() is needed to get all notice messages). 2015-12-17 07:31:19 +09:00
Bob Weinand 817ed01320 Merge PR #1638 (Fix naming of global section in fpm_conf_dump()) 2015-12-16 16:46:17 +01:00
Dmitry Stogov ef6514d652 Don't use deprecated API 2015-12-16 16:01:09 +03:00
Dmitry Stogov c9aed87073 Merge branch 'PHP-7.0'
* PHP-7.0:
  Removed invalid efree() (arguments are allocated on VM stack and used without copying)
2015-12-16 15:27:12 +03:00
Dmitry Stogov c7c3b967a5 Removed invalid efree() (arguments are allocated on VM stack and used without copying) 2015-12-16 15:25:49 +03:00
Dmitry Stogov 74daa98974 Added simple DFA optimisation pattern (just to prove the concept) 2015-12-16 13:14:31 +03:00
Lior Kaplan 4af9d096d9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Add entry for session.lazy_write
2015-12-16 11:41:09 +02:00
Lior Kaplan 96fe1dfe53 Add entry for session.lazy_write 2015-12-16 11:37:43 +02:00
Dmitry Stogov f298ed493b fixed test 2015-12-16 11:33:15 +03:00
Lior Kaplan ef9ddd0d82 Remove sqlite extension leftover references (was removed in PHP 5.4) 2015-12-16 09:40:02 +02:00
Lynn c64adc9428 Remove trailing spaces 2015-12-16 12:45:09 +08:00
Xinchen Hui 3ed5e54a19 Remove unused IS_TYPE_SYMBOLTABLE 2015-12-16 12:11:55 +08:00
Yasuo Ohgaki 57be57ac94 Fix ZTS build 2015-12-16 11:10:39 +09:00
Dmitry Stogov 9044f491cc Use do_alloca() instead of alloca() 2015-12-16 04:59:05 +03:00
Dmitry Stogov c78ebcad53 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed test
  Fixed bug #71122 Session GC may not remove obsolete session data
2015-12-16 04:58:54 +03:00
Dmitry Stogov e797871319 Fallbuck to simple dump format if CFG wasn't constructed 2015-12-16 04:57:51 +03:00
Yasuo Ohgaki 3381264a33 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71122 Session GC may not remove obsolete session data
2015-12-16 09:36:26 +09:00
Yasuo Ohgaki 707e1c4710 Fixed test 2015-12-16 09:35:45 +09:00
Yasuo Ohgaki 714f28d8e4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #71122 Session GC may not remove obsolete session data
2015-12-16 09:34:41 +09:00
Yasuo Ohgaki e8f1c29cc9 Fixed bug #71122 Session GC may not remove obsolete session data 2015-12-16 09:15:05 +09:00
Dmitry Stogov c88ffa9a56 Added e-SSA based DFA optimisation framework (incomplete) 2015-12-16 00:49:44 +03:00
Lior Kaplan 838e4039d7 Remove extra line 2015-12-15 11:15:30 +02:00
Lior Kaplan 66d1d10917 NEWS entry for #55651 2015-12-15 11:13:54 +02:00
Avi Brender 90a26a4844 Implement FR #55651 (Option to ignore the returned FTP PASV address) 2015-12-15 11:07:40 +02:00
Yasuo Ohgaki 071616026f Update NEWS 2015-12-15 10:40:07 +09:00
Yasuo Ohgaki 8161230505 Fixed Bug #71122 Session GC may not remove obsolete session data 2015-12-15 10:27:28 +09:00
Xinchen Hui 8d6d28d9c6 Merge branch 'PHP-7.0' 2015-12-14 09:23:15 -08:00
Lior Kaplan e1020280cc NEWS entry for #55651 2015-12-15 13:28:54 +02:00
Lior Kaplan 10a5749f3e Merge branch 'PHP-7.0'
* PHP-7.0:
  Implement FR #55651 (Option to ignore the returned FTP PASV address)
2015-12-15 13:26:53 +02:00
Lior Kaplan 94f3887152 NEWS entry for #55651 2015-12-15 11:52:33 +02:00
Avi Brender 71e468e141 Implement FR #55651 (Option to ignore the returned FTP PASV address) 2015-12-15 11:51:32 +02:00
Sebastian Bergmann 29a2c64339 Fugbix typo 2015-12-15 09:16:46 +01:00
Yasuo Ohgaki e048b3fc6b Update NEWS 2015-12-15 10:41:39 +09:00
Yasuo Ohgaki 7d39cfa31b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed Bug #71122 Session GC may not remove obsolete session data
2015-12-15 10:31:44 +09:00
Yasuo Ohgaki 1e042ae4a7 Fix merge conflict 2015-12-15 10:30:16 +09:00
Bob Weinand 6694ecdb9d Fix live_range updates on ZEND(_FE)_FREE opcodes in block_pass 2015-12-14 23:40:28 +01:00
Xinchen Hui 3d3782c328 Unused vars 2015-12-14 09:23:01 -08:00
Nikita Popov 56f1106162 Use FETCH_CLASS_EXCEPTION for instanceof
This does not collide with NO_AUTOLOAD -- missing classes will be
silenced, but invalid use of self etc will result in an exception
instead of a fatal error.
2015-12-14 17:50:20 +01:00
Nikita Popov 7078627d22 Fix leaks due to UNUSED CE fetch 2015-12-14 17:31:37 +01:00
Rasmus Lerdorf a63f33b282 Support uwsgi sapi in opcache 2015-12-14 06:11:00 -08:00
Rasmus Lerdorf 56bf10f0bd Support uwsgi sapi in opcache 2015-12-14 06:10:26 -08:00
Rasmus Lerdorf 9a31d70845 Support uwsgi sapi in opcache 2015-12-14 06:09:17 -08:00
Nikita Popov 0919178963 Add result op for ASSERT_CHECK to fix SSA
Otherwise one source of the phi node at the join point will be
borked.

I'm marking the ASSERT_CHECK result as unused in pass2, which is
a bit ugly.
2015-12-14 12:31:00 +01:00
Xinchen Hui 732fe984f2 Merge branch 'master' of git.php.net:/php-src 2015-12-14 17:15:03 +08:00
Xinchen Hui e670374053 Typo 2015-12-14 17:14:41 +08:00
Anatol Belski 0ec58fa32b Merge branch 'PHP-7.0'
* PHP-7.0:
  Refactor password_hash to use random_bytes internally to generate salts
2015-12-14 09:15:36 +01:00
Anthony Ferrara 02e85045dc Refactor password_hash to use random_bytes internally to generate salts 2015-12-14 09:05:16 +01:00
Xinchen Hui 9b148d31d3 Fixed bug #71100 (long2ip() doesn't accept integers in strict mode) 2015-12-14 14:55:44 +08:00
Xinchen Hui e0cafcf8a7 Merge branch 'PHP-7.0' 2015-12-14 10:54:30 +08:00
Xinchen Hui 6a35e3b383 Added NEWS 2015-12-14 10:54:10 +08:00
Nikita Popov e8864c39e8 Don't check non-CVs for UNDEF in BOOL(_NOT) 2015-12-14 00:32:40 +01:00
Nikita Popov d5597fa01f Merge branch 'PHP-7.0' 2015-12-14 00:29:57 +01:00
Nikita Popov 7dc5bc5063 Do not swap operands in array addition
As we support constant array operands nowadays, the original check
didn't work anymore.
2015-12-14 00:29:05 +01:00
Jakub Zelenka fc3575aaf1 Retrieve tag in AEAD cipher mode encryption 2015-12-13 19:05:19 +00:00
Xinchen Hui ad51c709c3 Merge branch 'PHP-7.0' 2015-12-13 05:06:22 -08:00
Xinchen Hui 07b33992a2 Fixed bug #71109 (ZEND_MOD_CONFLICTS("xdebug") doesn't work) 2015-12-13 05:06:08 -08:00
Xinchen Hui 4a732e97b4 Merge branch 'optimize-strtolower' of https://github.com/hnw/php-src 2015-12-12 22:57:44 -08:00
Xinchen Hui 145b68c834 Merge branch 'PHP-7.0' 2015-12-12 22:52:51 -08:00
Xinchen Hui 4171a8f6c6 Internal function argumensts cleanup (strict_types) 2015-12-12 22:52:37 -08:00
Xinchen Hui daefe53869 Merge branch 'PHP-7.0' 2015-12-12 22:38:15 -08:00
Xinchen Hui a9026070b6 Fixed test 2015-12-12 22:37:50 -08:00
Yoshio HANAWA fa78da9901 Optimize strtolower()/strtoupper() 2015-12-13 14:22:50 +09:00
Xinchen Hui ac693205b1 Merge branch 'PHP-7.0' 2015-12-12 18:45:39 -08:00
Xinchen Hui b101a6bbd4 Use format string 2015-12-12 18:45:11 -08:00
Nikita Popov 2589dd121e Drop superfluous assignment
And fix a branch annotation.
2015-12-12 23:21:36 +01:00
Christopher Jones 78f157f687 Merge branch 'PHP-7.0' 2015-12-13 08:22:30 +11:00
Christopher Jones e0691d27d5 Merge branch 'PHP-5.6' into PHP-7.0 2015-12-13 08:22:14 +11:00
Christopher Jones 82d58e6cbc Update README 2015-12-13 08:21:41 +11:00
Reeze Xia bdadec4581 Merge branch 'PHP-7.0'
* PHP-7.0:
  Unused value casting should be `void`
2015-12-12 23:29:46 +08:00
Reeze Xia 95ad414658 Unused value casting should be void 2015-12-12 23:25:30 +08:00
Christopher Jones 6ddc45b9c1 Merge branch 'PHP-7.0' 2015-12-12 16:08:14 +11:00
Christopher Jones e4a48ab6b3 Prepare for a PECL release 2015-12-12 16:07:57 +11:00
Christopher Jones 915a00cd8b Merge branch 'PHP-5.6' into PHP-7.0 2015-12-12 16:06:44 +11:00
Christopher Jones 8f7e98ac4a Prepare for a PECL release 2015-12-12 16:06:08 +11:00
Xinchen Hui 0d8f5a43d3 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-12-11 09:13:26 -08:00
Xinchen Hui 1358743f9c Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-12-11 09:13:00 -08:00
Xinchen Hui 778e5f3da5 Fixed bug #71092 (Segmentation fault with return type hinting) 2015-12-11 09:11:28 -08:00
Anatol Belski 468b897fb5 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  backported 7c981192eb from 7.0
2015-12-11 17:43:51 +01:00
Anatol Belski 050e21beed Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
  backported 7c981192eb from 7.0
2015-12-11 17:43:36 +01:00
Anatol Belski 57eecd4e29 update NEWS 2015-12-11 17:42:01 +01:00
Anatol Belski 157d0372e0 backported 7c981192eb from 7.0
the way it doesn't hurt BC
2015-12-11 17:39:57 +01:00
Nikita Popov b343cd913b Merge branch 'PHP-7.0' 2015-12-11 16:33:47 +01:00
Nikita Popov 04407b79df Fixed bug #71094
I didn't see any non-dummy readline tests to work off, so this
change is tested manually only.

While at it also fix other zval_dtors and use ZVAL_COPY.
2015-12-11 16:33:07 +01:00
Nikita Popov 1b683efa0f Merge branch 'PHP-7.0' 2015-12-11 16:06:28 +01:00
Nikita Popov fd3ece8578 Fix bug #71086 2015-12-11 16:05:49 +01:00
Nikita Popov 591fe26d5d Remove BP_VAR_REF
The distinction between BP_VAR_REF and BP_VAR_W is no longer
revelant, since we dropped support for =& new.
2015-12-11 15:56:52 +01:00
Dmitry Stogov 1fdb63fbd9 ws fixes 2015-12-11 17:40:23 +03:00
Dmitry Stogov 21ba287c3c dos2unix 2015-12-11 17:29:42 +03:00
Dmitry Stogov f243aaf985 Added e-SSA based DFA optimisation framework (incomplete) 2015-12-11 17:24:55 +03:00
Remi Collet 5d2e287982 Merge branch 'PHP-7.0'
* PHP-7.0:
  NEWS
  NEWS
  Fix Bug #71089 No check to duplicate zend_extension
2015-12-11 13:23:36 +01:00
Remi Collet 7a5c7e00cd NEWS 2015-12-11 13:23:21 +01:00
Remi Collet 66398757fc Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  NEWS
  Fix Bug #71089 No check to duplicate zend_extension
2015-12-11 13:22:55 +01:00
Remi Collet d403a91c6f NEWS 2015-12-11 13:22:13 +01:00
Remi Collet 410eacc1a9 Fix Bug #71089 No check to duplicate zend_extension 2015-12-11 13:21:24 +01:00
Xinchen Hui 18b97c94b2 Merge branch 'PHP-7.0' 2015-12-11 17:26:48 +08:00
Xinchen Hui b5adfee320 Fixed bug memleak in header_register_callback 2015-12-11 17:26:31 +08:00
Dmitry Stogov 061a90f8d1 Describe special meaning of IS_UNUSED oprerand 2015-12-11 02:31:28 +03:00
Dmitry Stogov dc36810993 Use more compact description encoding schema to free some bits 2015-12-11 01:45:26 +03:00
Nikita Popov fc2cedfb1d Make 2nd arg of xml_set_object by value
The argument is not being modified. Probably holdover from PHP 4
days.
2015-12-10 23:35:25 +01:00
Dmitry Stogov 047c84521c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Make duplicate class constant error for internal class
  Make ZEND_CLONE return a TMP_VAR
2015-12-11 00:48:20 +03:00
Dmitry Stogov cba1a8498c Improve Optimizer debugging facility (print the meaning of extended_value) 2015-12-11 00:47:02 +03:00
Nikita Popov 04e3d82b55 Make duplicate class constant error for internal class
And drop two duplicate constant declarations from intl. These
were leaking previously.
2015-12-10 22:22:49 +01:00
Nikita Popov 8e5e3301a1 Make ZEND_CLONE return a TMP_VAR
As the return value can't be reference and it's unlikely to be
unused.

Also remove some unnecessary checks for ce==NULL. A ce is required
nowadays.
2015-12-10 22:16:25 +01:00
Dmitry Stogov f30381ec22 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Add missed tests for FETCH_GLOBAL_LOCK change
  Fix cleanup in bug70748.phpt
2015-12-10 21:20:30 +03:00
Dmitry Stogov 4c9e4caab4 Fixed typo 2015-12-10 21:17:24 +03:00
Nikita Popov 288cc6e192 Add missed tests for FETCH_GLOBAL_LOCK change 2015-12-10 19:17:17 +01:00
Nikita Popov 11f2a393f8 Merge branch 'PHP-7.0' 2015-12-10 19:15:21 +01:00
Nikita Popov 5c5209d676 Fix cleanup in bug70748.phpt
git add Zend/tests usable again...
2015-12-10 19:14:49 +01:00
Nikita Popov f1278edefc Drop two compiler TODOs
Call-time pass by reference is now a parse error.
There is no benefit in dropping implementing_class currently.
2015-12-10 19:04:59 +01:00
Nikita Popov c8a64e289c Reintroduce use of FETCH_GLOBAL_LOCK
Just found this old AST todo...

It no longer makes sense as an optimization due to the introduction
of BIND_GLOBAL, however it ensures that the global variable name is
not evaluated twice, which is presumably something we wish to
guarantee.
2015-12-10 19:04:59 +01:00
Bob Weinand 7ea1cf2e57 Improved specializer:
- Allow dispatching from specialized handler to unspecialized one
2015-12-10 20:46:14 +03:00
Nikita Popov 3fa86105f7 Remove FETCH_STATIC_MEMBER flag 2015-12-10 18:25:29 +01:00
Nikita Popov 3d4a2d2002 Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2015-12-10 18:24:29 +01:00
Nikita Popov 798d168d73 Make update_opN_const implementation symmetric
So the main structure is the same...
2015-12-10 18:18:10 +01:00
Nikita Popov 37f3425263 Fix Foo::${42} and similar
Fixes segfault on direct use, segfault on opcache evaluated use,
leak on temporary use.

Fixes analogeous segfault for ${42} on opcache eval as well.
2015-12-10 18:14:40 +01:00
Dmitry Stogov 6f966fad0d Improved specializer (Bob)
- All helpers now may be declatred and called without ZEND_VM_HELPER_EX() and ZEND_VM_DISPATCH_TO_HELPER_EX() macros
- ZEND_VM_HELPER() may declare few arguments
- ZEND_VM_DISPATCH_TO_HELPER() may pass few parameters
- ZEND_VM_INLINE_HELPER() may be used to declare inline helpers (it won't be inlined in SWITH/GOTO executors)
2015-12-10 17:17:59 +03:00
Xinchen Hui 412b7ace8f Merge branch 'master' of git.php.net:/php-src 2015-12-10 21:47:36 +08:00
Xinchen Hui f43baba1f9 Fixed test by disable opcache 2015-12-10 21:46:37 +08:00
Lior Kaplan a19f511345 Align NEWS entry format for bug #71024 2015-12-10 15:31:06 +02:00
Dmitry Stogov cedb518ea1 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  The first arg is optional
  Return -1 seems bug here
2015-12-10 15:34:15 +03:00
Xinchen Hui ec0ac5dafb Merge branch 'PHP-7.0' 2015-12-10 19:37:44 +08:00
Xinchen Hui c096a281be The first arg is optional 2015-12-10 19:36:41 +08:00
Xinchen Hui c0ff9b07cf Merge branch 'PHP-7.0' 2015-12-10 17:35:55 +08:00
Xinchen Hui e4ad9ed8ad Return -1 seems bug here 2015-12-10 17:35:35 +08:00
Dmitry Stogov 3b5c844757 Initialize bitset before processing the seconf BB (we skip the first one) 2015-12-10 11:29:53 +03:00
Anatol Belski 770ba81071 Merge branch 'PHP-7.0'
* PHP-7.0:
  set release date
2015-12-10 08:12:07 +01:00
Anatol Belski e2e39f3bfc set release date 2015-12-10 08:11:23 +01:00
Anatol Belski ae41a74738 Merge branch 'PHP-7.0'
* PHP-7.0:
  set release date
2015-12-10 08:10:25 +01:00
Anatol Belski 204dd7195b set release date 2015-12-10 08:09:39 +01:00
Xinchen Hui ae537994a6 Merge branch 'PHP-7.0' 2015-12-10 15:02:33 +08:00
Xinchen Hui 29b615cfcf iFixed key leak with invalid resource 2015-12-10 15:02:01 +08:00
Xinchen Hui c13fcc21c3 Merge branch 'PHP-7.0' 2015-12-10 08:58:37 +08:00
Xinchen Hui 7c1ddcc67f Fixed bug #71077 (ReflectionMethod for ArrayObject constructor returns wrong number of parameters) 2015-12-10 08:58:28 +08:00
Ferenc Kovacs d8123a57f8 Merge branch 'PHP-7.0'
* PHP-7.0:
  5.6.18 will be next
2015-12-10 01:32:56 +01:00
Ferenc Kovacs 91adffb4d1 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  5.6.18 will be next
2015-12-10 01:31:51 +01:00
Ferenc Kovacs 7d5dbaed76 5.6.18 will be next 2015-12-10 01:30:27 +01:00
Dmitry Stogov fd20e6cee6 Apply local optimizatons to extended bacic block (this allows some optimizarions across few following BBs). 2015-12-10 01:17:35 +03:00
Dmitry Stogov 7fd7734e58 Explain the disabled optimization pattern 2015-12-09 22:22:07 +03:00
Xinchen Hui e80791e161 Fixed test (opcache denpends) 2015-12-09 07:52:03 -08:00
Dmitry Stogov 4fd30c9565 Improve debugging of non-local variables 2015-12-09 17:21:57 +03:00
Anatol Belski d6d421b517 Merge branch 'PHP-7.0'
* PHP-7.0:
  fixed NEWS
2015-12-09 14:49:23 +01:00
Anatol Belski 6f9819db38 fixed NEWS 2015-12-09 14:48:44 +01:00
Xinchen Hui 02d7001962 Merge branch 'PHP-7.0' 2015-12-09 21:09:09 +08:00
Xinchen Hui 8ba6fea7b1 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-12-09 21:08:57 +08:00
Xinchen Hui 4c379392b2 Fixed bug #71067 (Local object in class method stays in memory for each call) 2015-12-09 21:07:59 +08:00
Anatol Belski 0e1395ca69 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
2015-12-09 13:39:42 +01:00
Anatol Belski f444c7619e update NEWS 2015-12-09 13:39:07 +01:00
Anatol Belski 3d487fb8d1 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  update NEWS
2015-12-09 13:38:41 +01:00
Anatol Belski e4238f4bf5 update NEWS 2015-12-09 13:37:37 +01:00
Dmitry Stogov d2597ad20b Improved optimizer dubugging facility 2015-12-09 14:52:00 +03:00
Anatol Belski 9aae3788cc Merge branch 'PHP-7.0'
* PHP-7.0:
  ext/imap/config.m4: fix conftest segfault in utf8_to_mutf7 check, bug #66909.
  ext/dba/config.m4: Autodetect Berkeley DB v5.3.
  fix path separator in test
  Bumped SAPI version to 6.9
  Added "mod_auth_basic" to apache module list.
  Add sanitizing checks for request data.
  Clear secret after use.
  Fixed __DIR__ in CLI mode.
  Add PDO_Firebird fix in NEWS
2015-12-09 12:05:18 +01:00
Anatol Belski 906670b817 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  ext/imap/config.m4: fix conftest segfault in utf8_to_mutf7 check, bug #66909.
  ext/dba/config.m4: Autodetect Berkeley DB v5.3.
  fix path separator in test
  Bumped SAPI version to 6.9
  Added "mod_auth_basic" to apache module list.
  Add sanitizing checks for request data.
  Clear secret after use.
  Fixed __DIR__ in CLI mode.
  Add PDO_Firebird fix in NEWS
2015-12-09 12:05:01 +01:00
Michael Orlitzky 24f21a3012 ext/imap/config.m4: fix conftest segfault in utf8_to_mutf7 check, bug #66909.
The test program for utf8_to_mutf7 attempts to call it without
arguments. The function expects one argument, however, and this leads
to a segfault as reported in PHP bug #66909.

The test program is using the PHP_IMAP_TEST_BUILD macro which
complicates things a little. To keep this diff small, the
PHP_IMAP_TEST_BUILD macro was modified to pass a fifth argument
"extra-source" to the PHP_TEST_BUILD macro. The check for
utf8_to_mutf7 was then modified to check for a dummy function,
utf8_to_mutf7_php, which passes the correct number of arguments to
utf8_to_mutf7.

PHP-Bug: https://bugs.php.net/bug.php?id=66909
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=376735
2015-12-09 12:04:16 +01:00
Anatol Belski 94b237d8ea Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2015-12-09 11:59:05 +01:00
Anatol Belski 843341954e update NEWS 2015-12-09 11:57:03 +01:00
Anatol Belski eb6613390c Merge branch 'PHP-7.0'
* PHP-7.0:
  ext/dba/config.m4: Autodetect Berkeley DB v5.3.
  Bumped SAPI version to 6.9
  Added "mod_auth_basic" to apache module list.
  Add sanitizing checks for request data.
  Clear secret after use.
  Fixed __DIR__ in CLI mode.
2015-12-09 11:38:54 +01:00
Michael Orlitzky 05f00e5060 ext/dba/config.m4: Autodetect Berkeley DB v5.3.
When the user passes --with-db4=DIR to ./configure, the directory DIR
is searched for a number of paths in order of preference. These paths
contain possible locations for Berkeley DB (BDB) to be installed, and
since PHP only supports BDB-4.x and BDB-5.x, it's important that (for
example) version 5.1 be autodetected before falling back to
/usr/include/db.h which can point to BDB-6.x.

The newer BDB-5.3 works with PHP, and if only BDB-5.3 is installed on
the user's system, the current ./configure script is fine. However, if
both BDB-5.3 and BDB-6.0 are installed, version 5.3 is not
autodetected, causing BDB-6.0 to be used. The ./configure step then fails.

This commit adds autodetection for BDB-5.3, and fixes a bug reported
on Gentoo at https://bugs.gentoo.org/show_bug.cgi?id=564824.
2015-12-09 11:37:50 +01:00
George Wang 6d933b463e Bumped SAPI version to 6.9 2015-12-09 11:37:46 +01:00
George Wang b3458eddfd Added "mod_auth_basic" to apache module list. 2015-12-09 11:37:45 +01:00
George Wang 5a319a02d8 Add sanitizing checks for request data. 2015-12-09 11:37:43 +01:00
George Wang af1ac753fe Clear secret after use. 2015-12-09 11:37:42 +01:00
George Wang 42789e2b8a Fixed __DIR__ in CLI mode. 2015-12-09 11:37:40 +01:00
Dmitry Stogov 78fb8118ec Merge branch 'PHP-7.0'
* PHP-7.0:
  More verbose error messages
2015-12-09 13:35:31 +03:00
Dmitry Stogov 4b16082e94 More verbose error messages 2015-12-09 13:34:45 +03:00
Dmitry Stogov d6f3d4b50c Fixed formating 2015-12-09 13:27:31 +03:00
Michael Orlitzky 38b68fc042 ext/dba/config.m4: Autodetect Berkeley DB v5.3.
When the user passes --with-db4=DIR to ./configure, the directory DIR
is searched for a number of paths in order of preference. These paths
contain possible locations for Berkeley DB (BDB) to be installed, and
since PHP only supports BDB-4.x and BDB-5.x, it's important that (for
example) version 5.1 be autodetected before falling back to
/usr/include/db.h which can point to BDB-6.x.

The newer BDB-5.3 works with PHP, and if only BDB-5.3 is installed on
the user's system, the current ./configure script is fine. However, if
both BDB-5.3 and BDB-6.0 are installed, version 5.3 is not
autodetected, causing BDB-6.0 to be used. The ./configure step then fails.

This commit adds autodetection for BDB-5.3, and fixes a bug reported
on Gentoo at https://bugs.gentoo.org/show_bug.cgi?id=564824.
2015-12-09 11:20:36 +01:00
Anatol Belski 56e7903131 fix path separator in test 2015-12-09 11:18:25 +01:00
Anatol Belski 1bd0847f16 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #70781 (Extension tests fail on dynamic ext dependency)
2015-12-09 11:09:55 +01:00
Francois Laupretre 25abf2f028 Fix bug #70781 (Extension tests fail on dynamic ext dependency) 2015-12-09 11:05:34 +01:00
Dmitry Stogov 44c5fbbc07 Fixed other issues with empty block handling 2015-12-09 10:58:42 +03:00
George Wang 00ed55005a Bumped SAPI version to 6.9 2015-12-09 00:28:08 -05:00
George Wang 0d84097d44 Added "mod_auth_basic" to apache module list. 2015-12-09 00:27:55 -05:00
George Wang 08080c18f5 Add sanitizing checks for request data. 2015-12-09 00:26:41 -05:00
George Wang c60d4b9770 Clear secret after use. 2015-12-09 00:26:24 -05:00
George Wang 84fd8ffa2a Fixed __DIR__ in CLI mode. 2015-12-09 00:25:48 -05:00
George Wang 13096a8120 Bumped SAPI version to 6.9 2015-12-09 00:19:18 -05:00
George Wang 9190684a76 Added "mod_auth_basic" to apache module list. 2015-12-09 00:16:16 -05:00
George Wang 59b414e128 Merge branch 'master' of git.php.net:php-src 2015-12-09 00:11:07 -05:00
George Wang 194cd13c2b Fixed __DIR__ in CLI mode. 2015-12-09 00:09:14 -05:00
George Wang 372a839040 Add sanitizing checks for request data. 2015-12-09 00:06:49 -05:00
George Wang 292aa9d6cb Clear secret after use. 2015-12-08 23:43:29 -05:00
Xinchen Hui 245a8c3cdf end is unsigned, this was broken if start == end == 0 2015-12-09 12:18:25 +08:00
Xinchen Hui 8d7918b8bf Merge branch 'PHP-7.0' 2015-12-09 12:01:09 +08:00
Xinchen Hui f248309b74 Revert "Fixed bug #71053 (Type Hint about DateTime::diff does not match with informed)"
THis is bc break, which will break $date1->diff($date2 , 1), which is
common used

please do not do bc break without a asking

This reverts commit 943b23dcf6.
2015-12-09 12:00:23 +08:00
Reeze Xia adf40a220b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71053 (Type Hint about DateTime::diff does not match with informed)
2015-12-09 11:44:05 +08:00
Reeze Xia 943b23dcf6 Fixed bug #71053 (Type Hint about DateTime::diff does not match with informed) 2015-12-09 11:40:47 +08:00
Xinchen Hui 8b69b41a6e Merge branch 'PHP-7.0' 2015-12-09 11:38:03 +08:00
Xinchen Hui 0adbf6de77 Remove useless check 2015-12-09 11:37:40 +08:00
Dmitry Stogov 433f412731 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV, Segmentation fault)
  move the entry into the correct NEWS block
  Update NEWS
  Fixed test if PATH is not set
  Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work)
2015-12-09 05:17:22 +03:00
Dmitry Stogov 404e003cf1 Delete empty live-ranges 2015-12-09 05:16:30 +03:00
Dmitry Stogov 5ee7b7d01a Don't create live-range across NOPs and some other instructions 2015-12-09 05:15:58 +03:00
Xinchen Hui eea88bb17f Merge branch 'PHP-7.0' 2015-12-08 17:47:33 -08:00
Xinchen Hui 84b997020e Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV, Segmentation fault) 2015-12-08 17:47:16 -08:00
Anatol Belski d9c344b70d Merge branch 'PHP-7.0'
* PHP-7.0:
  move the entry into the correct NEWS block
2015-12-08 18:21:48 +01:00
Anatol Belski adb9522767 move the entry into the correct NEWS block 2015-12-08 18:20:55 +01:00
Reeze Xia 68027e0581 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS
2015-12-09 00:43:10 +08:00
Reeze Xia 10800b8ca2 Update NEWS 2015-12-09 00:41:18 +08:00
Xinchen Hui 227a7a9e26 Merge branch 'master' of git.php.net:/php-src 2015-12-08 08:27:13 -08:00
Xinchen Hui cf11abad5b Merge branch 'PHP-7.0' 2015-12-08 08:26:19 -08:00
Xinchen Hui c47b49c9b5 Fixed test if PATH is not set 2015-12-08 08:26:04 -08:00
Reeze Xia 2ff2ef37b3 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work)
2015-12-09 00:11:56 +08:00
Reeze Xia 3427c122bf Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work) 2015-12-09 00:04:12 +08:00
Dmitry Stogov 2cc2396f84 Fixed compilation with enabled internal debuging 2015-12-08 18:12:02 +03:00
Dmitry Stogov c1803bf652 Avoid construction of empty live-ranges because of OP_DATA instruction 2015-12-08 18:10:07 +03:00
Anatol Belski 964b40dd37 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare 7.0.1RC1
2015-12-08 16:07:07 +01:00
Anatol Belski e26b605c21 prepare 7.0.1RC1 2015-12-08 15:54:44 +01:00
Bob Weinand 8bad1368e4 Merge branch 'PHP-7.0' 2015-12-08 15:23:27 +01:00
Bob Weinand a11805a4d9 PHP_MD5_CTX is now always used due to fix for #71204 2015-12-08 15:23:14 +01:00
Bob Weinand d7928aae0a PHP_MD5_CTX is now always used due to fix for #71204 2015-12-08 15:22:25 +01:00
Anatol Belski 307f745230 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update random.c
2015-12-08 13:17:21 +01:00
Anatol Belski 1da7422f93 Merge branch 'PHP-7.0'
* PHP-7.0:
  Expose php_random_bytes as a first-class API within internals
2015-12-08 13:14:46 +01:00
Dmitry Stogov c58b0cb4ce Removed useless checks 2015-12-08 12:47:05 +03:00
Dmitry Stogov 8f9c23cf93 Added NEWS entry 2015-12-08 12:44:51 +03:00
Dmitry Stogov a75c195000 Implemented the RFC Support Class Constant Visibility.
Squashed commit of the following:

commit f11ca0e7a57793fa0e3e7f6d451720e6c42bb0b9
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Dec 8 12:38:42 2015 +0300

    Fixed test expectation

commit 211f873f542504d0a0f72b6b5cb23908a1c99a2d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Dec 8 12:28:38 2015 +0300

    Embed zend_class_constant.flags into zend_class_constants.value.u2.access_flags

commit 51deab84b2cdbf9cdb1a838cf33b2ee45c61748b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Dec 7 11:18:55 2015 +0300

    Fixed issues found by Nikita

commit 544dbd5b47e40d38a8ccb96bc5583e9cb7fdd723
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Sat Dec 5 02:41:05 2015 +0300

    Refactored immplementation of https://wiki.php.net/rfc/class_const_visibility
    @reeze created an RFC here and I emailed internals here and didn't get any responses positive/negative.
2015-12-08 12:40:42 +03:00
Stanislav Malyshev be19dbcb84 Fixed bug #70755: fpm_log.c memory leak and buffer overflow 2015-12-08 00:10:07 -08:00
Stanislav Malyshev 4bb422343f Fix bug #70976: fix boundary check on gdImageRotateInterpolated 2015-12-07 23:33:05 -08:00
Xinchen Hui a8b7d0c29d Merge branch 'PHP-7.0' 2015-12-08 10:54:01 +08:00
Anatol Belski 4aec8bcfa9 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #71024 Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server
2015-12-07 22:55:24 +01:00
Jakub Zelenka c54174255d Simplify AAD condition 2015-12-07 19:19:44 +00:00
Xinchen Hui fd46184ab0 Merge branch 'PHP-7.0' 2015-12-07 07:43:31 -08:00
Dmitry Stogov 3d8fdd5d6e Fixed potential memory leaks 2015-12-07 18:25:25 +03:00
Xinchen Hui 007262207e Merge branch 'PHP-7.0' 2015-12-07 14:48:32 +08:00
Xinchen Hui 86dea69789 Merge branch 'typo/paramer' of https://github.com/marcioAlmada/php-src 2015-12-07 14:48:10 +08:00
Márcio Almada 2dcfd8d16f fix typos "paramer" -> "parameters" 2015-12-07 01:59:53 -04:00
Xinchen Hui 8e14632b2c Merge branch 'PHP-7.0' 2015-12-07 10:58:36 +08:00
Stanislav Malyshev 2e157c5275 typofix 2015-12-06 14:07:39 -08:00
Jakub Zelenka da0c2a4b6b Implement AAD setting 2015-12-06 20:09:41 +00:00
Bob Weinand 5ac8a2cc20 Merge branch 'PHP-7.0' 2015-12-06 14:08:17 +01:00
Anatol Belski 974f6c2a70 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS with fixed bug #70831
2015-12-06 12:42:25 +01:00
Anatol Belski a2cca52aef Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix #70831: Compile fails on system with 160 CPUs
2015-12-06 12:38:32 +01:00
Joe Watkins ee704bff78 Merge branch 'master' of https://github.com/php/php-src 2015-12-06 10:04:59 +00:00
Joe Watkins 003c91bd9b standard tsrm usage for seven 2015-12-06 10:04:35 +00:00
Bob Weinand 6e664f60c3 Merge branch 'PHP-7.0' 2015-12-06 02:55:55 +01:00
Nikita Popov 26ed778973 Merge branch 'PHP-7.0' 2015-12-05 22:48:50 +01:00
Sebastian Bergmann d2f6b86c48 Fugbix typo 2015-12-05 08:25:43 +01:00
Jakub Zelenka 32495cbfdd Add php_openssl_cipher_update to group enc and dec logic 2015-12-04 20:27:18 +00:00
Xinchen Hui cc2147dfaa Merge branch 'PHP-7.0' 2015-12-04 06:51:26 -08:00
Xinchen Hui ee864f8030 Merge branch 'PHP-7.0' 2015-12-04 06:45:37 -08:00
Xinchen Hui d92c75f923 Merge branch 'PHP-7.0' 2015-12-04 11:53:48 +08:00
Jakub Zelenka e74368a8a1 Set AEAD tag or tag_len if supplied 2015-12-03 19:16:11 +00:00
Lior Kaplan 7a1ddbc267 Sort items alphabetically 2015-12-03 18:01:22 +02:00
Lior Kaplan ca4de6c398 Align NEWS entries format 2015-12-03 17:58:59 +02:00
Popa Adrian Marius 75de51f262 Add PDO_Firebird fix in NEWS 2015-12-03 17:30:35 +02:00
Popa Adrian Marius a90ce6de31 Add PDO_Firebird fix in NEWS 2015-12-03 17:23:56 +02:00
Popa Adrian Marius 9dc6de528d Merge branch 'PHP-7.0'
* PHP-7.0:
  Use LL_MASK for SQL_INT64 data formatting
2015-12-03 17:13:59 +02:00
Popa Adrian Marius aa90774e89 Merge branch 'master' of https://git.php.net/push/php-src
* 'master' of https://git.php.net/push/php-src:
  NEWS for 8907da99b8
  Fixed bug #71006 (symbol referencing errors on Sparc/Solaris)
  remove PHP 5 NEWS entries
  remove PHP 5 NEWS entries
2015-12-03 16:16:04 +02:00
Popa Adrian Marius c548d6b7a2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix Bug #60052	Integer returned as a 64bit integer on X64_86 for pdo_firebird
2015-12-03 16:15:37 +02:00
Andrea Faulds 9012a78fa1 Merge branch 'PHP-7.0' 2015-12-03 12:16:54 +00:00
Dmitry Stogov 0d51ebd1a5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71006 (symbol referencing errors on Sparc/Solaris)
2015-12-03 13:40:53 +03:00
Anatol Belski fed71a2093 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove PHP 5 NEWS entries
2015-12-03 10:56:37 +01:00
Anatol Belski 272b2e0e1d Merge branch 'master' of git.php.net:php-src 2015-12-03 10:54:51 +01:00
Anatol Belski a8cd5f6fc1 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove PHP 5 NEWS entries
2015-12-03 10:54:35 +01:00
Anatol Belski 3f818b1bd6 remove PHP 5 NEWS entries 2015-12-03 10:52:04 +01:00
Lior Kaplan 4dc996f74d Merge branch 'PHP-7.0'
* PHP-7.0:
  SIZEOF_SIZE_T doesn't exist on AIX, keep using SIZEOF_LONG
2015-12-02 19:34:13 +02:00
Jakub Zelenka c993151115 Add AEAD IV init 2015-12-01 19:34:12 +00:00
Andrey Hristov 139af35c25 Add a method for checking if the underlying stream is valid. 2015-12-01 12:52:36 +01:00
Anatol Belski 671be5b864 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove older UPGRADING entry, bug #38409 is already fixed in 5.6
2015-12-01 11:35:00 +01:00
Adam Harvey 612b9dc12e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #71005 (Segfault in php_cli_server_dispatch_router()).
2015-12-01 03:10:04 +00:00
Xinchen Hui badce8c49a Merge branch 'PHP-7.0' 2015-12-01 10:35:48 +08:00
Anatol Belski 24dd215c9a Merge branch 'PHP-7.0'
* PHP-7.0:
  arrange NEWS for final and fix one NEWS mistake
2015-12-01 02:05:20 +01:00
Dmitry Stogov 868c3775c6 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70997 (When using parentClass:: instead of parent::, static context changed)
2015-11-30 16:54:37 +03:00
Xinchen Hui c78a782a2f Merge branch 'PHP-7.0' 2015-11-30 10:50:34 +08:00
Jakub Zelenka 55b5160295 Merge branch 'master' into openssl_aead 2015-11-29 19:40:40 +00:00
Jakub Zelenka 4dc7354c28 Merge branch 'PHP-7.0' 2015-11-29 19:31:04 +00:00
Xinchen Hui 681d2c946e Merge branch 'PHP-7.0' 2015-11-28 23:48:20 -08:00
Xinchen Hui 5c707a6cf8 Merge branch 'PHP-7.0' 2015-11-28 23:44:06 -08:00
Xinchen Hui cb5af748b1 Merge branch 'PHP-7.0' 2015-11-27 19:12:37 -08:00
Xinchen Hui 229351cca2 Merge branch 'master' of git.php.net:/php-src 2015-11-27 07:31:53 -08:00
Xinchen Hui f9a56e00f6 Merge branch 'PHP-7.0' 2015-11-27 07:31:19 -08:00
Andrea Faulds d120006bfd Merge branch 'PHP-7.0' 2015-11-27 15:20:25 +00:00
Xinchen Hui 3aa2182db6 Merge branch 'PHP-7.0' 2015-11-27 15:53:19 +08:00
Xinchen Hui d3e6a9ce39 Merge branch 'PHP-7.0' 2015-11-27 11:42:39 +08:00
Xinchen Hui 541b11b5f6 Merge branch 'PHP-7.0' 2015-11-27 11:33:05 +08:00
Nikita Popov 95283a0504 Merge branch 'PHP-7.0' 2015-11-26 16:57:11 +01:00
Dmitry Stogov 2e6cf2710a Fixed compilation warning 2015-11-26 11:27:24 +03:00
Xinchen Hui f9dd83cbe3 Merge branch 'PHP-7.0' 2015-11-26 12:00:37 +08:00
Bob Weinand 39b616ac23 Merge branch 'PHP-7.0' 2015-11-25 23:10:06 +01:00
Christopher Jones eaa94390b3 Merge branch 'PHP-7.0' 2015-11-26 06:53:54 +11:00
Xinchen Hui fe3c5f9bd2 Merge branch 'PHP-7.0' 2015-11-25 08:04:59 -08:00
Xinchen Hui dcfc623079 Merge branch 'PHP-7.0' 2015-11-25 08:00:50 -08:00
Xinchen Hui 07a05836de Merge branch 'PHP-7.0' 2015-11-25 20:20:51 +08:00
Xinchen Hui a80c820bf6 Merge branch 'PHP-7.0' 2015-11-25 19:15:41 +08:00
Xinchen Hui 554e4206ab Merge branch 'master' of git.php.net:/php-src 2015-11-25 19:12:04 +08:00
Xinchen Hui 06bcaf98c5 Merge branch 'PHP-7.0' 2015-11-25 19:11:40 +08:00
Bob Weinand 0a512931c9 Merge branch 'PHP-7.0' 2015-11-25 09:55:59 +01:00
Anatol Belski 025417cf40 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NEWS
2015-11-25 05:04:29 +01:00
Xinchen Hui c1afaf65e3 Merge branch 'master' of git.php.net:/php-src 2015-11-25 11:41:26 +08:00
Xinchen Hui c6b08e99fe Merge branch 'PHP-7.0' 2015-11-25 11:41:01 +08:00
Anatol Belski 283e9ea21b Merge branch 'PHP-7.0'
* PHP-7.0:
  rearrange NEWS for RC8
2015-11-25 03:40:55 +01:00
Christopher Jones 850ef17c5d Merge branch 'PHP-7.0' 2015-11-25 12:44:10 +11:00
Bob Weinand be9e30000d Merge branch 'PHP-7.0' 2015-11-24 23:44:17 +01:00
Bob Weinand 8e4a77ae73 Merge branch 'PHP-7.0' 2015-11-24 21:39:30 +01:00
Andrey Hristov 85e4fcf647 Give the possibility of the client to pass a factory 2015-11-24 10:23:44 +01:00
Xinchen Hui 7e7c2c062f Merge branch 'PHP-7.0' 2015-11-24 13:46:04 +08:00
Xinchen Hui 8d4fc591ef Merge branch 'PHP-7.0' 2015-11-24 11:48:14 +08:00
Xinchen Hui 59933934be Merge branch 'PHP-7.0' 2015-11-24 11:08:53 +08:00
Xinchen Hui 19adcf8cb9 Merge branch 'PHP-7.0' 2015-11-24 11:06:18 +08:00
Xinchen Hui 26a526fb4a Merge branch 'PHP-7.0' 2015-11-24 11:05:13 +08:00
Lior Kaplan c1b374554c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions)
2015-11-23 19:02:41 +02:00
Bob Weinand 9bbdb86ed7 Merge branch 'PHP-7.0' 2015-11-23 17:46:39 +01:00
Xinchen Hui 34bff5b91c Merge branch 'PHP-7.0' 2015-11-23 23:16:11 +08:00
Xinchen Hui 26f3710ae8 Merge branch 'PHP-7.0' 2015-11-23 06:22:11 -08:00
Xinchen Hui 8c22edc546 Merge branch 'PHP-7.0' 2015-11-23 06:12:46 -08:00
Xinchen Hui 2ae9a6fca6 Merge branch 'master' of git.php.net:/php-src 2015-11-23 18:49:25 +08:00
Xinchen Hui 6dbf8d142f Merge branch 'PHP-7.0' 2015-11-23 18:48:59 +08:00
Andrey Hristov 6b0d026c76 Remove unused variable 2015-11-23 11:36:25 +01:00
Xinchen Hui 42252f409b Merge branch 'PHP-7.0' 2015-11-23 18:33:21 +08:00
Xinchen Hui f49078fd76 Merge branch 'master' of git.php.net:/php-src 2015-11-23 12:41:15 +08:00
Xinchen Hui 3bd231c0a0 Merge branch 'PHP-7.0' 2015-11-23 12:40:54 +08:00
Côme Bernigaud 56b584491b Merge branch 'php-7.0'
* php-7.0:
  Revert "Added back support for undocummented host:port syntax"
  Revert "Using default port in ldap_connect when NULL is passed (this was the behavior prior to 5.6.11)"
2015-11-23 03:15:46 +01:00
Côme Bernigaud ab39f981f8 Revert "Added back support for undocummented host:port syntax"
This reverts commit 15876e85e5.
2015-11-23 03:08:25 +01:00
Côme Bernigaud a9bfdcb82c Revert "Using default port in ldap_connect when NULL is passed (this was the behavior prior to 5.6.11)"
This reverts commit 391087ed28.
2015-11-23 03:08:02 +01:00
Xinchen Hui 58168b48e2 Fixed tests (new opcache will optimize serias echo IS_CONST into one) 2015-11-22 06:49:28 -08:00
Xinchen Hui 3178242cda Merge branch 'PHP-7.0' 2015-11-21 20:58:34 -08:00
Xinchen Hui 7bfc4fca60 cleanup 2015-11-21 07:14:12 -08:00
Xinchen Hui fb7564d457 Merge branch 'PHP-7.0' 2015-11-21 06:11:02 -08:00
Xinchen Hui 1e9fcb49ac conflicts variable name 2015-11-20 19:03:18 -08:00
Dmitry Stogov 4d49736155 cleanup 2015-11-21 01:19:45 +03:00
Dmitry Stogov 02fad0414b Fixed wrong BB.flags initialization 2015-11-20 23:32:27 +03:00
Dmitry Stogov b3393baa5d Refactored CFG based optimization using new CFG representation.
Squashed commit of the following:

commit 907533390678f58eac738040ef62a40788048bef
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 21:25:28 2015 +0300

    cleanup

commit 82f7e6f5bb434f12e9fdf45f597be351527f383c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 21:22:01 2015 +0300

    Update build system

commit 8fd83d843fde3f486692de4e2c6b7d64d4192704
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 20:50:32 2015 +0300

    Reachable blocks can't be empty

commit 5822a36269833930a35cb3547222357118b11310
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 19:11:02 2015 +0300

    added missing constraints

commit 2d0c00b243479924de0260ae8d80d624c36994a3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 19:03:12 2015 +0300

    optimization

commit 29d1e5eb210c51b052cac4d6c232aaa2c724dbbb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 18:34:11 2015 +0300

    Added missing optimization patterns

commit 38dd3b3f2459f5193c742633213f41d78326ea28
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 17:47:06 2015 +0300

    zend_optimize_block() refactoring

commit 3dc97bd1f6d433dff0617338382347b6d0c08f84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 14:30:32 2015 +0300

    We don't use CFG back-references anymore

commit 2242c9e0aa741d287146ad43179650796f199f2d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 14:16:03 2015 +0300

    Consistent naming

commit 64f2856716069390ed7703ac88905cebf5e04023
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 13:29:32 2015 +0300

    Optimization and separate building of direct CFG from predecessrs calculation

commit 9389be4869b13ec45df5dbd443015d2ac539a347
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 10:44:19 2015 +0300

    Use CFG without back references (incomplete, but works)

commit 3d3ecd4b883959cf7b86c33622183295f913924e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 00:50:09 2015 +0300

    Fixed iteration in reverse order

commit 52f7fde0c3dfa4b4591519828ebdb238c2377936
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 18:35:09 2015 +0300

    Separate debugging code into zend_dump.c

commit 4193a039ea96bae41baf97c6e458f419e8dbf9c5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 17:22:04 2015 +0300

    Remove unused code

commit 4228fdc57d8d120e1dad4e4d44045fa1a6f06fe0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 17:21:20 2015 +0300

    Remove dead live-ranges only on assembling basic blocks

commit 9a4a7966edf19b92678876f85565700694205598
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 15:26:29 2015 +0300

    New CFG representation (incomplete)
2015-11-20 22:06:36 +03:00
Xinchen Hui 4e94fa09e6 Merge branch 'PHP-7.0' 2015-11-20 06:57:14 -08:00
Xinchen Hui cc98663fcd Merge branch 'PHP-7.0' 2015-11-20 06:37:54 -08:00
Xinchen Hui 61d5ac2d7e Merge branch 'PHP-7.0' 2015-11-20 16:38:36 +08:00
Xinchen Hui 1065feba7d Merge branch 'PHP-7.0'
Conflicts:
	ext/gd/gd_compat.c
2015-11-20 15:37:43 +08:00
Xinchen Hui 8a50a96f46 Merge branch 'PHP-7.0' 2015-11-20 15:22:59 +08:00
Christopher Jones 8b920e0639 Merge branch 'master' of https://git.php.net/repository/php-src 2015-11-20 09:19:20 +11:00
Christopher Jones 22d79c8d14 Merge branch 'PHP-7.0' 2015-11-20 09:16:33 +11:00
George Wang 5bcb7a7019 Fixed runtime php.ini override, ini name length is off by 1. 2015-11-19 17:01:26 -05:00
Dmitry Stogov d6308afce9 Proper optmisation of "goto" into the middle of "try" block. 2015-11-19 11:19:06 +03:00
Remi Collet 9d7baed840 Merge branch 'PHP-7.0'
* PHP-7.0:
  NEWS
  Fixed bug #70940 Segfault in soep / type_to_string
2015-11-19 08:19:23 +01:00
Dmitry Stogov 84610b1f39 Don't keep wrong jump target in last CATCH. 2015-11-19 00:47:08 +03:00
Dmitry Stogov df63ec564e minor fixes 2015-11-18 23:03:20 +03:00
Andrea Faulds 366ba41334 Add void return type 2015-11-18 17:30:49 +00:00
Dmitry Stogov 104a597113 Eliminate unreachable live ranges 2015-11-18 18:04:02 +03:00
Dmitry Stogov 66b953e022 Eliminate unreachable catch blocks 2015-11-18 15:34:28 +03:00
Dmitry Stogov af47326b38 Extended Debug info with live-ranges and excepton-table. 2015-11-18 13:14:57 +03:00
Andrey Hristov e59814ff34 Fix the macro in case of no statistics 2015-11-18 10:49:37 +01:00
Andrey Hristov b7b4364269 Fix wrong macro name 2015-11-18 10:35:10 +01:00
Andrey Hristov ee396aa566 Revert "Fixed compilation on 32-bit Linux"
This reverts commit 11c9729a9c.
2015-11-18 10:13:34 +01:00
Dmitry Stogov a6cc322b4d Added internal debug log for block pass. 2015-11-18 02:47:39 +03:00
Dmitry Stogov 030fab6233 Two step optimization for JMPZNZ L,L; L: JMPZ L+1; L: JMPNZ L+1. 2015-11-18 02:45:58 +03:00
Bob Weinand be4cce5234 Merge branch 'PHP-7.0' 2015-11-17 21:08:09 +01:00
Dmitry Stogov 854e8ebb4f Move JMPZNZ L,L; L: JMPZ L+1; L: JMPNZ L+1 optimization patterns from zend_jmp_optimization() into zend_optimize_block() because the value of Tsource in zend_jmp_optimization() is inconsistent.
Fixed compilation warnings.
2015-11-17 21:07:01 +03:00
Andrey Hristov d477557094 Revert "Add some const-ness to the protocol frame codec"
This reverts commit f8c2b45948.
2015-11-17 17:55:32 +01:00
Andrey Hristov 057ad5626b Don't use the specific translated name but use the macro for this 2015-11-17 17:48:27 +01:00
Dmitry Stogov 6cb3d90f0f Skip first basic block (we skiped it before) 2015-11-17 19:02:39 +03:00
Dmitry Stogov e603769cee Fixed signed/unsigned mismatch 2015-11-17 19:02:17 +03:00
Dmitry Stogov 11c9729a9c Fixed compilation on 32-bit Linux 2015-11-17 19:01:50 +03:00
Andrey Hristov a6b79f08b3 More const and moved the declaration of php_mysqlnd_scramble() to mysqlnd_auth.h 2015-11-17 14:59:59 +01:00
Andrey Hristov 4ee4a4bb52 constify parameters 2015-11-17 14:49:18 +01:00
Andrey Hristov 43bfbd86d9 Rename from previous acronym (ppec became pfc) 2015-11-17 14:40:03 +01:00
Andrey Hristov fae994fed9 Bring consistency to the class by renaming the methods too (from the
old temporary name)
2015-11-17 13:28:47 +01:00
Andrey Hristov f8c2b45948 Add some const-ness to the protocol frame codec 2015-11-17 13:17:17 +01:00
Xinchen Hui 03d5fdc1b8 Merge branch 'PHP-7.0' 2015-11-17 20:14:22 +08:00
Andrey Hristov 33e97d465d mysqlnd refactoring:
- move MYSQLND_READ_BUFFER to own file
2015-11-17 12:32:01 +01:00
Dmitry Stogov 7de190898d cleanup 2015-11-17 11:24:16 +03:00
Dmitry Stogov 8112e34210 cleanup 2015-11-17 09:59:49 +03:00
Dmitry Stogov 843c165735 Don't undo/redo "pass two" for jump targets in opcache optimizer. 2015-11-17 07:15:35 +03:00
Andrey Hristov e4173bd15c mysqlnd refactoring:
- reorganize the statistics code a bit. There is one mysqlnd specific function,
  for convenience, in mysqlnd_statistics.c - namelyu _mysqlnd_get_client_stats().
  The mysqlnd specific stats macros are moved to mysqlnd.h to keep
  mysqlnd_statistics.h from being mysqlnd specific.
2015-11-16 16:23:39 +01:00
Andrey Hristov 4fed8a28d0 mysqlnd refactoring :
- move the command buffer out of the networking code to the protocol frame
  codec.
2015-11-16 15:37:11 +01:00
Andrey Hristov 24cb185cb3 Merge branch 'PHP-7.0' 2015-11-16 13:03:12 +01:00
Andrey Hristov 398caf9336 - Remove dead macrom mysql_list_fields()
- Small optimizations here and there
2015-11-16 11:55:46 +01:00
Xinchen Hui f5be26e04b Unused var 2015-11-16 18:22:56 +08:00
Xinchen Hui 7d80ab2e12 Addtional fixes of #70918 2015-11-16 18:19:22 +08:00
Xinchen Hui ae196280bb Revert pushed by mistake
Revert "Revert "Remove assumption that extensions are in ext/ext-name""

This reverts commit 7e47bf1e65.
2015-11-16 18:04:29 +08:00
Xinchen Hui 5bdc5f4e2b Merge branch 'PHP-7.0' 2015-11-16 17:59:54 +08:00
Xinchen Hui 48325aba87 Merge branch 'master' of git.php.net:/php-src 2015-11-16 17:02:55 +08:00
Christopher Jones 1a1349b336 Merge branch 'PHP-7.0' 2015-11-16 08:16:07 +11:00
Jakub Zelenka 88f71d921e Merge branch 'PHP-7.0' 2015-11-15 19:16:01 +00:00
Jakub Zelenka 4b22c063bf Move password checkign to php_openssl_cipher_init 2015-11-15 19:11:24 +00:00
Jakub Zelenka be57cafb56 Merge branch 'master' of git.php.net:php-src into openssl_aead 2015-11-15 19:10:34 +00:00
Anatol Belski 4130118d0c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70917 install-pear-nozlib.phar missing
  Update mime type generator script to keep track of additional mime-types
  Added support for CSS/JavaScript source maps
2015-11-15 19:02:21 +01:00
Reeze Xia 8222b971cd Update mime type generator script to keep track of additional mime-types 2015-11-15 11:08:14 +08:00
Xinchen Hui 4bf3c1481f Merge branch 'master' of git.php.net:/php-src 2015-11-14 18:42:23 -08:00
Xinchen Hui 06fe956460 Fixed Bug #70918 (Segfault using static outside of class scope) 2015-11-14 18:41:55 -08:00
Anatol Belski 8dc903d8d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test title
2015-11-15 00:04:19 +01:00
Anatol Belski 7901bee575 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #70914 zend_throw_or_error() format string vulnerability
2015-11-14 23:49:59 +01:00
Nikita Popov e02aea5590 Remove no longer applicable optimization
PHP 7 generates CVs inside silenced blocks.
2015-11-14 11:23:31 +01:00
Xinchen Hui 90027dd7f6 Merge branch 'master' of https://github.com/thorsten/php-src 2015-11-14 01:56:46 -08:00
Xinchen Hui cae84ec224 Merge branch 'substr-useless-check' of https://github.com/tpunt/php-src 2015-11-14 01:44:43 -08:00
Xinchen Hui 7a29ed9f51 Merge branch 'patch-1' of https://github.com/glensc/php-src 2015-11-14 01:43:38 -08:00
Xinchen Hui 5b7865c9b2 Merge branch 'PHP-7.0' 2015-11-14 01:14:56 -08:00
Xinchen Hui 1e2ddfcd10 Merge branch 'PHP-7.0' 2015-11-13 19:40:20 -08:00
Gordon Oheim 0dc8a8cac0 Fix naming
The global section is named "General", but the correct section name is "global". It is "global" in #1313 and also "global" in https://github.com/php/php-src/blob/master/sapi/fpm/php-fpm.conf.in. The commit fixes the naming. However, the proposed change might break any tooling that relies on finding "General" in the output though.
2015-11-13 15:01:10 +01:00
Xinchen Hui 36d25a287b Merge branch 'PHP-7.0' 2015-11-13 21:25:06 +08:00
Dmitry Stogov 3a5fa926bf Squashed commit of the following:
commit afe963e6cc289696e60c6c679796ba2197c52b3b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 13 15:32:29 2015 +0300

    Added news entry

commit a126b891c97848dd7ef8f1abf716328c46e0f19c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 13 15:29:21 2015 +0300

    VERIFY_RETURN_TYPE doesn't have to cleanup operand on exception, bacause now, live temporary variables are released by exception unwinder.

commit 0db475e98786e6bcaa8401ee3e0b33743b9a2f2b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 12 22:55:39 2015 +0300

    Fixed copy/paste

commit 0ac73fe7174bec9de9a610319a98b259bea67f7f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 11 16:11:50 2015 +0300

    Fixed bug #62210 (Exceptions can leak temporary variables)
2015-11-13 15:35:07 +03:00
Yasuo Ohgaki cbe906226a Merge branch 'PHP-7.0'
* PHP-7.0:
  Use distinguishable error messages.
2015-11-13 21:27:13 +09:00
Xinchen Hui 7e47bf1e65 Revert "Remove assumption that extensions are in ext/ext-name"
This reverts commit 82b73fd1e3.

Conflicts:

	build/genif.sh
	build/order_by_dep.awk
2015-11-13 14:27:59 +08:00
Xinchen Hui 6d83a8c2a7 Merge branch 'PHP-7.0' 2015-11-13 14:00:16 +08:00
Dmitry Stogov 485408b20d Fixed compilation errors 2015-11-13 00:46:13 +03:00
Dmitry Stogov 16fcd9dcbd Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70900 (SoapClient systematic out of memory error)
2015-11-12 20:37:23 +03:00
Andrey Hristov 067380d7c6 MNDR:
- constify some parameters to MYSQLND_RES functions
2015-11-12 16:19:16 +01:00
Andrey Hristov 0a7e08d385 MNDR:
- cleanup in mysqlnd_result.c
- switch from zend_ulong to size_t for lengths. Accordingly change
  mysqli and pdo_mysql for this.
2015-11-12 16:19:16 +01:00
Andrey Hristov abc8c00072 MNDR:
- rename mysqlnd.c to mysqlnd_connection.c
2015-11-12 16:19:16 +01:00
Andrey Hristov c24d452f60 MNDR:
- less dereferencing in mysqlnd_ps . Dereference stmt->conn only once and
  use a stack variable. Also make the source cleaner.
2015-11-12 16:19:16 +01:00
Andrey Hristov 94ce013bff MNDR:
- remove unused macros
2015-11-12 16:19:16 +01:00
Andrey Hristov 2e3fc57c5c MNDR:
- move things out of mysqlnd_priv.h
2015-11-12 16:19:16 +01:00
Andrey Hristov e8ace2d4db MNDR:
- remove inclusion of uneeded headers
2015-11-12 16:19:16 +01:00
Andrey Hristov 4248240648 MNDR:
- move the command factory to own file - mysqlnd_commands.c
2015-11-12 16:19:16 +01:00
Andrey Hristov 3f0a542d04 MNDR:
- route the option to the right handler
2015-11-12 16:19:16 +01:00
Andrey Hristov 2cea04165c MNDR:
- move all data members from MYSQLND_PFC to MYSQLND_PFC_DATA
2015-11-12 16:19:16 +01:00
Andrey Hristov c286d7075d MNDR:
- move from char* + len to MYSQLND_STRING
- add some more const modifiers
2015-11-12 16:19:16 +01:00
Andrey Hristov a530ecff97 MNDR:
- better name for MYSQLND_PPEC - MYSQLND_PFC (protocol frame codec)
2015-11-12 16:19:16 +01:00
Andrey Hristov 654d1a7caf MNDR:
- rename MYSQLND_NET to MYSQLND_PPEC (protocol packet envelope codec).
  PPEC does only the encoding and decoding to the protocol frame.
2015-11-12 16:19:16 +01:00
Andrey Hristov 80d59a3a36 MNDR:
- intermediate step to move MYSQLND_NET from mysqlnd_vio.c to mysqlnd_wireprotocol.c
  In following commits MYSQLND_NET's methods and data will be moved to MYSQLND_PROTOCOL
2015-11-12 16:19:16 +01:00
Andrey Hristov 05c5e051be MNDR:
- moved networking code to mysqlnd_vio.c
2015-11-12 16:19:16 +01:00
Andrey Hristov e9f3139f43 MNDR:
- split MYSQLND_NET into MYSQLND_NET and MYSQLND_VIO
  MYSQLND_NET is above MYSQLND_VIO. _NET takes care of protocol packet
  counting (even with compressed), while VIO is just about the network
  (or in case of windows, non-network, but PIPE) transport.
2015-11-12 16:19:16 +01:00
Andrey Hristov a990573752 MNDR:
- some small renaming of methods
2015-11-12 16:19:16 +01:00
Andrey Hristov 0d3329fc93 MNDR:
- send_command and send_command_handle_response_* moved to a structure
2015-11-12 16:19:16 +01:00
Andrey Hristov e81ecc80ca MNDR:
- Move transport string generation to own function, which can be overloaded or sniffed
2015-11-12 16:19:16 +01:00
Andrey Hristov 51085dac1a MNDR:
- remove double decrement
2015-11-12 16:19:16 +01:00
Andrey Hristov b8b1d45c3c MNDR:
- move connection establishment code to own command - COM_HANDSHAKE
2015-11-12 16:19:16 +01:00
Andrey Hristov e6419ab401 MNDR:
- convert the API of MYSQLND_NET to MYSQLND_STRING
2015-11-12 16:19:16 +01:00
Andrey Hristov baab519ae5 MNDR:
- decouple the commands from the connection. CONN ist passed now only in 1 case
2015-11-12 16:19:16 +01:00
Andrey Hristov 5abee1948e MNDR:
- remove dead code
2015-11-12 16:19:16 +01:00
Andrey Hristov 71e703761f MNDR:
- clean up some things
2015-11-12 16:19:16 +01:00
Andrey Hristov e30e884e53 MNDR:
- move COM_INIT_DE result handling to the command
2015-11-12 16:19:16 +01:00
Andrey Hristov fefc3045a3 MNDR:
- remove COM_FIELD_LIST
2015-11-12 16:19:16 +01:00
Andrey Hristov 75a1fcc724 MNDR:
- move handling of commands to the command itself
2015-11-12 16:19:16 +01:00
Andrey Hristov 7e6f9a84cb MNDR:
- split handle_response() into handle_OK and handle_EOF
2015-11-12 16:19:16 +01:00
Andrey Hristov aa4966d4e3 MNDR:
- now send_command_handle_response() also doesn't depend directly on
  MYSQLND_CONN_DATA
2015-11-12 16:19:16 +01:00
Andrey Hristov f7a445856d MNDR:
- pass connection closer and its context
- remove unused parameter
2015-11-12 16:19:16 +01:00
Andrey Hristov 280c834c49 MNDR:
- rename the macro for updating the connection state
2015-11-12 16:19:16 +01:00
Andrey Hristov 109dc08ffd MNDR:
- make the connection state a class
2015-11-12 16:19:16 +01:00
Andrey Hristov 78cb5456da MNDR:
- simplify the macroses for the types
2015-11-12 16:19:16 +01:00
Andrey Hristov e9bccffe29 MNDR:
- switch to macro generation of structure names for the methods
2015-11-12 16:19:16 +01:00
Andrey Hristov 3eee292669 MNDR:
- Remove the SET_STMT_ERROR macro
2015-11-12 16:19:16 +01:00
Andrey Hristov 4bb784cd0d MNDR:
- make MYSQLND_ERROR_INFO a class
2015-11-12 16:19:16 +01:00
Andrey Hristov fb1b5abe31 MNDR:
- switch to MYSQLND_CLASS_METHOD_TABLE_NAME_DECL() for automatic naming
  of class methods
2015-11-12 16:19:16 +01:00
Andrey Hristov 5609eabc6f MDNR:
- make MYSQLND_UPSERT_STATUS more like an object that a simple structure
  Still use macros to make updates simple
2015-11-12 16:19:16 +01:00
Andrey Hristov 092afe7212 MNDR:
- abstract SSL enabling into COM_ENABLE_SSL
2015-11-12 16:19:16 +01:00
Andrey Hristov 10d4fb8a94 MDNR:
- Refactor the command factory. Let the factory be exchangeable.
2015-11-12 16:19:16 +01:00
Andrey Hristov e24dc94f32 MDNR:
- remove dead code
2015-11-12 16:19:16 +01:00
Andrey Hristov 7d7ff67b82 MDNR:
- send_command() is no more, thus we need commands for all COM_STMT_*
  + CHANGE_USER
2015-11-12 16:19:16 +01:00
Andrey Hristov f6ec3df895 MNDR:
- Switch for directly executing a command over the wire to creating a
  command object which is then executed.
2015-11-12 16:19:16 +01:00
Andrey Hristov 2a44cee4d5 MNDR:
- Remove unused variable
2015-11-12 16:19:16 +01:00
Andrey Hristov c33d3b6e5b MDNR:
- remove dead code
2015-11-12 16:19:16 +01:00
Andrey Hristov ab961ca347 MNDR:
- remove export of functions and have things exported thru an interface
  with default implementation
2015-11-12 16:19:16 +01:00
Andrey Hristov 784a371829 MNDR:
- Inject the object factory
2015-11-12 16:19:16 +01:00
Andrey Hristov f16686faa7 MNDR:
- don't use the static function name but the hook
2015-11-12 16:19:16 +01:00
Andrey Hristov 19443351ed MNDR:
- remove static function and make it a method. The function doesn't need to
  be in mysqlnd_ps.c as it doesn't use any resources anymore from it (it used
  in the past)
2015-11-12 16:19:16 +01:00
Andrey Hristov 3f7a7837cd MDNR:
- cleanup after PHP7 changes (removal of TSRMLS_**)
2015-11-12 16:19:16 +01:00
Andrey Hristov cfd868651a MDNR:
- removed init() method from mysqlnd_conn_data and moved the initialization
  to the object factory->get_connection(). Now it is unified as with the prepared
  statement which doesn't have any init() method
- the protocol decoder factory now takes connection as parameter at creation and
  thus there is no need to pass the connection as parameter when calling the read
  or the write method of a packet.
- saved the protocol payload decoder factory as pointer in every packet (read/write)
  so the connection doesn't need to be passed on every call of read/write (dependency
  has been already injected at creation). This will alow to move protocol specific
  code from MYSQLND_NET (send_ex()) to make MYSQLND_NET leaner and free from protocol
  stuff.
2015-11-12 16:19:16 +01:00
Andrey Hristov 75dc67c6ae MNDR:
- move macro to a function
2015-11-12 16:19:16 +01:00
Andrey Hristov 2ea4891e75 MNDR:
- rename mysqlnd_init to mysqlnd_connection_init
- rename mysqlnd_connect to mysqlnd_connection_connect
- created macros for BC
2015-11-12 16:19:16 +01:00
Andrey Hristov 34a33928d6 MNDR:
- Rename MYSQLND_PROTOCOL to MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY
- Rename other symbols related to MYSQLND_PROTOCOL accordingly
2015-11-12 16:19:16 +01:00
Andrey Hristov 4c83582c74 MNDR
- enum_mysqlnd_protocol_type -> enum_mysqlnd_session_protocol_type
2015-11-12 16:19:16 +01:00
Andrey Hristov 3091a01799 MNDR
- mysqlnd_option -> mysqlnd_client_option
2015-11-12 16:19:16 +01:00
Andrey Hristov 6051a47776 MNDR
- Rename simple_command* to send_command
2015-11-12 16:19:16 +01:00
Andrey Hristov 0f38d479e1 MNDR :
- Rename MYSQLND_OPTIONS to MYSQLND_SESSION_OPTIONS
- Rename MYSQLND_NET_OPTIONS to MYSQLND_IO_OPTIONS
2015-11-12 16:19:16 +01:00
Dmitry Stogov 998204ef2d Separate common part of compile_file() and compile_string() into zend_compile() 2015-11-12 16:59:44 +03:00
Anatol Belski fd598ed2c2 Merge branch 'PHP-7.0'
* PHP-7.0:
  fixed typo
2015-11-12 13:38:43 +01:00
Dmitry Stogov 7cae94d751 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  add test for bug #70898
  Also protects this one
  Update NEWS
  Re-fixed #70895
  Revert "Fixed bug Bug #70895 null ptr deref and segfault"
  Revert "refix bug #70895"
  Revert "Fixed bug #70898 (SIGBUS/GPF zend_mm_alloc_small (zend_alloc.c:1291))"
  Fixed bug #70898 (SIGBUS/GPF zend_mm_alloc_small (zend_alloc.c:1291))
  Using default port in ldap_connect when NULL is passed (this was the behavior prior to 5.6.11)
  update NEWS
  refix bug #70895
  Fixed bug Bug #70895 null ptr deref and segfault
2015-11-12 13:52:52 +03:00
Anatol Belski 9b0775dfbd Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for bug #70898
2015-11-12 09:47:43 +01:00
Xinchen Hui aaa4d38a7c Merge branch 'PHP-7.0' 2015-11-12 14:51:39 +08:00
Xinchen Hui f07c869593 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-11-12 14:39:20 +08:00
Xinchen Hui 29674a2e27 Merge branch 'PHP-7.0' 2015-11-12 14:20:24 +08:00
Xinchen Hui 1e06bf9c2c Merge branch 'PHP-7.0' 2015-11-12 14:19:11 +08:00
Anatol Belski a4e16cd823 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  refix bug #70895
  Fixed bug Bug #70895 null ptr deref and segfault
2015-11-12 01:43:38 +01:00
Dmitry Stogov 63c4414940 Initialize ctx->optimization_level 2015-11-12 02:46:41 +03:00
Dmitry Stogov 09aa68b294 Break dependency between opcache and optimizer. Remove copatibility macros. 2015-11-12 02:02:24 +03:00
Thomas Punt c37890062d Remove useless check in substr()
This check (if the start position is greater than the string length) is already performed on line 2399
2015-11-11 22:13:57 +00:00
Anatol Belski d1077f7a89 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix format macro names in UPGRADING.INTERNALS
2015-11-11 16:35:07 +01:00
Ferenc Kovacs e88e3f218d Merge branch 'PHP-7.0'
* PHP-7.0:
  Ensure the test fails
2015-11-11 14:59:54 +01:00
Xinchen Hui 9567726978 Merge branch 'PHP-7.0' 2015-11-11 19:51:57 +08:00
Anatol Belski 0b89c29288 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS, patch for #70249 pulled into RC7
  adjust test expectation
  fix test filename and title
2015-11-11 12:21:51 +01:00
Ferenc Kovacs 3977f1fa7d Merge branch 'PHP-7.0'
* PHP-7.0:
  propare for 5.6.16RC1
2015-11-11 09:22:10 +01:00
Dmitry Stogov 948b7f5421 Changed ZEND_FREE.op2.num and ZEND_FE_FREE.op2.num back to use live_range_offset (try_catch_offset does't work) 2015-11-11 11:12:44 +03:00
Thorsten Rinne a0d62f08ae Added support for CSS/JavaScript source maps
Source maps (http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/) are basically a way to map a combined/minified file back to an unbuilt state. To avoid error messages in Browser DevTools, source map files should be served with the MIME type "application/json"
2015-11-11 08:34:36 +01:00
Xinchen Hui cd6dda1679 Merge branch 'PHP-7.0' 2015-11-11 12:33:13 +08:00
Xinchen Hui 607e17e269 Merge branch 'PHP-7.0' 2015-11-11 11:35:09 +08:00
Elan Ruusamäe 694570ab54 Update php_ini.c
trivial typo fix
2015-11-11 00:06:06 +02:00
Dmitry Stogov baf97b1fcc We don't nees zend_op_array->brk_cont_array at run-time anymore.
Move zend_op_array->brk_cont_array into CG(context).brk_cont_array.
Use more compact zend_op_array->live_range instead of zend_op_array->brk_cont_array.
Semantic is kept unchanged.
2015-11-10 21:48:03 +03:00
Dmitry Stogov 71092b7c2b Make FE_FETCH and following assignments to be a part of a loop. 2015-11-10 20:11:05 +03:00
Dmitry Stogov 86a96f2cf1 Changed meaning of "op2" for ZEND_FREE, ZEND_FE_FREE, ZEND_FAST_CALL, ZEND_FAST_RET.
Previously it was an instruction number.
Now it's an index in op_array->try_cacth_array[].
2015-11-10 19:13:54 +03:00
Bob Weinand 9cfed119ff Merge branch 'PHP-7.0' 2015-11-10 09:29:35 +01:00
Matteo Beccati 0ed6e25e52 Merge branch 'PHP-7.0'
* PHP-7.0:
  Split shmop/tests/002.phpt in two (all + non-root)
  Fix bug #70886 in shmop/tests/002.phpt
2015-11-10 09:10:15 +01:00
Xinchen Hui 2d750a7233 Merge branch 'PHP-7.0' 2015-11-10 16:01:14 +08:00
Dmitry Stogov 6fe457f323 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect order of free/finally on exception
2015-11-10 10:11:46 +03:00
Andrea Faulds 7bc6361294 Merge branch 'PHP-7.0' 2015-11-09 23:42:12 +00:00
Anatol Belski ba91c1f51c Merge branch 'PHP-7.0'
* PHP-7.0:
  additional catch to bug #70863
2015-11-10 00:40:49 +01:00
Anatol Belski 119b2fbfbe Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for eb32da13
2015-11-09 22:49:52 +01:00
Dmitry Stogov 67990fc0a4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added tests
2015-11-09 23:54:58 +03:00
Anatol Belski f054907144 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare news for next
2015-11-09 19:40:33 +01:00
Jakub Zelenka a6bd699264 Merge branch 'PHP-7.0' 2015-11-09 18:25:07 +00:00
Jakub Zelenka 3fb12d239a Merge branch 'master' of git.php.net:php-src into openssl_aead 2015-11-09 18:23:51 +00:00
Xinchen Hui b31d2f34fb Merge branch 'PHP-7.0' 2015-11-09 17:15:05 +08:00
Xinchen Hui 0f516b9d97 Merge branch 'PHP-7.0' 2015-11-09 12:22:01 +08:00
Xinchen Hui 4ce4a46951 Merge branch 'PHP-7.0' 2015-11-09 12:02:43 +08:00
Xinchen Hui 4f8c98f98d Merge branch 'PHP-7.0' 2015-11-09 11:58:51 +08:00
Xinchen Hui f31e6bc96a Merge branch '70842-streams-segfault' of https://github.com/cchamplin/php-src 2015-11-09 11:57:32 +08:00
Jakub Zelenka dcabd9403a Move php_openssl_validate_iv to php_openssl_cipher_init and fix some issues 2015-11-08 18:03:17 +00:00
Xinchen Hui 7345dde792 Merge branch 'PHP-7.0' 2015-11-07 23:06:47 -08:00
Xinchen Hui 67bcbf864b Merge branch 'PHP-7.0' 2015-11-07 23:03:39 -08:00
Xinchen Hui 67e88df9d4 Merge branch 'patch-3' of https://github.com/staabm/php-src 2015-11-07 23:02:19 -08:00
Xinchen Hui acd36a00de Merge branch 'PHP-7.0' 2015-11-07 23:01:29 -08:00
Xinchen Hui 948bb4d224 Merge branch 'c9n-patch-1' of https://github.com/c9n/php-src 2015-11-07 23:01:09 -08:00
Xinchen Hui f1808325bb Merge branch 'PHP-7.0' 2015-11-07 22:59:05 -08:00
Xinchen Hui d5113bfa96 Merge branch 'patch-1' of https://github.com/asgrim/php-src 2015-11-07 22:58:30 -08:00
Nikita Popov 83b1679b6f Merge branch 'PHP-7.0'
Conflicts:
	ext/opcache/Optimizer/zend_optimizer.c
2015-11-07 17:50:39 +01:00
Xinchen Hui aff639faec Merge branch 'PHP-7.0' 2015-11-07 07:43:29 -08:00
Xinchen Hui f18f71740f Merge branch 'PHP-7.0' 2015-11-07 07:30:42 -08:00
Xinchen Hui f76e57f1f3 Merge branch 'PHP-7.0' 2015-11-07 06:50:43 -08:00
Reeze Xia 568c81809a Merge branch 'PHP-7.0'
* PHP-7.0:
  C99 complain fix
  Update NEWS
  Fixed bug #70876 Segmentation fault when regenerating session id with strict mode
2015-11-07 22:17:10 +08:00
Nikita Popov 603c172269 Merge branch 'PHP-7.0'
Conflicts:
	ext/opcache/Optimizer/zend_optimizer.c
2015-11-07 12:09:20 +01:00
Matteo Beccati 050c5e8940 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #70875 Segmentation fault if wsdl has no targetNamespace attribute
  Always remember NEWS....
  Fix compile warnings about comparison of unsigned expression always being true
  Bump OCI8 version
  Fix bug 68298 (PHP OCI8 OCI int overflow) (Senthil)
2015-11-07 11:06:10 +01:00
Anatol Belski 655e266440 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  fix decrement_function regarding bug #70863
  Fixed bug #70863 Incorect logic to increment_function for proxy objects
  no more dev ZEND_VERSION
  Add support for IPV6_V6ONLY on sockets

Conflicts:
	Zend/zend.h
2015-11-06 23:10:40 +01:00
Christopher Jones 69613a7ac3 Merge branch 'PHP-7.0' 2015-11-07 02:25:18 +11:00
Xinchen Hui 48364afecb Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-11-06 11:38:59 +08:00
Anatol Belski 0b9ed8d1a0 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2015-11-05 22:51:43 +01:00
Anatol Belski 6b8c9c5945 Merge branch 'PHP-7.0'
* PHP-7.0:
  use Z* macro name
2015-11-05 22:44:38 +01:00
Anatol Belski 622529c34e Merge branch 'PHP-7.0'
* PHP-7.0:
  fix NULL deref in mbstring post handler
  fix NULL deref in pdo_firebird
2015-11-05 22:25:56 +01:00
Anatol Belski 1bd3cc298b Merge branch 'PHP-7.0'
* PHP-7.0:
  fix pdo_sqlite crash with empty bound stream
  fix leak
2015-11-05 22:06:59 +01:00
Anatol Belski 31c9f8b748 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix pdo_mysql crash with empty bound stream param
2015-11-05 21:34:12 +01:00
Anatol Belski e240df1420 Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for bug #70861
  Fix setting of empty string resource.
  fix possible NULL deref in image functions
2015-11-05 19:51:18 +01:00
Anatol Belski ac711075ac Merge branch 'PHP-7.0'
* PHP-7.0:
  fix crash in sqlite when executing with bound stream param
2015-11-05 18:10:14 +01:00
Anatol Belski d756da8e72 Merge branch 'PHP-7.0'
* PHP-7.0:
  re-update NEWS
  update the actual sql parser file for #70861
  Fix bug #70861 Segmentation fault in pdo_parse_params() during Drupal 8 test suite
  don't get invalid chmod mode through
  zero cwd buffer before passing to chmod
2015-11-05 14:49:25 +01:00
Reeze Xia f2d39b5738 Merge branch 'PHP-7.0'
* PHP-7.0:
  Make test for bug #70852 to cover all cases
  Fixed bug #70852 Segfault getting NULL offset of an ArrayObject.
2015-11-05 14:30:20 +08:00
Xinchen Hui d598e1bc6c Merge branch 'PHP-7.0' 2015-11-04 06:44:48 -08:00
Xinchen Hui 5385478844 Merge branch 'PHP-7.0' 2015-11-04 19:01:31 +08:00
Xinchen Hui a4a767e6da Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_execute.h
2015-11-03 17:56:05 -08:00
Jakub Zelenka 3ce5e46338 Change return value from php_openssl_validate_iv 2015-11-03 19:35:02 +00:00
Caleb Champlin f2ad7e73bd Make sure context is set to null to prevent use after free 2015-11-02 21:58:04 +00:00
Jakub Zelenka 2eb3e2c3ba Use php_openssl_cipher_init in openssl_decrypt 2015-11-02 21:39:38 +00:00
Xinchen Hui a79a504b6d Merge branch 'PHP-7.0' 2015-11-02 16:43:52 +08:00
Xinchen Hui 957d6c1b4b Merge branch 'PHP-7.0' 2015-11-02 10:59:11 +08:00
Xinchen Hui ea23d28a69 Merge branch 'PHP-7.0' 2015-11-02 10:55:33 +08:00
Jakub Zelenka 789ee143b2 Use php_openssl_cipher_init in openssl_encrypt 2015-11-01 13:30:42 +00:00
Jakub Zelenka c09f3e399e Use correct type for tag_len 2015-11-01 13:19:52 +00:00
Jakub Zelenka 19e60a1f52 Merge branch 'master' into openssl_aead 2015-11-01 12:59:18 +00:00
Jakub Zelenka 6418786fc3 Merge branch 'master' of git.php.net:php-src into openssl_aead 2015-10-29 19:04:17 +00:00
Dmitry Stogov cb85f570c8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed memory leak in php_stream_context_set_option()
2015-10-29 20:07:37 +03:00
Xinchen Hui f596c8a3e1 Merge branch 'PHP-7.0' 2015-10-29 15:02:00 +08:00
Xinchen Hui 494bf962a6 Merge branch 'PHP-7.0' 2015-10-29 14:35:07 +08:00
Dmitry Stogov 4d702c21d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Don't remap .text segment if huge pages are not available.
2015-10-29 08:45:22 +03:00
Dmitry Stogov da8e6ec4a5 Fixed incorrect instruction cleanup 2015-10-28 23:10:33 +03:00
Dmitry Stogov 3b44e40277 fixed incorrect bitmask 2015-10-28 21:26:52 +03:00
Dmitry Stogov b009f84ec0 Removed incorrect "return" statement 2015-10-28 21:26:52 +03:00
Dmitry Stogov eb7be5379d Speed up fetching of class entries for self:: parent:: and static::
This is generalized solution for Bob's idea of speed up self::method() calls without ZEND_FETCH_CLASS.

At first, it adds few new opcodes to separate class related behaviour:
	FETCH_STATIC_PROP_R
	FETCH_STATIC_PROP_W
	FETCH_STATIC_PROP_RW
	FETCH_STATIC_PROP_FUNC_ARG
	FETCH_STATIC_PROP_UNSET
	FETCH_STATIC_PROP_IS
	UNSET_STATIC_PROP
	ISSET_ISEMPTY_STATIC_PROP
	FETCH_CLASS_CONSTANT

At seconds, it enables IS_UNUSED operand to fetch (self, parent or static without separate FETCH_CLASS) for new opcodes and the following ones:
	INIT_STATIC_METHOD_CALL
	NEW
	END_INSTANCEOF

Finaly, opcache optimizer had to be fixed to support new opcodes.
2015-10-28 21:26:52 +03:00
Andrey Hristov ff0ec06562 Merge branch 'PHP-7.0' 2015-10-28 12:56:26 +01:00
Markus Staab 8e83ea6e5d fixed another comment typo 2015-10-28 09:03:16 +01:00
Dmitry Stogov e58682a2c4 Fixed incorrect type usage 2015-10-28 10:26:47 +03:00
Lynn a4d5accf7d rm duplicate include 2015-10-28 11:21:15 +08:00
Anatol Belski 524a468d5f Merge branch 'PHP-7.0'
* PHP-7.0:
  sync NEWS
  7.0.1 is next
2015-10-27 20:20:58 +01:00
Markus Staab 08c97ea0a1 fixed typo 2015-10-27 17:29:28 +01:00
Markus Staab b83782e682 fixed another comment typo 2015-10-27 17:27:57 +01:00
Markus Staab 058a7ab55c fixed typo in comment
introduced in eb32da13cd
2015-10-27 17:26:36 +01:00
Anatol Belski 24bae1614f Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix frequent reallocations with many small strings
  correct snprintf usage
2015-10-27 17:08:51 +01:00
James Titcumb 2863f46d68 Fixed typo in reflection phpt 2015-10-27 13:18:50 +00:00
Andrey Hristov c484bf9439 Merge branch 'PHP-7.0' 2015-10-27 13:33:05 +01:00
Xinchen Hui 9c1d0946f4 It should not be const 2015-10-27 10:08:27 +08:00
Xinchen Hui 69beb29e15 Fixed Bug #70797 (Error while making PHP7)
error: ‘for’ loop initial declarations are only allowed in C99 mode
2015-10-27 10:06:22 +08:00
Xinchen Hui 1af0118ff8 Merge branch 'PHP-7.0' 2015-10-26 17:29:22 -07:00
Xinchen Hui 0771b46099 Merge branch 'PHP-7.0' 2015-10-26 17:11:16 -07:00
Leigh 54ff923ff5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Use arc4random on OpenBSD 5.5+ and NetBSD 7+
2015-10-30 19:11:09 +00:00
Dmitry Stogov 3e89c883bb Changed ZEND_CLONE->extended_value meaning to relative offset (previously it was absolute opline number) 2015-10-30 14:53:53 +03:00
Reeze Xia 880965b95e Merge branch 'PHP-7.0'
* PHP-7.0:
  This couldn't be false as it has been checked before
  Use h parameter to avoid duplicate ht access of `array_combine()`
2015-10-30 19:52:03 +08:00
Dmitry Stogov 9ccb432cab Argument type renaming (ADDR->JMP_ADDR, OPLINE->JMP_ABS, REL_OPLINE->JMP_REL) 2015-10-30 07:18:44 +03:00
Dmitry Stogov 5c65fc29ad Fixed few issues:
- Added ZEND_VM_LAST_OPCODE macro
- Use better names LINE->OPLINE, REL_LINE->REL_OPLINE, FCALL->FAST_CALL, FRET->FAST_RET
- Added ISSET flag to extended value of ZEND_ISSET_ISEMPTY_VAR opcode
2015-10-30 07:18:44 +03:00
Dmitry Stogov d83600a2d5 Added zend_get_opcode_flags() function to get information about opcode operands and extended_value meaning 2015-10-30 07:18:44 +03:00
Dmitry Stogov 648347536a Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incomplete initialization.
2015-10-30 07:16:31 +03:00
Jakub Zelenka 24ab2bb694 Merge branch 'PHP-7.0' 2015-10-29 19:15:57 +00:00
Leigh a685c53d34 Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove arc4random
2015-10-26 20:58:10 +00:00
Jakub Zelenka 496c46942f Add php_openssl_cipher_init 2015-10-26 19:08:24 +00:00
Jakub Zelenka 054b27d3f2 Merge branch 'master' into openssl_aead 2015-10-26 18:36:06 +00:00
Anatol Belski 34fe8de8f7 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #70718 stream_select() when OpenSSL extension is loaded on PHP Win64
  unbreak coverage data: fix #line directives in phpdbg parser
  exclude datelib from coverage report as asked by Derick
2015-10-26 15:57:46 +01:00
Dmitry Stogov 4e161531f4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed inconsistent exception handling (uopz/tests/006.phpt was failed when PHP build with --disable-gcc-global-regs).
2015-10-26 16:03:35 +03:00
Xinchen Hui 2373e49872 Merge branch 'PHP-7.0' 2015-10-26 11:15:53 +08:00
Jakub Zelenka 187c21979a Merge branch 'PHP-7.0' 2015-10-25 17:57:15 +00:00
Bob Weinand fa4e1f9f38 Merge branch 'PHP-7.0' 2015-10-25 18:48:18 +01:00
Nuno Lopes b5206970fb unbreak coverage data: fix #line directives in phpdbg parser 2015-10-24 17:45:31 -04:00
Nuno Lopes 3bbdfc62d2 exclude datelib from coverage report as asked by Derick 2015-10-24 17:36:23 -04:00
Nikita Popov 36cd300693 Merge branch 'PHP-7.0' 2015-10-24 23:19:36 +02:00
Anatol Belski 5790725bc4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix globals initialization in sapi/cgi
2015-10-23 13:59:41 +02:00
Anatol Belski 17eff65001 Merge branch 'PHP-7.0'
* PHP-7.0:
  rather use the supplied inttypes.h with vc14
  fix test redirection when run not from source root
2015-10-23 10:16:51 +02:00
Xinchen Hui 334deefa29 Merge branch 'fix-folding-marker' of https://github.com/ngsw/php-src 2015-10-23 11:28:22 +08:00
Xinchen Hui 40648d7fc8 Merge branch 'PHP-7.0' 2015-10-23 11:19:37 +08:00
Xinchen Hui 01558e4c88 Indents 2015-10-23 11:18:30 +08:00
Xinchen Hui 7854fb81ef Merge branch 'c9s/bugfix-boolean-conversion-warnings' of https://github.com/c9s/php-src 2015-10-23 10:13:16 +08:00
c9s fdb1da9bed Fix boolean conversion warnings
Summary:

The compiler complains and raised some warnings about boolean
conversion:

    warning: address of 'ce->constants_table' will always evaluate to
    'true' [-Wpointer-bool-conversion]

Since the address of 'HashTable' will always evaluate to true. the
condition should be removed. The scope is kept for local variables.

Platform:

    OS X 10.11

Compiler:

    Apple LLVM version 7.0.0 (clang-700.0.72)
    Target: x86_64-apple-darwin15.0.0
    Thread model: posix
2015-10-22 23:56:30 +08:00
ngsw 90d1e9d178 Fix: fold-maker `fpm_event_pre_init()' 2015-10-22 23:21:46 +09:00
Xinchen Hui 49c7fe4bdd This break the phpize API_NO detecting 2015-10-22 20:26:37 +08:00
Andrey Hristov 9f19635295 Merge branch 'PHP-7.0' 2015-10-22 12:20:20 +02:00
Kalle Sommer Nielsen 76a6f28fd8 Zend Engine 3.1.0-dev for master 2015-10-22 04:01:59 +02:00
Kalle Sommer Nielsen b26593628f Fix build on Windows 2015-10-22 03:47:46 +02:00
Andrey Hristov 53895bdf49 Merge branch 'PHP-7.0' 2015-10-21 16:15:45 +02:00
Bob Weinand 387b7c7905 Merge branch 'PHP-7.0' 2015-10-20 21:56:20 +02:00
Anatol Belski f13120e737 Merge branch 'PHP-7.0'
* PHP-7.0:
  backport 262160e and 2d55e8c into 5.6
2015-10-20 20:07:36 +02:00
Xinchen Hui 67b74b4f52 Merge branch 'PHP-7.0' 2015-10-20 08:14:08 -07:00
Xinchen Hui 1146f4e848 Merge branch 'PHP-7.0' 2015-10-20 16:59:03 +08:00
Xinchen Hui e7ae998a42 Merge branch 'PHP-7.0' 2015-10-20 13:27:34 +08:00
Ferenc Kovacs 5832cba065 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove imap tests for now until I finish the sudoless dovecot config
2015-10-19 23:58:40 +02:00
Ferenc Kovacs 6e28639ea0 Merge branch 'PHP-7.0'
* PHP-7.0:
  remove imap tests for now until I finish the sudoless dovecot config
2015-10-19 23:43:38 +02:00
Ferenc Kovacs 1eb8e74834 Merge branch 'PHP-7.0'
* PHP-7.0:
  fixup, both catched by nikic
  use another character device in this test as /dev/console seems that it is different for lxc containers
  the de_DE(iso-8859-1) locale is not available on ubuntu by default, but there is no reason to require that over the utf-8 one
  let's try running our testsuite without sudo
2015-10-19 23:07:58 +02:00
Kalle Sommer Nielsen 1986d52cd4 Remove the VALLEN macro, this is not used anyway and wouldn't work as it was assuming zval** 2015-10-19 17:07:31 +02:00
Kalle Sommer Nielsen 85678fc3bd Fix build in exif debug mode, p_name is a char*, not a zval** 2015-10-19 17:03:08 +02:00
Kalle Sommer Nielsen 76a612c663 Merge branch 'master' of git.php.net:/php-src 2015-10-19 16:56:23 +02:00
Kalle Sommer Nielsen b6cbc06d19 Fix php_stream_get_from_zval(), so that it works under PHP7
# We don't use zval** anymore, nor do any extension in PECL or core
# currently use this macro, but third party could. See PR#1562 on Github
2015-10-19 16:55:37 +02:00
Levi Morrison 43a4336820 Refactor zend_mark_function_as_generator 2015-10-19 06:57:21 -07:00
Stanislav Malyshev 620daef1e2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #64172
  Fix bug #64172
  Bug #70561: Fix DirectoryIterator to throw OutOfBoundsException
2015-10-18 17:20:17 -07:00
Stanislav Malyshev acb38ac636 Eliminate _PP macro
Not sure if this code ever used (probably not as it doesn't even compile now)
but just in case...
2015-10-18 16:37:03 -07:00
Stanislav Malyshev c2d2d097d1 Merge branch 'pull-request/1574'
* pull-request/1574:
  Update random.c
2015-10-18 16:26:50 -07:00
Stanislav Malyshev 118d7b6c6d Merge branch 'PHP-7.0'
* PHP-7.0:
  Skip some tests for platforms different than x86
  Skip serialize test if ext/session is not loaded
2015-10-18 15:46:02 -07:00
Stanislav Malyshev 0a575fe711 Closure binding and trait binding to anonymous class tests. 2015-10-18 15:39:34 -07:00
Stanislav Malyshev 397f869678 Fix extension version 2015-10-18 15:12:11 -07:00
Stanislav Malyshev e7f7164e87 Merge branch 'pull-request/1511'
* pull-request/1511:
  Changed from testing cast-128 to cast-256
2015-10-18 15:05:09 -07:00
Stanislav Malyshev 9da2de901f Merge branch 'pull-request/1527'
* pull-request/1527:
  adding test scenario to improve coverage
  adding test scenario to improve coverage
2015-10-18 15:02:48 -07:00
Stanislav Malyshev fc4aa9cee7 Merge branch 'pull-request/1563'
* pull-request/1563:
  Drop support for EOL'd PHP versions from run-tests
2015-10-18 15:01:15 -07:00
Stanislav Malyshev 8635abd6a5 Merge branch 'pull-request/1523'
* pull-request/1523:
  List PHP extension api version nos in zend_extensions.h
2015-10-18 14:57:10 -07:00
Stanislav Malyshev 7bdbb0e68b Merge branch 'pull-request/1516'
* pull-request/1516:
  Remove wrong argument $session from SNMP::setSecurity()
  Fix SNMP::setSecurity() arginfo (Fixes bug #70476)
2015-10-18 14:56:06 -07:00
Stanislav Malyshev 3956872a7f Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove wrong argument $session from SNMP::setSecurity()
  Fix SNMP::setSecurity() arginfo (Fixes bug #70476)
2015-10-18 14:52:34 -07:00
Stanislav Malyshev abaf1d58d0 Merge branch 'pull-request/1507'
* pull-request/1507:
  Include config.h instead of php_config.h in gd_compat.c to have the configure variable available in outside-of-the-tree module build
2015-10-18 14:39:45 -07:00
Felipe Pena b2466061d5 Merge branch 'PHP-7.0' 2015-10-18 12:10:03 -02:00
Anatol Belski dbfd99cdf2 Merge branch 'PHP-7.0'
* PHP-7.0:
  updated NEWS
  update NEWS
2015-10-18 11:36:23 +02:00
Anatol Belski 04761c626a Merge branch 'PHP-7.0'
* PHP-7.0:
  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)
2015-10-18 11:31:19 +02:00
Aaron Piotrowski 8ee61cea77 Merge branch 'PHP-7.0' 2015-10-18 02:24:05 -05:00
Aaron Piotrowski c76b64dea4 Merge branch 'PHP-7.0' 2015-10-18 01:52:17 -05:00
Aaron Piotrowski 34fe4c0fd3 Merge branch 'PHP-7.0' 2015-10-17 14:31:04 -05:00
Xinchen Hui c70d650b5c Merge branch 'PHP-7.0' 2015-10-17 05:29:32 -07:00
Xinchen Hui ae5a987258 Merge branch 'PHP-7.0' 2015-10-17 01:53:11 -07:00
Stanislav Malyshev af68b3ad5f Fix undefined symbol error when compiling with LLVM
Basically, LLVM in default mode treats inline in a way incompatible
with GCC in c89 mode, which leads to undefined symbol errors.
See more here: http://stackoverflow.com/questions/12844729/linking-error-for-inline-functions
2015-10-16 17:23:18 -07:00
Ferenc Kovacs 40038d7c5c update NEWS and UPGRADING 2015-10-16 19:01:22 +02:00
Ferenc Kovacs bdd658ee10 Merge branch 'pr-1567'
* pr-1567:
  initialize *str
  calling getenv() without arguments should return the environment variables as an array
2015-10-16 18:22:02 +02:00
Nikita Popov 468dc091d2 Merge branch 'PHP-7.0' 2015-10-16 17:45:55 +02:00
Anatol Belski 1b72ddf0d0 sync config.w32 with sha3 implementation 2015-10-16 12:18:35 +02:00
Sara Golemon e800da9920 Add missing NEWS entry, copyright notice, and vim settings
Should have gone with d244b54c67
2015-10-16 00:19:00 -07:00
Sara Golemon d244b54c67 Implement SHA3 hashing algorithm 2015-10-15 20:36:49 -07:00
Nikita Popov fdb14346dc Merge branch 'PHP-7.0' 2015-10-15 22:14:55 +02:00
Xinchen Hui 2b6345b48d Merge branch 'PHP-7.0' 2015-10-15 18:47:13 +08:00
Sara Golemon efce28ef1c Merge branch 'PHP-7.0'
* PHP-7.0:
  Scan through a range of ports in case 31338 is busy
2015-10-14 22:45:21 -07:00
Xinchen Hui 8e72b204d5 Merge branch 'PHP-7.0' 2015-10-15 10:19:55 +08:00
Ferenc Kovacs 2951ed33e7 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare for 5.6.15RC1
2015-10-15 00:55:52 +02:00
Scott f77cb7055d Update random.c
Ref: https://github.com/jedisct1/libsodium/commit/beb826f6fd173cff4473c8b7614033dbd4803500
2015-10-14 15:16:59 -04:00
Bob Weinand 844638918e Merge branch 'PHP-7.0' 2015-10-14 12:10:07 +02:00
Xinchen Hui 81e2d94290 Merge branch 'PHP-7.0' 2015-10-14 10:31:57 +08:00
Xinchen Hui 927ce6f7d2 Merge branch 'PHP-7.0' 2015-10-14 10:27:59 +08:00
Xinchen Hui caedb7c5dc Merge branch 'move-reflection-tests' of https://github.com/Sobak/php-src 2015-10-14 10:27:37 +08:00
Xinchen Hui 07d2d7fa53 Merge branch 'PHP-7.0' 2015-10-14 10:20:13 +08:00
Bob Weinand bcf6012cf4 Merge branch 'PHP-7.0' 2015-10-13 15:51:42 +02:00
Dmitry Stogov 2741090bfa Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect "peak" memory consumption calculation.
2015-10-13 15:21:26 +03:00
Anatol Belski dcced66739 Merge branch 'PHP-7.0'
* PHP-7.0:
  update UPGRADING
2015-10-13 11:49:13 +02:00
Xinchen Hui a3c2c802ba Merge branch 'PHP-7.0' 2015-10-13 17:41:18 +08:00
Bob Weinand c717d14a8e Merge branch 'PHP-7.0' 2015-10-13 11:30:14 +02:00
Anatol Belski d8f47bd177 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare NEWS for next
  update libs_versions.txt
2015-10-13 10:35:33 +02:00
Ferenc Kovacs 54670c8f05 initialize *str 2015-10-12 21:36:21 +02:00
Ferenc Kovacs d221821cee calling getenv() without arguments should return the environment variables as an array 2015-10-12 21:27:07 +02:00
Nikita Popov 2f06c0b2ea Merge branch 'PHP-7.0' 2015-10-12 20:37:55 +02:00
Anatol Belski 655e16ee95 Merge branch 'PHP-7.0'
* PHP-7.0:
  increase API versions
2015-10-12 20:26:34 +02:00
Felipe Pena ffebd5dbf6 - Fixed missing line-break 2015-10-12 09:54:03 -03:00
Felipe Pena 3831124ef0 Merge branch 'master' of git.php.net:php-src 2015-10-12 09:07:49 -03:00
Felipe Pena cf092b1b16 - Revert change, no check is needed there 2015-10-12 09:07:28 -03:00
Anatol Belski f031b3353a Merge branch 'PHP-7.0'
* PHP-7.0:
  fork test for ICU 56.1
  fork test for ICU-56.1
  fix test for ICU-56.1
2015-10-12 11:29:07 +02:00
Matteo Beccati 46a747090f Merge branch 'PHP-5.6'
* PHP-5.6:
  fix test
2015-10-12 09:47:09 +02:00
Sobak 31f2dbc327 Drop support for EOL'd PHP versions from run-tests 2015-10-12 07:00:30 +02:00
Xinchen Hui 2dd32fe489 Merge branch 'PHP-7.0' 2015-10-12 10:44:45 +08:00
Felipe Pena 8d12ff7513 - Fixed bug #70678 (PHP7 returns true when false is expected) 2015-10-11 12:08:34 -03:00
Felipe Pena acbecd7b31 - Fixed regression when calling func_get_args() from global scope 2015-10-11 10:30:44 -03:00
Sobak 68750d04c7 Move ext/reflection tests into the proper directory 2015-10-11 08:41:21 +02:00
Anatol Belski 9f27624641 fix ftok() export 2015-10-10 19:15:02 +02:00
Anatol Belski 49fe59e6d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix stack overflow
2015-10-10 18:39:47 +02:00
Anatol Belski 9d3f6f4319 update UPGRADING 2015-10-10 18:20:56 +02:00
Anatol Belski be3794831d replace typedef by an appropriate include 2015-10-10 17:31:40 +02:00
Anatol Belski c3dd6058df rename header 2015-10-10 17:31:33 +02:00
Anatol Belski f588c29f9a fix macro name 2015-10-10 17:31:26 +02:00
Anatol Belski 2dc0ce2fcd enable ftok implementation 2015-10-10 17:31:19 +02:00
Anatol Belski 5def56e23f initial ftok() implementation for win32 2015-10-10 17:31:12 +02:00
Anatol Belski 5b58d85186 fix stack overflow 2015-10-10 17:31:05 +02:00
Bob Weinand abeb29a274 Merge branch 'PHP-7.0' 2015-10-10 17:26:12 +02:00
Nikita Popov 91eb79d71a Merge branch 'PHP-7.0' 2015-10-10 15:00:58 +02:00
Nikita Popov 9c67a5c79d Merge branch 'PHP-7.0' 2015-10-10 13:57:52 +02:00
Anatol Belski f313d438b4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Implemented file_cache_fallback mechanism
2015-10-09 23:49:09 +02:00
Nikita Popov 1547d245a3 Merge branch 'PHP-7.0' 2015-10-09 23:30:34 +02:00
Nikita Popov c7b9a07ea2 Merge branch 'PHP-7.0' 2015-10-09 23:07:10 +02:00
Anatol Belski ac750e091e Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  update NEWS
  fix coverage report for datelib
2015-10-09 12:37:00 +02:00
Dmitry Stogov 046e056e89 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())
2015-10-09 11:49:00 +03:00
Dmitry Stogov 5a793a68b0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed reference cuntmting for closures (previously we didn't increment reference counter for "internal" closures)
2015-10-09 02:40:11 +03:00
Dmitry Stogov 2a796a0881 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed infinity recurion if we create closure on top of other closure.
2015-10-09 02:38:47 +03:00
Dmitry Stogov 6fd4eeb90c Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed use after free
2015-10-09 01:09:36 +03:00
Dmitry Stogov d3d7c5a52e Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when used for internal functions)
2015-10-09 00:45:45 +03:00
Dmitry Stogov 6571038093 Merge branch 'PHP-7.0'
* PHP-7.0:
  Correct intdiv() argument names and description
2015-10-09 00:42:26 +03:00
Dmitry Stogov ff4f3094e7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70668 (array_keys() doesn't respect references when $strict is true)
2015-10-08 14:59:55 +03:00
Dmitry Stogov 4d1d097aca Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70667 (strtr() causes invalid writes and a crashes)
2015-10-08 14:33:03 +03:00
Nikita Popov 9ffe44cb46 Merge branch 'PHP-7.0' 2015-10-08 11:04:45 +02:00
Ferenc Kovacs 0e7ce86d03 update NEWS/UPGRADING 2015-10-08 10:38:46 +02:00
Ferenc Kovacs 1e66f1b9ad Merge branch 'pr-1204'
* pr-1204:
  no need for default value
  allow passing null as the third param
  Implemented FR #55716 - Add an option to pass a custom stream context
2015-10-08 10:23:24 +02:00
Jakub Zelenka a6534b8f73 Use openssl allocated cipher context 2015-10-07 20:18:33 +01:00
Nikita Popov 478e8d6b6d Merge branch 'PHP-7.0' 2015-10-07 16:26:58 +02:00
Ferenc Kovacs 7d0c04c1e9 Merge branch 'PHP-7.0'
* PHP-7.0:
  pear 1.10 was released and the go-pear and install pear phars are now php7 compatible
2015-10-07 16:15:59 +02:00
Dmitry Stogov 33c89e2bb4 Merge branch 'PHP-7.0'
* PHP-7.0:
  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:12:43 +03:00
Christopher Jones 969072c1bd Merge branch 'PHP-7.0'
* PHP-7.0:
2015-10-07 20:31:02 +11:00
Christopher Jones 06f99d14e4 Merge branch 'master' of https://git.php.net/repository/php-src
* 'master' of https://git.php.net/repository/php-src:
  Fixed test running on MarinaDB.
2015-10-07 20:27:40 +11:00
Christopher Jones 9b2c26b8d5 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix mem leak and improve test portability (Senthil)
2015-10-07 20:25:35 +11:00
Dmitry Stogov dbb0ed0c1b Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test running on MarinaDB.
2015-10-07 12:22:17 +03:00
Anatol Belski 5339a5c49c Merge branch 'PHP-7.0'
* PHP-7.0:
  add comment to test
2015-10-07 09:44:15 +02:00
Dmitry Stogov e3c8d4758b Merge branch 'PHP-7.0'
* PHP-7.0:
  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:28:43 +03:00
Dmitry Stogov 311a3dbdab Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test (system error messages may be different).
2015-10-07 03:26:24 +03:00
Dmitry Stogov 0dc69a18d9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test (it failed on 32-bit Linux and worked on 64-bit Linux just because of luck).
2015-10-07 03:08:40 +03:00
Dmitry Stogov 20a4cac243 Merge branch 'PHP-7.0'
* PHP-7.0:
  Split test into different versions for 32-bit and 64-bit systems
2015-10-07 01:52:25 +03:00
Dmitry Stogov b83f20ab75 Merge branch 'PHP-7.0'
* PHP-7.0:
2015-10-07 01:50:28 +03:00
Dmitry Stogov ec7af9f6b4 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Drop HAVE_PACKED_OBJECT_VALUE
  More zpp cleanup in ext/intl
2015-10-07 01:49:54 +03:00
Nikita Popov 0e564162dc Merge branch 'PHP-7.0' 2015-10-06 23:15:27 +02:00
Dmitry Stogov b9fce8f61a Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction->getClosure())"
2015-10-07 00:00:40 +03:00
Nikita Popov 00326196bf Merge branch 'PHP-7.0' 2015-10-06 22:58:11 +02:00
Dmitry Stogov a849fd12ce Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Improve 517b55362 (scope rebinding on method Closures)"
  Revert "Merge branch 'array_keys_strict_refs' of https://github.com/tony2001/php-src"
  Revert "Allow random $this on non-internal Closures again"
  Revert "Speed up self::method() calls (no ZEND_FETCH_CLASS)"
  Revert "Speed up self::$property access by 20%"
  Revert "Update NEWS"
2015-10-06 23:50:16 +03:00
Sara Golemon 1c95edfcba Merge branch 'PHP-7.0'
* PHP-7.0:
  Add some tests for unserialize() class filtering
2015-10-06 12:04:44 -07:00
Rasmus Lerdorf ac78430c74 zend.assertions is not a boolean 2015-10-06 17:15:05 +09:00
Bob Weinand bc95a6109f Merge branch 'PHP-7.0' 2015-10-06 01:03:35 +02:00
Anatol Belski 613a1cbd73 Merge branch 'PHP-7.0'
* PHP-7.0:
  don't leak handles
  use correct function to close handles
2015-10-05 22:00:15 +02:00
Bob Weinand 84a006d479 Merge branch 'PHP-7.0' 2015-10-05 21:54:10 +02:00
Bob Weinand 9c02e83d4c Merge branch 'PHP-7.0' 2015-10-05 21:17:50 +02:00
Bob Weinand 2d4e8c44dd Merge branch 'PHP-7.0' 2015-10-05 17:54:14 +02:00
Bob Weinand b7826170dd Merge branch 'PHP-7.0'
Previous commit was a merge to the wrong branch... Cherry-Picked into PHP-7.0 and empty merge here
2015-10-05 14:50:52 +02:00
Bob Weinand e57add0100 Merge branch 'array_keys_strict_refs' of https://github.com/tony2001/php-src 2015-10-05 14:45:15 +02:00
Antony Dovgal 9ac0a83101 add new tests for array_keys() function 2015-10-05 12:52:22 +03:00
Antony Dovgal d0c23bf03b fix array keys being too strict to refs
and add tests
2015-10-05 12:49:34 +03:00
Bob Weinand 746b37e2d5 Merge branch 'PHP-7.0' 2015-10-05 00:57:30 +02:00
Anatol Belski 872e6666d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  improve error message
2015-10-04 16:38:00 +02:00
Anatol Belski b4f08e50e8 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix incrementing on 32-bit
  fix coverage report for datelib
2015-10-04 12:19:41 +02:00
Anatol Belski ee196c1527 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix incrementing on 32-bit
2015-10-04 12:17:50 +02:00
Anatol Belski 96ac357581 fix incrementing on 32-bit 2015-10-04 12:16:54 +02:00
Nuno Lopes 6709006457 fix coverage report for datelib 2015-10-04 05:36:47 -04:00
Xinchen Hui 050ce295a4 Merge branch 'PHP-7.0' 2015-10-03 23:16:56 -07:00
Bob Weinand 5318c99411 Merge branch 'PHP-7.0' 2015-10-04 01:44:05 +02:00
Anatol Belski fc4687242b Merge branch 'PHP-7.0'
* PHP-7.0:
  remove useless checks
2015-10-03 11:00:24 +02:00
Anatol Belski a551c9df3b Merge branch 'PHP-7.0'
* PHP-7.0:
  fix win10 support
2015-10-03 10:46:32 +02:00
Nikita Popov cc5bb8cb8d Merge branch 'PHP-7.0' 2015-10-03 10:14:17 +02:00
Ferenc Kovacs f39229a6b0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update NEWS file with LDAP fixes
2015-10-02 21:51:56 +02:00
Derick Rethans 5bcb171a71 Updated to version 2015.7 (2015g) 2015-10-02 18:12:19 +01:00
Derick Rethans f96d9370fb Empty merge 2015-10-02 18:12:19 +01:00
Xinchen Hui eb6ffde023 Merge branch 'PHP-7.0' 2015-10-02 07:26:17 -07:00
Xinchen Hui 340517e376 Merge branch 'PHP-7.0' 2015-10-02 07:21:52 -07:00
Bob Weinand f174b7de8b Merge branch 'PHP-7.0' 2015-10-02 12:51:45 +02:00
Bob Weinand 4d26398287 Merge branch 'PHP-7.0' 2015-10-02 12:38:00 +02:00
Nikita Popov 68c395346a Merge branch 'PHP-7.0' 2015-10-02 09:45:24 +02:00
Dmitry Stogov b302925b72 ws 2015-10-01 23:21:21 +03:00
Nikita Popov 707212f458 Merge branch 'PHP-7.0' 2015-10-01 20:47:29 +02:00
Nikita Popov 496282c48a Merge branch 'PHP-7.0' 2015-10-01 16:40:58 +02:00
Matteo Beccati 88df29dd88 Merge branch 'PHP-7.0'
* PHP-7.0:
  ReflectionGenerator and ReflectionType are new classes
  fix dl() function
2015-09-30 15:55:01 +02:00
Antony Dovgal 94cc5faa17 fix dl() function
..which was using old macro
2015-09-30 14:43:53 +01:00
Dmitry Stogov 914eef237c Merge branch 'PHP-7.0'
* PHP-7.0:
  Reordered field to improve data lacality and reduce L1D CPU cache misses in ZEND_INIT_FCALL opcode family
2015-09-30 16:24:14 +03:00
Julien Pauli 019100937d Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
  5.5.31 now
  Add NTS/ZTS information to php -v
2015-09-30 13:20:22 +02:00
Anatol Belski 1888d3a0c4 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test
2015-09-30 12:18:48 +02:00
Anatol Belski f27efe828e Merge branch 'PHP-7.0'
* PHP-7.0:
  fork test
  fix tests on Windows
  tweak cgi binary search
2015-09-30 11:32:26 +02:00
Xinchen Hui dd16193801 Merge branch 'PHP-7.0' 2015-09-30 12:59:21 +08:00
Xinchen Hui 1518a722d2 Merge branch 'patch-1' of https://github.com/rquadling/php-src 2015-09-30 12:57:31 +08:00
Andrey Hristov 12a3b31981 Merge branch 'PHP-7.0' 2015-09-30 09:04:25 +02:00
Xinchen Hui ba2b0c11b3 Merge branch 'PHP-7.0' 2015-09-30 10:42:23 +08:00
Ferenc Kovacs 1dc93f000c Merge branch 'PHP-7.0'
* PHP-7.0:
  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:50 +02:00
Ferenc Kovacs 15a7d3486a Merge branch 'PHP-7.0'
* PHP-7.0:
  add NEWS entries
  add NEWS entries
  add NEWS entries
2015-09-30 01:17:57 +02:00
Xinchen Hui 3bb387f591 Merge branch 'PHP-7.0' 2015-09-29 21:50:21 +08:00
Xinchen Hui 88e147441d Make ZEND_ECHO and removed ZEND_PRINT distinguishable 2015-09-29 21:49:22 +08:00
Dmitry Stogov d4e1c17049 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added information about Zend Extension API chabges
2015-09-29 14:12:58 +03:00
Anatol Belski 64da787e48 Merge branch 'master' of git.php.net:php-src 2015-09-29 13:08:44 +02:00
Anatol Belski bc94d81e1c Merge branch 'PHP-7.0'
* PHP-7.0:
  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.
2015-09-29 13:04:24 +02:00
Dmitry Stogov 0f23289249 Merge branch 'PHP-7.0'
* PHP-7.0:
  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:37:06 +03:00
Anatol Belski 56f8396b66 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS for next
2015-09-29 10:52:09 +02:00
Anatol Belski 17c00e0087 Merge branch 'PHP-7.0'
* PHP-7.0:
  Update openssl_x509_checkpurpose.phpt
  add test to openssl ext
2015-09-29 10:42:46 +02:00
Dmitry Stogov 1958e49c62 Merge branch 'PHP-7.0'
* PHP-7.0:
  Removed or simplified incorrect SEPARATE_*() macros usage.
2015-09-29 11:18:30 +03:00
Andrey Hristov c169f2b27d Merge branch 'PHP-7.0' 2015-09-29 09:49:22 +02:00
Anatol Belski 900fc612ec Merge branch 'PHP-7.0'
* PHP-7.0:
  Remove makedev() check.
  Different error message if makedev check fails
  Add support for getrandom(2), add type check on file descriptor
  fix test
2015-09-29 09:15:03 +02:00
Stanislav Malyshev 9f9cab8cc8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Better fix for bug #70433
2015-09-28 21:43:28 -07:00
Stanislav Malyshev eb7ae55db5 Merge branch 'PHP-7.0'
* PHP-7.0:
  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()

Conflicts:
	ext/phar/util.c
2015-09-28 20:45:38 -07:00
Stanislav Malyshev 2cacf5770d Fix bug #69720: Null pointer dereference in phar_get_fp_offset() 2015-09-28 17:01:16 -07:00
Stanislav Malyshev e2aa80019c Merge branch 'PHP-5.6'
* PHP-5.6:
  Fix bug #70480 (php_url_parse_ex() buffer overflow read)
2015-09-28 13:05:02 -07:00
Andrey Hristov 01ecfe4195 Merge branch 'PHP-7.0' 2015-09-28 12:28:20 +02:00
Anatol Belski 250938e2d3 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix phpdbg's -h switch
2015-09-27 15:48:42 +02:00
Andrey Hristov 7d3844123f Merge branch 'PHP-7.0' 2015-09-25 14:29:56 +02:00
Richard Quadling f4f4c79cf9 Spelling
bugger => buffer
2015-09-25 12:16:53 +01:00
Dmitry Stogov c2ff33d7c9 Merge branch 'PHP-7.0'
* PHP-7.0:
  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 13:02:49 +03:00
Anatol Belski 6e9d347b5a Merge branch 'PHP-7.0'
* PHP-7.0:
  check for test requirement
  fix data type and warning
2015-09-25 11:52:27 +02:00
Dmitry Stogov e395540be8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Extended zend_extension API to allow storing additional data associated with op_arrays in opcache SHM. (op_array->reserved[])
2015-09-25 11:52:51 +03:00
Dmitry Stogov 6cc1816126 Merge branch 'PHP-7.0'
* PHP-7.0:
  Make necessary separation (it might be possible to fix this in a better way, but this will requre some refactoring)
2015-09-25 11:01:12 +03:00
Anatol Belski 3e7c1f7e7c Merge branch 'PHP-7.0'
* PHP-7.0:
  add note about minimum openssl version
  fix ident
2015-09-25 09:12:28 +02:00
c9s 1273ae85f1 List PHP extension api version nos in zend_extensions.h
- Put doc constants in comment
- Link to github issue #1523
2015-09-25 08:46:46 +08:00
Dmitry Stogov 5902af506a Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: avoid useless array duplication
2015-09-25 02:20:31 +03:00
Dmitry Stogov c4a96f1f74 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup
2015-09-25 01:36:23 +03:00
Dmitry Stogov 6dab652379 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect usage of HASH_OF() macro. Replaced HASH_OF() with more appropriate Z_ARRVAL_P() or Z_OBJPROP_P().
  Fix missing LOAD_OPLINE() for ZEND_USER_OPCODE_LEAVE
2015-09-24 22:41:45 +03:00
Bob Weinand 30d3698114 Merge branch 'PHP-7.0' 2015-09-24 20:34:12 +02:00
Anatol Belski 27b55591ff Merge branch 'PHP-7.0'
* PHP-7.0:
  don't keep locked mutex after errors
  avoid dangling pointers
  move accel_shared_globals assignment into locked block
  add ovfl check, fix warnings
  fix warning
  fix warning
2015-09-24 17:26:28 +02:00
Dmitry Stogov fbd806ef30 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70573 (Cloning SplPriorityQueue leads to memory leaks)
2015-09-24 16:43:33 +03:00
Adam Harvey 3b5120c147 Merge branch 'PHP-7.0' 2015-09-24 14:20:07 +02:00
Dmitry Stogov c7ef1ae68f Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix (revert) loop exit condition
2015-09-24 11:20:03 +03:00
Dmitry Stogov 31484ee9b7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Attmpt to fix "Unable to reattach to base address" problem. (Matt Ficken)
2015-09-24 10:49:48 +03:00
Dmitry Stogov 0eb689fa0d Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: avoid reallocations
2015-09-24 02:23:26 +03:00
Dmitry Stogov 2274b74735 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: avoid reallocations
2015-09-24 01:35:33 +03:00
Dmitry Stogov ae79d86b90 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed memory leak and avoid reallocations
2015-09-24 01:19:42 +03:00
Dmitry Stogov e00413b312 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: replace removed condition with ZEND_ASSERT()
2015-09-24 00:26:15 +03:00
Dmitry Stogov 9da039b042 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed memory leak.
2015-09-23 23:16:48 +03:00
Jakub Zelenka 2f744cd3c5 Add and use function for loading cipher mode info 2015-09-23 19:56:24 +01:00
Anatol Belski 827ffd5869 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2015-09-23 20:01:34 +02:00
Anatol Belski 1f7465eaf3 Merge branch 'PHP-7.0'
* PHP-7.0:
  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:56 +02:00
Andrey Hristov 3c49ec47e7 Merge branch 'PHP-7.0' 2015-09-23 18:40:28 +02:00
Bob Weinand bddbe45bcd Merge branch 'PHP-7.0' 2015-09-23 18:30:44 +02:00
Andrey Hristov e07e4f4bb3 Fix for Bug #70384 mysqli_real_query(): Unknown type 245 sent by the server 2015-09-23 18:23:45 +02:00
Anatol Belski 0bdd1709cc Merge branch 'PHP-7.0'
* PHP-7.0:
  use bundled openssl.cnf
2015-09-23 17:17:42 +02:00
Xinchen Hui 6c071d9286 Merge branch 'PHP-7.0' 2015-09-23 07:12:07 -07:00
Xinchen Hui cb4588e9ef Merge branch 'PHP-7.0' 2015-09-23 07:06:01 -07:00
Xinchen Hui c915d8a7d1 Merge branch 'PHP-7.0' 2015-09-23 07:02:04 -07:00
Anatol Belski 5582d20729 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2015-09-23 15:21:58 +02:00
Dmitry Stogov 7c520ea877 Merge branch 'PHP-7.0'
* PHP-7.0:
  Don't keep dangling pointers
2015-09-23 16:16:33 +03:00
Anatol Belski 58cb52eea6 Merge branch 'PHP-7.0'
* PHP-7.0:
  add test
  expose openssl config path so it can be tested
2015-09-23 15:01:38 +02:00
Anatol Belski d82709e6f8 Merge branch 'PHP-7.0'
* PHP-7.0:
  add missing header
  silence mkdir to fix fails after unclean test run
2015-09-23 14:03:29 +02:00
Dmitry Stogov 92ac5e52bb Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed test
2015-09-23 13:18:43 +03:00
Xinchen Hui d44bb8bc3f Merge branch 'PHP-7.0' 2015-09-23 14:10:32 +08:00
Xinchen Hui 87a5b814b7 Merge branch 'PHP-7.0' 2015-09-23 13:04:51 +08:00
Xinchen Hui 4d43ff9819 Merge branch 'PHP-7.0' 2015-09-23 10:01:10 +08:00
Dmitry Stogov c8ecd541df Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: removed deprecated commented code. Incorrect zval_dtor() usage replaced by zval_dtor_ptr().
2015-09-23 01:33:38 +03:00
Dmitry Stogov 65f1316f94 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: zend_object_std_dtor() is called through free_obj handler
2015-09-23 00:13:15 +03:00
Dmitry Stogov 94d979d895 Merge branch 'PHP-7.0'
* PHP-7.0:
  Properly cleanup on wrong ZEND_OVERLOADED_FUNCTION call
2015-09-22 23:52:58 +03:00
Dmitry Stogov 2c9bea03f0 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: removed deprecated commented code
2015-09-22 22:56:06 +03:00
Anatol Belski a72167d873 Merge branch 'PHP-7.0'
* PHP-7.0:
  unmap correct handle
2015-09-22 21:21:42 +02:00
Anatol Belski c9804c6877 Merge branch 'PHP-7.0'
* PHP-7.0:
  add test
  nullify the memory chunk to avoid crashes when freeing resource
2015-09-22 20:49:27 +02:00
Anatol Belski ddce7da377 Merge branch 'PHP-7.0'
* PHP-7.0:
  check for NULL return
2015-09-22 20:06:18 +02:00
Dmitry Stogov 03118db714 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: don't keep useless dangling pointer
2015-09-22 17:48:49 +03:00
Dmitry Stogov b4e5724f14 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: removed old commented code
2015-09-22 17:06:29 +03:00
Dmitry Stogov 686e610ddb Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: removed deprecated commented code
2015-09-22 17:03:03 +03:00
Dmitry Stogov 80dd626409 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup: removed comments (zend_object.handle and zend_resource.handle are not going to be removed in PHP-7.0)
2015-09-22 16:00:30 +03:00
Dmitry Stogov 9fe578c537 Merge branch 'PHP-7.0'
* PHP-7.0:
  Cleanup (we keep and reuse size from zend_mm_huge_list)
2015-09-22 15:52:11 +03:00
Dmitry Stogov a38cb8a129 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed reporting about repeatable "huge" memory leaks.
2015-09-22 15:47:39 +03:00
Derick Rethans 82fe65a812 Merge branch 'PHP-7.0' 2015-09-22 09:18:29 +01:00
Derick Rethans 9c375ece15 Merge branch 'PHP-7.0' 2015-09-22 09:08:55 +01:00
Derick Rethans d5a8d2f27f Merge branch 'master' of git.php.net:php-src 2015-09-22 08:47:36 +01:00
Derick Rethans d80c82c2b7 Merge branch 'PHP-7.0' 2015-09-22 08:45:55 +01:00
Xinchen Hui 2daafed30d Merge branch 'PHP-7.0' 2015-09-22 15:30:44 +08:00
Xinchen Hui f14428c209 Merge branch 'PHP-7.0' 2015-09-22 13:59:18 +08:00
Xinchen Hui 72fcdf61cf Merge branch 'PHP-7.0' 2015-09-22 12:06:54 +08:00
Xinchen Hui 54c18e51fc Merge branch 'PHP-7.0' 2015-09-22 12:01:00 +08:00
Jakub Zelenka 96698b5d6d Add and check AEAD params in openssl_encrypt and openssl_decrypt 2015-09-21 18:48:21 +01:00
Xinchen Hui b7f0b4bdb3 Merge branch 'PHP-7.0' 2015-09-21 22:05:45 +08:00
Xinchen Hui d9035ed18d Merge branch 'master' of git.php.net:/php-src 2015-09-21 11:20:36 +08:00
Xinchen Hui a94fb4b307 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-09-21 11:19:54 +08:00
Xinchen Hui 985054e4c4 Merge branch 'PHP-7.0' 2015-09-20 09:34:40 -07:00
Xinchen Hui d25b2590b9 Restore NEWS (Why NEWS is always merged? ) 2015-09-20 09:32:49 -07:00
Xinchen Hui 74ae73c3ce Merge branch 'PHP-7.0' 2015-09-20 09:32:41 -07:00
Jakub Zelenka 2ed246ed89 Add an initial preparation for OpenSSL AEAD 2015-09-20 14:00:24 +01:00
Jakub Zelenka eb56d1308d Merge branch 'PHP-7.0' 2015-09-20 13:02:37 +01:00
Jakub Zelenka 0336d514cc Merge branch 'PHP-7.0' 2015-09-20 12:54:57 +01:00
Xinchen Hui 0749df623f Merge branch 'PHP-7.0' 2015-09-19 19:52:23 -07:00
Xinchen Hui b124ad6ee8 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-09-19 19:50:57 -07:00
Bob Weinand d2f37fc4c0 Merge branch 'PHP-7.0' 2015-09-20 04:28:18 +02:00
Bob Weinand 906de1ffcc Merge branch 'PHP-7.0' 2015-09-20 02:43:55 +02:00
Bob Weinand 8faeac8f33 Merge branch 'PHP-7.0' 2015-09-19 23:25:28 +02:00
Xinchen Hui 9c282a525c Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-09-19 06:19:32 -07:00
Yasuo Ohgaki e3a1e4a391 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #70529 Session read causes "String is not zero-terminated" error
2015-09-19 11:27:24 +09:00
Edgar R. Sandi ab4b14ec3c Merge branch 'date_sun_info-function_improve-test-coverage' of github.com:edgarsandi/php-src into date_sun_info-function_improve-test-coverage 2015-09-18 12:10:13 -03:00
Edgar R. Sandi d1d7890a87 adding test scenario to improve coverage 2015-09-18 12:09:38 -03:00
Xinchen Hui 608d702795 NEWS should not be updated 2015-09-18 17:28:08 +08:00
Xinchen Hui 752b0511b0 Merge branch 'PHP-7.0' 2015-09-18 17:27:57 +08:00
Xinchen Hui 5101f2e7a5 Merge branch 'PHP-7.0' 2015-09-18 16:36:29 +08:00
Dmitry Stogov fac5649dda Merge branch 'PHP-7.0'
* PHP-7.0:
  Use Zend MM to keep statistic of non-persistent connections (calloc/free->pecalloc/pefree)
2015-09-18 10:37:25 +03:00
Matteo Beccati f4309bae76 Merge branch 'PHP-7.0'
* PHP-7.0:
  Skip session_regenerate_id_cookie.phpt when there's no cgi
  Add eventual escaping for phpdbg arguments
  Add # delimiter to phpdbg commands
2015-09-18 07:53:05 +02:00
Dmitry Stogov df29df7ec4 Merge branch 'PHP-7.0'
* PHP-7.0:
  Don't allocate memory for empty HashTables.
2015-09-17 19:17:57 +03:00
Kalle Sommer Nielsen 16ff9cb93b Note the PHP version at the top of configure 2015-09-17 14:28:19 +02:00
Anatol Belski e4c190ef6d adjust versions in confutils 2015-09-17 13:31:27 +02:00
Anatol Belski 0f71d006e8 make room for next UPGRADING notes 2015-09-17 13:19:30 +02:00
Dmitry Stogov 68c508a5be Merge branch 'PHP-7.0'
* PHP-7.0:
  Update information about new opcache features
2015-09-17 12:58:44 +03:00
Dmitry Stogov 342070cfd3 Merge branch 'PHP-7.0'
* PHP-7.0:
  Added information about new opcache configuration directives
2015-09-17 12:54:26 +03:00
Ferenc Kovacs 82712a1eb0 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare for PHP-5.6.14RC1
2015-09-17 01:50:01 +02:00
Edgar R. Sandi 6bdc28dccb adding test scenario to improve coverage 2015-09-16 20:06:58 -03:00
Yasuo Ohgaki 8518d8a4d2 Merge branch 'PHP-7.0'
* PHP-7.0:
  Add test for #70516 session_regenerate_id() does not send session ID cookie
2015-09-17 05:53:00 +09:00
Anatol Belski 69762319d4 Merge branch 'PHP-7.0'
* PHP-7.0:
  add range check
2015-09-16 15:39:52 +02:00
Remi Collet 8e83c9b2e4 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix regressio introduce in 22e23e7cb8
2015-09-16 14:32:23 +02:00
Xinchen Hui b6b1454c1e Merge branch 'PHP-7.0' 2015-09-15 08:59:01 -07:00
Xinchen Hui f84a10f2fb Merge branch 'master' of git.php.net:/php-src 2015-09-15 08:58:30 -07:00
Xinchen Hui 65d516fb06 Merge branch 'PHP-7.0' 2015-09-15 08:54:31 -07:00
Sebastian Bergmann 022866c75f Fugbix typo 2015-09-15 17:47:17 +02:00
Xinchen Hui eb263de212 Merge branch 'PHP-7.0' 2015-09-15 08:29:28 -07:00
Xinchen Hui d291eaa97e Merge branch 'PHP-7.0' 2015-09-15 08:24:31 -07:00
Xinchen Hui 0d81a664a5 Merge branch 'PHP-7.0' 2015-09-15 07:58:05 -07:00
Anatol Belski e409cbf950 Merge branch 'PHP-7.0'
* PHP-7.0:
  prepare NEWS for RC4
2015-09-15 12:44:18 +02:00
Anatol Belski 308a18a49e Merge branch 'PHP-7.0'
* PHP-7.0:
  add missing NEWS entry
2015-09-15 08:18:20 +02:00
Christopher Jones 855f614696 Merge branch 'PHP-7.0' 2015-09-15 12:17:00 +10:00
Christopher Jones 83bba5dfdd Improve row fetch changes for PHP7. Update test SKIPIFs. Add test for 11g client (Senthil) 2015-09-15 10:06:29 +10:00
Dmitry Stogov db8c075839 Merge branch 'PHP-7.0'
* PHP-7.0:
  Enabled placing PHP code segment into huge pages
2015-09-15 02:05:08 +03:00
Dmitry Stogov 7e15ca6f08 Merge branch 'PHP-7.0'
* PHP-7.0:
  Enable file based cache compilation by default
2015-09-15 01:58:59 +03:00
Dmitry Stogov d390935c4a Merge branch 'PHP-7.0'
* PHP-7.0:
  Use shorter php.ini directive name "opcache.huge_code_pages" and disable it by default.
2015-09-15 01:54:53 +03:00
Dmitry Stogov f1bb0503dc Merge branch 'PHP-7.0'
* PHP-7.0:
  Removed useless include
2015-09-15 01:48:01 +03:00
Anatol Belski 360f96e216 bump versions in master 2015-09-14 23:46:10 +02:00
Anatol Belski 7da32cb56b add range check 2015-09-14 23:18:56 +02:00
Anatol Belski 0ebf9a11f9 prepare master NEWS 2015-09-14 22:45:28 +02:00
jubianchi e326fa7855 Remove wrong argument $session from SNMP::setSecurity() 2015-09-11 18:13:50 +02:00
jubianchi d96c66909d Fix SNMP::setSecurity() arginfo (Fixes bug #70476) 2015-09-11 18:13:43 +02:00
Daniel Persson e7414a48ef Changed from testing cast-128 to cast-256 2015-09-08 23:01:09 +02:00
Ondřej Surý 82c0156cac Include config.h instead of php_config.h in gd_compat.c to have the configure variable available in outside-of-the-tree module build 2015-09-07 13:28:05 +02:00
Aaron Piotrowski fb4e3085cb Add missing include 2015-07-06 10:06:47 -05:00
Aaron Piotrowski 7ec1e17464 Update memory freeing and other issues, revert some changes 2015-07-05 23:25:53 -05:00
Aaron Piotrowski 907476f34c Convert E_ERROR to thrown Error in extensions 2015-07-05 12:16:57 -05:00
Ferenc Kovacs 0a10440cad no need for default value 2015-03-30 18:34:02 +02:00
Ferenc Kovacs b9b0d3db39 allow passing null as the third param 2015-03-30 11:22:31 +02:00
Ferenc Kovacs fd01b47b8e Implemented FR #55716 - Add an option to pass a custom stream context 2015-03-30 01:09:07 +02:00
2473 changed files with 1202996 additions and 59665 deletions

No files matched your search

-4
View File
@@ -245,10 +245,6 @@ ext/reflection/spl.chm
ext/simplexml/examples/security.new.xml
ext/spl/examples/.htaccess
ext/spl/examples/*.phps
ext/sqlite/weztest.sqlite
ext/sqlite/libsqlite/src/sqlite.h
ext/sqlite/libsqlite/src/parse.out
ext/sqlite/libsqlite/src/libsqlite.dsw
ext/sqlite3/tests/phpsql*
ext/sqlite3/tests/*.db
ext/sqlite3/tests/*.tmp
+2 -2
View File
@@ -165,7 +165,7 @@ User Functions/Methods Naming Conventions
'foobar'
'foo_bar'
Internal Function Naming Convensions
Internal Function Naming Conventions
----------------------
1. Functions that are part of the external API should be named
@@ -178,7 +178,7 @@ Internal Function Naming Convensions
Unexposed module function should be static and should not be defined in
'php_modulename.h'.
static int php_session_destroy(TSRMLS_D)
static int php_session_destroy()
2. Main module source file must be named 'modulename.c'.
-204
View File
@@ -5,7 +5,6 @@ Installing PHP
* General Installation Considerations
* Installation on Unix systems
+ Apache 1.3.x on Unix systems
+ Apache 2.x on Unix systems
+ Lighttpd 1.4 on Unix systems
+ Sun, iPlanet and Netscape servers on Sun Solaris
@@ -103,7 +102,6 @@ Installation on Unix systems
Table of Contents
* Apache 1.3.x on Unix systems
* Apache 2.x on Unix systems
* Lighttpd 1.4 on Unix systems
* Sun, iPlanet and Netscape servers on Sun Solaris
@@ -163,208 +161,6 @@ Table of Contents
you can't figure out why, see the Problems section.
__________________________________________________________________
Apache 1.3.x on Unix systems
This section contains notes and hints specific to Apache installs of
PHP on Unix platforms. We also have instructions and notes for Apache 2
on a separate page.
You can select arguments to add to the configure on line 10 below from
the list of core configure options and from extension specific options
described at the respective places in the manual. The version numbers
have been omitted here, to ensure the instructions are not incorrect.
You will need to replace the 'xxx' here with the correct values from
your files.
Example #1 Installation Instructions (Apache Shared Module Version) for
PHP
1. gunzip apache_xxx.tar.gz
2. tar -xvf apache_xxx.tar
3. gunzip php-xxx.tar.gz
4. tar -xvf php-xxx.tar
5. cd apache_xxx
6. ./configure --prefix=/www --enable-module=so
7. make
8. make install
9. cd ../php-xxx
10. Now, configure your PHP. This is where you customize your PHP
with various options, like which extensions will be enabled. Do a
./configure --help for a list of available options. In our example
we'll do a simple configure with Apache 1 and MySQL support. Your
path to apxs may differ from our example.
./configure --with-mysql --with-apxs=/www/bin/apxs
11. make
12. make install
If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.
Note that unless told otherwise, 'make install' will also install PEAR,
various PHP tools such as phpize, install the PHP CLI, and more.
13. Setup your php.ini file:
cp php.ini-development /usr/local/lib/php.ini
You may edit your .ini file to set PHP options. If you prefer your
php.ini in another location, use --with-config-file-path=/some/path in
step 10.
If you instead choose php.ini-production, be certain to read the list
of changes within, as they affect how PHP behaves.
14. Edit your httpd.conf to load the PHP module. The path on the right hand
side of the LoadModule statement must point to the path of the PHP
module on your system. The make install from above may have already
added this for you, but be sure to check.
LoadModule php7_module libexec/libphp7.so
15. And in the AddModule section of httpd.conf, somewhere under the
ClearModuleList, add this:
AddModule mod_php7.c
16. Tell Apache to parse certain extensions as PHP. For example,
let's have Apache parse the .php extension as PHP. You could
have any extension(s) parse as PHP by simply adding more, with
each separated by a space. We'll add .phtml to demonstrate.
AddType application/x-httpd-php .php .phtml
It's also common to setup the .phps extension to show highlighted PHP
source, this can be done with:
AddType application/x-httpd-php-source .phps
17. Use your normal procedure for starting the Apache server. (You must
stop and restart the server, not just cause the server to reload by
using a HUP or USR1 signal.)
Alternatively, to install PHP as a static object:
Example #2 Installation Instructions (Static Module Installation for
Apache) for PHP
1. gunzip -c apache_1.3.x.tar.gz | tar xf -
2. cd apache_1.3.x
3. ./configure
4. cd ..
5. gunzip -c php-5.x.y.tar.gz | tar xf -
6. cd php-5.x.y
7. ./configure --with-mysql --with-apache=../apache_1.3.x
8. make
9. make install
10. cd ../apache_1.3.x
11. ./configure --prefix=/www --activate-module=src/modules/php7/libphp7.a
(The above line is correct! Yes, we know libphp7.a does not exist at this
stage. It isn't supposed to. It will be created.)
12. make
(you should now have an httpd binary which you can copy to your Apache bin d
ir if
it is your first install then you need to "make install" as well)
13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini
15. You can edit /usr/local/lib/php.ini file to set PHP options.
Edit your httpd.conf or srm.conf file and add:
AddType application/x-httpd-php .php
Depending on your Apache install and Unix variant, there are many
possible ways to stop and restart the server. Below are some typical
lines used in restarting the server, for different apache/unix
installations. You should replace /path/to/ with the path to these
applications on your systems.
Example #3 Example commands for restarting Apache
1. Several Linux and SysV variants:
/etc/rc.d/init.d/httpd restart
2. Using apachectl scripts:
/path/to/apachectl stop
/path/to/apachectl start
3. httpdctl and httpsdctl (Using OpenSSL), similar to apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start
4. Using mod_ssl, or another SSL server, you may want to manually
stop and start:
/path/to/apachectl stop
/path/to/apachectl startssl
The locations of the apachectl and http(s)dctl binaries often vary. If
your system has locate or whereis or which commands, these can assist
you in finding your server control programs.
Different examples of compiling PHP for apache are as follows:
./configure --with-apxs --with-pgsql
This will create a libphp7.so shared library that is loaded into Apache
using a LoadModule line in Apache's httpd.conf file. The PostgreSQL
support is embedded into this library.
./configure --with-apxs --with-pgsql=shared
This will create a libphp7.so shared library for Apache, but it will
also create a pgsql.so shared library that is loaded into PHP either by
using the extension directive in php.ini file or by loading it
explicitly in a script using the dl() function.
./configure --with-apache=/path/to/apache_source --with-pgsql
This will create a libmodphp7.a library, a mod_php7.c and some
accompanying files and copy this into the src/modules/php7 directory in
the Apache source tree. Then you compile Apache using
--activate-module=src/modules/php7/libphp7.a and the Apache build
system will create libphp7.a and link it statically into the httpd
binary. The PostgreSQL support is included directly into this httpd
binary, so the final result here is a single httpd binary that includes
all of Apache and all of PHP.
./configure --with-apache=/path/to/apache_source --with-pgsql=shared
Same as before, except instead of including PostgreSQL support directly
into the final httpd you will get a pgsql.so shared library that you
can load into PHP from either the php.ini file or directly using dl().
When choosing to build PHP in different ways, you should consider the
advantages and drawbacks of each method. Building as a shared object
will mean that you can compile apache separately, and don't have to
recompile everything as you add to, or change, PHP. Building PHP into
apache (static method) means that PHP will load and run faster. For
more information, see the Apache » web page on DSO support.
Note:
Apache's default httpd.conf currently ships with a section that
looks like this:
User nobody
Group "#-1"
Unless you change that to "Group nogroup" or something like that
("Group daemon" is also very common) PHP will not be able to open
files.
Note:
Make sure you specify the installed version of apxs when using
--with-apxs=/path/to/apxs . You must NOT use the apxs version that
is in the apache sources but the one that is actually installed on
your system.
__________________________________________________________________
__________________________________________________________________
Apache 2.x on Unix systems
This section contains notes and hints specific to Apache 2.x installs
+1 -1
View File
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2015 The PHP Group. All rights reserved.
Copyright (c) 1999 - 2016 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
+1 -1
View File
@@ -53,7 +53,7 @@ install-headers:
paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \
done; \
$(mkinstalldirs) $$paths && \
echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \
echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \
for i in `echo $(INSTALL_HEADERS)`; do \
if test "$(PHP_PECL_EXTENSION)"; then \
src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \
+267 -752
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -172,7 +172,7 @@ PHP_FUNCTION(module_name_drawtext)
zval *image = NULL;
zval *font = NULL;
if (zend_parse_parameters(argc TSRMLS_CC, "rsrll|l", &image, &text, &text_len, &font, &x, &y, &color) == FAILURE)
if (zend_parse_parameters(argc, "rsrll|l", &image, &text, &text_len, &font, &x, &y, &color) == FAILURE)
return;
if (image) {
+1 -1
View File
@@ -79,7 +79,7 @@ The next few rules are more of a technical nature::
should be noted in both PHP-5.4/NEWS and PHP-5.5/NEWS but
not master, which is not a public released version yet.
3. Do not commit multiple file and dump all messages in one commit. If you
3. Do not commit multiple files and dump all messages in one commit. If you
modified several unrelated files, commit each group separately and
provide a nice commit message for each one. See example below.
+37 -37
View File
@@ -8,98 +8,98 @@ API adjustment to the old output control code:
Checking output control layers status:
// Using OG()
php_output_get_status(TSRMLS_C);
php_output_get_status();
Starting the default output handler:
// php_start_ob_buffer(NULL, 0, 1 TSRMLS_CC);
php_output_start_default(TSRMLS_C);
// php_start_ob_buffer(NULL, 0, 1);
php_output_start_default();
Starting an user handler by zval:
// php_start_ob_buffer(zhandler, chunk_size, erase TSRMLS_CC);
php_output_start_user(zhandler, chunk_size, flags TSRMLS_CC);
// php_start_ob_buffer(zhandler, chunk_size, erase);
php_output_start_user(zhandler, chunk_size, flags);
Starting an internal handler whithout context:
// php_ob_set_internal_handler(my_php_output_handler_func_t, buffer_size, "output handler name", erase TSRMLS_CC);
php_output_start_internal(handler_name, handler_name_len, my_php_output_handler_func_t, chunk_size, flags TSRMLS_CC);
// php_ob_set_internal_handler(my_php_output_handler_func_t, buffer_size, "output handler name", erase);
php_output_start_internal(handler_name, handler_name_len, my_php_output_handler_func_t, chunk_size, flags);
Starting an internal handler with context:
// not possible with old API
php_output_handler *h;
h = php_output_handler_create_internal(handler_name, handler_name_len, my_php_output_handler_context_func_t, chunk_size, flags TSRMLS_CC);
h = php_output_handler_create_internal(handler_name, handler_name_len, my_php_output_handler_context_func_t, chunk_size, flags);
php_output_handler_set_context(h, my_context, my_context_dtor);
php_output_handler_start(h TSRMLS_CC);
php_output_handler_start(h);
Testing whether a certain output handler has already been started:
// php_ob_handler_used("output handler name" TSRMLS_CC);
php_output_handler_started(handler_name, handler_name_len TSRMLS_CC);
// php_ob_handler_used("output handler name");
php_output_handler_started(handler_name, handler_name_len);
Flushing one output buffer:
// php_end_ob_buffer(1, 1 TSRMLS_CC);
php_output_flush(TSRMLS_C);
// php_end_ob_buffer(1, 1);
php_output_flush();
Flushing all output buffers:
// not possible with old API
php_output_flush_all(TSRMLS_C);
php_output_flush_all();
Cleaning one output buffer:
// php_ob_end_buffer(0, 1 TSRMLS_CC);
php_output_clean(TSRMLS_C);
// php_ob_end_buffer(0, 1);
php_output_clean();
Cleaning all output buffers:
// not possible with old API
php_output_clean_all(TSRMLS_C);
php_output_clean_all();
Discarding one output buffer:
// php_ob_end_buffer(0, 0 TSRMLS_CC);
php_output_discard(TSRMLS_C);
// php_ob_end_buffer(0, 0);
php_output_discard();
Discarding all output buffers:
// php_ob_end_buffers(0 TSRMLS_CC);
php_output_discard_all(TSRMLS_C);
// php_ob_end_buffers(0);
php_output_discard_all();
Stopping (and dropping) one output buffer:
// php_ob_end_buffer(1, 0 TSRMLS_CC)
php_output_end(TSRMLS_C);
// php_ob_end_buffer(1, 0)
php_output_end();
Stopping (and dropping) all output buffers:
// php_ob_end_buffers(1, 0 TSRMLS_CC);
php_output_end_all(TSRMLS_C);
// php_ob_end_buffers(1, 0);
php_output_end_all();
Retrieving output buffers contents:
// php_ob_get_buffer(zstring TSRMLS_CC);
php_output_get_contents(zstring TSRMLS_CC);
// php_ob_get_buffer(zstring);
php_output_get_contents(zstring);
Retrieving output buffers length:
// php_ob_get_length(zlength TSRMLS_CC);
php_output_get_length(zlength TSRMLS_CC);
// php_ob_get_length(zlength);
php_output_get_length(zlength);
Retrieving output buffering level:
// OG(nesting_level);
php_output_get_level(TSRMLS_C);
php_output_get_level();
Issue a warning because of an output handler conflict:
// php_ob_init_conflict("to be started handler name", "to be tested if already started handler name" TSRMLS_CC);
php_output_handler_conflict(new_handler_name, new_handler_name_len, set_handler_name, set_handler_name_len TSRMLS_CC);
// php_ob_init_conflict("to be started handler name", "to be tested if already started handler name");
php_output_handler_conflict(new_handler_name, new_handler_name_len, set_handler_name, set_handler_name_len);
Registering a conflict checking function, which will be checked prior starting the handler:
// not possible with old API, unless hardcoding into output.c
php_output_handler_conflict_register(handler_name, handler_name_len, my_php_output_handler_conflict_check_t TSRMLS_CC);
php_output_handler_conflict_register(handler_name, handler_name_len, my_php_output_handler_conflict_check_t);
Registering a reverse conflict checking function, which will be checked prior starting the specified foreign handler:
// not possible with old API
php_output_handler_reverse_conflict_register(foreign_handler_name, foreign_handler_name_len, my_php_output_handler_conflict_check_t TSRMLS_CC);
php_output_handler_reverse_conflict_register(foreign_handler_name, foreign_handler_name_len, my_php_output_handler_conflict_check_t);
Facilitating a context from within an output handler callable with ob_start():
// not possible with old API
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ, (void *) &custom_ctx_ptr_ptr TSRMLS_CC);
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_GET_OPAQ, (void *) &custom_ctx_ptr_ptr);
Disabling of the output handler by itself:
//not possible with old API
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL TSRMLS_CC);
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_DISABLE, NULL);
Marking an output handler immutable by itself because of irreversibility of its operation:
// not possible with old API
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, NULL TSRMLS_CC);
php_output_handler_hook(PHP_OUTPUT_HANDLER_HOOK_IMMUTABLE, NULL);
Restarting the output handler because of a CLEAN operation:
// not possible with old API
+16 -16
View File
@@ -13,8 +13,8 @@ meaningful error messages.
Prototypes
----------
/* Implemented. */
int zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
int zend_parse_parameters_ex(int flags, int num_args TSRMLS_DC, char *type_spec, ...);
int zend_parse_parameters(int num_args, char *type_spec, ...);
int zend_parse_parameters_ex(int flags, int num_args, char *type_spec, ...);
The zend_parse_parameters() function takes the number of parameters
passed to the extension function, the type specifier string, and the
@@ -30,7 +30,7 @@ resources cannot be auto-converted.
PHP 5.5 includes a new function:
int zend_parse_parameter(int flags, int arg_num TSRMLS_DC, zval **arg, const char *spec, ...);
int zend_parse_parameter(int flags, int arg_num, zval **arg, const char *spec, ...);
This function behaves like zend_parse_parameters_ex() except that instead of
reading the arguments from the stack, it receives a single zval to convert
@@ -63,10 +63,10 @@ Type specifiers
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)
P - valid path (string without null bytes in the middle) as zend_string (zend_string)
P - valid path (string without null bytes in the middle) as zend_string (zend_string*)
r - resource (zval*)
s - string (with possible null bytes) and its length (char*, size_t)
S - string (with possible null bytes) as zend_string (zend_string)
S - string (with possible null bytes) as zend_string (zend_string*)
z - the actual zval (zval*)
* - variable arguments list (0 or more)
+ - variable arguments list (1 or more)
@@ -97,11 +97,11 @@ Both mistakes might cause memory corruptions and segfaults:
1)
char *str;
long str_len; /* XXX THIS IS WRONG!! Use size_t instead. */
zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len)
zend_parse_parameters(ZEND_NUM_ARGS(), "s", &str, &str_len)
2)
int num; /* XXX THIS IS WRONG!! Use zend_long instead. */
zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &num)
zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num)
If you're in doubt, use check_parameters.php script to the parameters
and their types (it can be found in ./scripts/dev/ directory of PHP sources):
@@ -116,7 +116,7 @@ zend_long l;
char *s;
size_t s_len;
zval *param;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
if (zend_parse_parameters(ZEND_NUM_ARGS(), "lsz",
&l, &s, &s_len, &param) == FAILURE) {
return;
}
@@ -126,7 +126,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsz",
zval *obj;
double d = 0.5;
zend_class_entry *my_ce;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|d",
&obj, my_ce, &d) == FAILURE) {
return;
}
@@ -136,7 +136,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O|d",
If null is passed for object, obj will be set to NULL. */
zval *obj;
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o!a",
if (zend_parse_parameters(ZEND_NUM_ARGS(), "o!a",
&obj, &arr) == FAILURE) {
return;
}
@@ -144,7 +144,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o!a",
/* Gets a separated array which can also be null. */
zval *arr;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/!",
if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/!",
&arr) == FAILURE) {
return;
}
@@ -161,10 +161,10 @@ char *s;
*/
size_t length;
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(),
"lll", &l1, &l2, &l3) == SUCCESS) {
/* manipulate longs */
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
} else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(),
"s", &s, &length) == SUCCESS) {
/* manipulate string */
} else {
@@ -180,7 +180,7 @@ int i, num_varargs;
zval *varargs = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "*", &varargs, &num_varargs) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &varargs, &num_varargs) == FAILURE) {
return;
}
@@ -200,7 +200,7 @@ size_t str_len;
int i, num_varargs;
zval *varargs = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s+", &str, &str_len, &varargs, &num_varargs) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s+", &str, &str_len, &varargs, &num_varargs) == FAILURE) {
return;
}
@@ -214,7 +214,7 @@ zval *array;
int i, num_varargs;
zval *varargs = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a*l", &array, &varargs, &num_varargs, &num) == FAILURE) {
if (zend_parse_parameters(ZEND_NUM_ARGS(), "a*l", &array, &varargs, &num_varargs, &num) == FAILURE) {
return;
}
+19 -44
View File
@@ -5,17 +5,16 @@
5. ext/standard crypt
6. ext/standard crypt's blowfish implementation
7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite
8. ext/json/json_parser
9. ext/standard/rand
10. ext/standard/scanf
11. ext/standard/strnatcmp.c
12. ext/standard/uuencode
13. libxmlrpc ext/xmlrpc
14. libzip ext/zip
15. main/snprintf.c
16. main/strlcat
17. main/strlcpy
18. libgd see ext/gd/libgd/COPYING
8. ext/standard/rand
9. ext/standard/scanf
10. ext/standard/strnatcmp.c
11. ext/standard/uuencode
12. libxmlrpc ext/xmlrpc
13. libzip ext/zip
14. main/snprintf.c
15. main/strlcat
16. main/strlcpy
17. libgd see ext/gd/libgd/COPYING
5. ext/standard crypt
@@ -104,31 +103,7 @@ a legal notice, here is a blessing:
May you share freely, never taking more than you give.
8. ext/json/json_parser
Copyright (c) 2005 JSON.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The Software shall be used for Good, not Evil.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
9. ext/standard/rand
8. ext/standard/rand
The following php_mt_...() functions are based on a C++ class MTRand by
Richard J. Wagner. For more information see the web page at
http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html
@@ -181,7 +156,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
10. ext/standard/scanf
9. ext/standard/scanf
scanf.c --
This file contains the base code which implements sscanf and by extension
@@ -227,7 +202,7 @@ authors grant the U.S. Government and others acting in its behalf
permission to use and distribute the software in accordance with the
terms specified in this license.
11. ext/standard/strnatcmp.c
10. ext/standard/strnatcmp.c
strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
@@ -248,7 +223,7 @@ freely, subject to the following restrictions:
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
12. ext/standard/uuencode
11. ext/standard/uuencode
Portions of this code are based on Berkeley's uuencode/uudecode
implementation.
@@ -284,7 +259,7 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
13. libxmlrpc ext/xmlrpc
12. libxmlrpc ext/xmlrpc
Copyright 2000 Epinions, Inc.
@@ -308,7 +283,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
DAMAGES.
14. libzip ext/zip
13. libzip ext/zip
zip.h -- exported declarations.
Copyright (C) 1999-2009 Dieter Baron and Thomas Klausner
@@ -340,7 +315,7 @@ IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15. main/snprintf.c
14. main/snprintf.c
Copyright (c) 2002, 2006 Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any
@@ -413,8 +388,8 @@ This code is based on, and used with the permission of, the
SIO stdio-replacement strx_* functions by Panos Tsirigotis
<panos@alumni.cs.colorado.edu> for xinetd.
16. main/strlcat
17. main/strlcpy
15. main/strlcat
16. main/strlcpy
Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
All rights reserved.
+6 -6
View File
@@ -17,7 +17,7 @@ It is recommended to do so a couple of days before the packaging day, to
have enough time to investigate failures, communicate with the authors and
commit the fixes.
The RM for the branch is also responsible for keeping the CI green on
ongoing bases between the releases. Check the CI status for your branch
ongoing basis between the releases. Check the CI status for your branch
periodically and resolve the failures ASAP. See more in:
https://wiki.php.net/rfc/travis_ci
@@ -31,7 +31,7 @@ team (Bjori) on hand.
6. Verify the tags to be extra sure everything was tagged properly.
7. Moving extensions from/to PECL requires write acces to the destination.
7. Moving extensions from/to PECL requires write access to the destination.
Most developers should have this.
Moving extensions from php-src to PECL
@@ -271,8 +271,8 @@ to upgrade.
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@
Please make sure that the mail to php-announce@ is its own completely separate email.
This is to make sure that replies to the announcement on php-general@ or internals@
will not accidentally hit the php-announce@ mailinglist.
Re-releasing the same version (or -pl)
@@ -309,6 +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@
Please make sure that the mail to php-announce@ is its own completely separate email.
This is to make sure that replies to the announcement on php-general@ or internals@
will not accidentally hit the php-announce@ mailinglist.
+3 -3
View File
@@ -28,7 +28,7 @@ The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count);
PHPAPI size_t php_stream_printf(php_stream * stream TSRMLS_DC,
PHPAPI size_t php_stream_printf(php_stream * stream,
const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream);
@@ -47,7 +47,7 @@ Opening Streams
In most cases, you should use this API:
PHPAPI php_stream *php_stream_open_wrapper(const char *path, const char *mode,
int options, char **opened_path TSRMLS_DC);
int options, char **opened_path);
Where:
path is the file or resource to open.
@@ -80,7 +80,7 @@ PHPAPI php_stream *php_stream_fopen_tmpfile(void);
Open a FILE * with tmpfile() and convert into a stream.
PHPAPI php_stream *php_stream_fopen_temporary_file(const char *dir,
const char *pfx, char **opened_path TSRMLS_DC);
const char *pfx, char **opened_path);
Generate a temporary file name and open it.
There are some network enabled relatives in php_network.h:
+2 -2
View File
@@ -138,7 +138,7 @@ SAPI_INPUT_FILTER_FUNC(my_sapi_input_filter)
strcpy(raw_var, "RAW_");
strlcat(raw_var,var,var_len+5);
php_register_variable_ex(raw_var, &new_var, array_ptr TSRMLS_DC);
php_register_variable_ex(raw_var, &new_var, array_ptr);
php_strip_tags(*val, val_len, NULL, NULL, 0);
@@ -154,7 +154,7 @@ PHP_FUNCTION(my_get_raw)
zval **tmp;
zval *array_ptr = NULL;
if(zend_parse_parameters(2 TSRMLS_CC, "ls", &arg, &var, &var_len) == FAILURE) {
if(zend_parse_parameters(2, "ls", &arg, &var, &var_len) == FAILURE) {
return;
}
+1 -1
View File
@@ -10,7 +10,7 @@ Pull Requests
=============
PHP accepts pull requests via github. Discussions are done on github, but
depending on the topic can also be relayed to the official PHP developer
mailinglist internals@lists.php.net.
mailing list internals@lists.php.net.
New features require an RFC and must be accepted by the developers.
See https://wiki.php.net/rfc and https://wiki.php.net/rfc/voting for more
+2 -2
View File
@@ -170,8 +170,8 @@ TSRM_API void *tsrm_get_ls_cache(void);
#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
#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
+197
View File
@@ -0,0 +1,197 @@
# =================================================================================
# http://www.gnu.org/software/autoconf-archive/ax_func_which_gethostbyname_r.html
# =================================================================================
#
# SYNOPSIS
#
# AX_FUNC_WHICH_GETHOSTBYNAME_R
#
# DESCRIPTION
#
# Determines which historical variant of the gethostbyname_r() call
# (taking three, five, or six arguments) is available on the system and
# defines one of the following macros accordingly:
#
# HAVE_FUNC_GETHOSTBYNAME_R_6
# HAVE_FUNC_GETHOSTBYNAME_R_5
# HAVE_FUNC_GETHOSTBYNAME_R_3
#
# as well as
#
# HAVE_GETHOSTBYNAME_R
#
# If used in conjunction with gethostname.c, the API demonstrated in
# test.c can be used regardless of which gethostbyname_r() is available.
# These example files can be found at
# http://www.csn.ul.ie/~caolan/publink/gethostbyname_r
#
# based on David Arnold's autoconf suggestion in the threads faq
#
# Originally named "AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R". Rewritten for
# Autoconf 2.5x, and updated for 2.68 by Daniel Richard G.
#
# LICENSE
#
# Copyright (c) 2008 Caolan McNamara <caolan@skynet.ie>
# Copyright (c) 2008 Daniel Richard G. <skunk@iskunk.org>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Archive. When you make and distribute a
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
#serial 7
AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [
AC_LANG_PUSH([C])
AC_MSG_CHECKING([how many arguments gethostbyname_r() takes])
AC_CACHE_VAL([ac_cv_func_which_gethostbyname_r], [
################################################################
ac_cv_func_which_gethostbyname_r=unknown
#
# ONE ARGUMENT (sanity check)
#
# This should fail, as there is no variant of gethostbyname_r() that takes
# a single argument. If it actually compiles, then we can assume that
# netdb.h is not declaring the function, and the compiler is thereby
# assuming an implicit prototype. In which case, we're out of luck.
#
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>],
[
char *name = "www.gnu.org";
(void)gethostbyname_r(name) /* ; */
])],
[ac_cv_func_which_gethostbyname_r=no])
#
# SIX ARGUMENTS
# (e.g. Linux)
#
if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>],
[
char *name = "www.gnu.org";
struct hostent ret, *retp;
char buf@<:@1024@:>@;
int buflen = 1024;
int my_h_errno;
(void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */
])],
[ac_cv_func_which_gethostbyname_r=six])
fi
#
# FIVE ARGUMENTS
# (e.g. Solaris)
#
if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>],
[
char *name = "www.gnu.org";
struct hostent ret;
char buf@<:@1024@:>@;
int buflen = 1024;
int my_h_errno;
(void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */
])],
[ac_cv_func_which_gethostbyname_r=five])
fi
#
# THREE ARGUMENTS
# (e.g. AIX, HP-UX, Tru64)
#
if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <netdb.h>],
[
char *name = "www.gnu.org";
struct hostent ret;
struct hostent_data data;
(void)gethostbyname_r(name, &ret, &data) /* ; */
])],
[ac_cv_func_which_gethostbyname_r=three])
fi
################################################################
]) dnl end AC_CACHE_VAL
case "$ac_cv_func_which_gethostbyname_r" in
three|five|six)
AC_DEFINE([HAVE_GETHOSTBYNAME_R], [1],
[Define to 1 if you have some form of gethostbyname_r().])
;;
esac
case "$ac_cv_func_which_gethostbyname_r" in
three)
AC_MSG_RESULT([three])
AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_3], [1],
[Define to 1 if you have the three-argument form of gethostbyname_r().])
;;
five)
AC_MSG_RESULT([five])
AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_5], [1],
[Define to 1 if you have the five-argument form of gethostbyname_r().])
;;
six)
AC_MSG_RESULT([six])
AC_DEFINE([HAVE_FUNC_GETHOSTBYNAME_R_6], [1],
[Define to 1 if you have the six-argument form of gethostbyname_r().])
;;
no)
AC_MSG_RESULT([cannot find function declaration in netdb.h])
;;
unknown)
AC_MSG_RESULT([can't tell])
;;
*)
AC_MSG_ERROR([internal error])
;;
esac
AC_LANG_POP
]) dnl end AC_DEFUN
+3 -1
View File
@@ -1,3 +1,4 @@
m4_include([TSRM/m4/gethostbyname.m4])
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
@@ -32,6 +33,8 @@ AC_CHECK_HEADERS(stdarg.h)
AC_CHECK_FUNCS(sigprocmask)
AX_FUNC_WHICH_GETHOSTBYNAME_R()
])
@@ -89,7 +92,6 @@ else
fi
])
AC_DEFUN([TSRM_THREADS_CHECKS],[
dnl For the thread implementations, we always use --with-*
+4 -1
View File
@@ -42,7 +42,10 @@ char *alloca ();
#endif
#ifndef MAXPATHLEN
# ifdef PATH_MAX
# if _WIN32
# include "win32/ioutil.h"
# define MAXPATHLEN PHP_WIN32_IOUTIL_MAXPATHLEN
# elif PATH_MAX
# define MAXPATHLEN PATH_MAX
# elif defined(MAX_PATH)
# define MAXPATHLEN MAX_PATH
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2015 The PHP Group |
| Copyright (c) 1997-2016 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2015 The PHP Group |
| Copyright (c) 1997-2016 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
+76 -18
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2015 The PHP Group |
| Copyright (c) 1997-2016 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -33,6 +33,7 @@
#include <Sddl.h>
#include "tsrm_win32.h"
#include "zend_virtual_cwd.h"
#include "win32/ioutil.h"
#ifdef ZTS
static ts_rsrc_id win32_globals_id;
@@ -208,28 +209,42 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
BYTE * psec_desc = NULL;
BOOL fAccess = FALSE;
PHP_WIN32_IOUTIL_INIT_W(pathname)
if (!pathw) {
return -1;
}
realpath_cache_bucket * bucket = NULL;
char * real_path = NULL;
if (mode == 1 /*X_OK*/) {
DWORD type;
return GetBinaryType(pathname, &type) ? 0 : -1;
int ret;
ret = GetBinaryTypeW(pathw, &type) ? 0 : -1;
PHP_WIN32_IOUTIL_CLEANUP_W()
return ret;
} else {
if(!IS_ABSOLUTE_PATH(pathname, strlen(pathname)+1)) {
real_path = (char *)malloc(MAX_PATH);
real_path = (char *)malloc(MAXPATHLEN);
if(tsrm_realpath(pathname, real_path) == NULL) {
goto Finished;
}
pathname = real_path;
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
if(access(pathname, mode)) {
if(php_win32_ioutil_access(pathname, mode)) {
PHP_WIN32_IOUTIL_CLEANUP_W()
free(real_path);
return errno;
}
/* If only existence check is made, return now */
if (mode == 0) {
PHP_WIN32_IOUTIL_CLEANUP_W()
free(real_path);
return 0;
}
@@ -285,10 +300,11 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
if(bucket == NULL && real_path == NULL) {
/* We used the pathname directly. Call tsrm_realpath */
/* so that entry is created in realpath cache */
real_path = (char *)malloc(MAX_PATH);
real_path = (char *)malloc(MAXPATHLEN);
if(tsrm_realpath(pathname, real_path) != NULL) {
pathname = real_path;
bucket = realpath_cache_lookup(pathname, (int)strlen(pathname), t);
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
}
}
@@ -325,13 +341,13 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
}
/* Get size of security buffer. Call is expected to fail */
if(GetFileSecurity(pathname, sec_info, NULL, 0, &sec_desc_length)) {
if(GetFileSecurityW(pathw, sec_info, NULL, 0, &sec_desc_length)) {
goto Finished;
}
psec_desc = (BYTE *)malloc(sec_desc_length);
if(psec_desc == NULL ||
!GetFileSecurity(pathname, sec_info, (PSECURITY_DESCRIPTOR)psec_desc, sec_desc_length, &sec_desc_length)) {
!GetFileSecurityW(pathw, sec_info, (PSECURITY_DESCRIPTOR)psec_desc, sec_desc_length, &sec_desc_length)) {
goto Finished;
}
@@ -373,6 +389,7 @@ Finished:
real_path = NULL;
}
PHP_WIN32_IOUTIL_CLEANUP_W()
if(fAccess == FALSE) {
errno = EACCES;
return errno;
@@ -459,14 +476,15 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
{
FILE *stream = NULL;
int fno, type_len, read, mode;
STARTUPINFO startup;
STARTUPINFOW startup;
PROCESS_INFORMATION process;
SECURITY_ATTRIBUTES security;
HANDLE in, out;
DWORD dwCreateFlags = 0;
BOOL res;
process_pair *proc;
char *cmd;
char *cmd = NULL;
wchar_t *cmdw = NULL, *cwdw = NULL, *envw = NULL;
int i;
char *ptype = (char *)type;
HANDLE thread_token = NULL;
@@ -490,18 +508,42 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
ptype++;
}
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
if (!cmd) {
return NULL;
}
sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
cmdw = php_win32_cp_any_to_w(cmd);
if (!cmdw) {
free(cmd);
return NULL;
}
if (cwd) {
cwdw = php_win32_ioutil_any_to_w(cwd);
if (!cwdw) {
free(cmd);
free(cmdw);
return NULL;
}
}
security.nLength = sizeof(SECURITY_ATTRIBUTES);
security.bInheritHandle = TRUE;
security.lpSecurityDescriptor = NULL;
if (!type_len || !CreatePipe(&in, &out, &security, 2048L)) {
free(cmdw);
free(cwdw);
free(cmd);
return NULL;
}
memset(&startup, 0, sizeof(STARTUPINFO));
memset(&startup, 0, sizeof(STARTUPINFOW));
memset(&process, 0, sizeof(PROCESS_INFORMATION));
startup.cb = sizeof(STARTUPINFO);
startup.cb = sizeof(STARTUPINFOW);
startup.dwFlags = STARTF_USESTDHANDLES;
startup.hStdError = GetStdHandle(STD_ERROR_HANDLE);
@@ -533,19 +575,28 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
}
}
cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
if (!cmd) {
return NULL;
envw = php_win32_cp_env_any_to_w(env);
if (envw) {
dwCreateFlags |= CREATE_UNICODE_ENVIRONMENT;
} else {
if (env) {
free(cmd);
free(cmdw);
free(cwdw);
return NULL;
}
}
sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
if (asuser) {
res = CreateProcessAsUser(token_user, NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
res = CreateProcessAsUserW(token_user, NULL, cmdw, &security, &security, security.bInheritHandle, dwCreateFlags, envw, cwdw, &startup, &process);
CloseHandle(token_user);
} else {
res = CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process);
res = CreateProcessW(NULL, cmdw, &security, &security, security.bInheritHandle, dwCreateFlags, envw, cwdw, &startup, &process);
}
free(cmd);
free(cmdw);
free(cwdw);
free(envw);
if (!res) {
return NULL;
@@ -749,10 +800,17 @@ TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
{
FILETIME mtime, atime;
HANDLE hFile;
PHP_WIN32_IOUTIL_INIT_W(filename)
hFile = CreateFile(filename, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL,
if (!pathw) {
return -1;
}
hFile = CreateFileW(pathw, GENERIC_WRITE, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL,
OPEN_ALWAYS, FILE_FLAG_BACKUP_SEMANTICS, NULL);
PHP_WIN32_IOUTIL_CLEANUP_W()
/* OPEN_ALWAYS mode sets the last error to ERROR_ALREADY_EXISTS but
the CreateFile operation succeeds */
if (GetLastError() == ERROR_ALREADY_EXISTS) {
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2015 The PHP Group |
| Copyright (c) 1997-2016 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -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
+254 -726
View File
File diff suppressed because it is too large. Load diff
+39 -281
View File
@@ -1,25 +1,9 @@
PHP 7.0 INTERNALS UPGRADE NOTES
PHP 7.1 INTERNALS UPGRADE NOTES
0. Wiki Examples
1. Internal API changes
e. New data types
f. zend_parse_parameters() specs
g. sprintf() formats
h. HashTable API
i. New portable macros for large file support
j. New portable macros for integers
k. get_class_entry object handler info
l. get_class_name object handler info
m. Other portable macros info
n. ZEND_ENGINE_2 removal
o. Updated final class modifier
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
e. Codepage handling on Windows
f. Path handling on Windows
2. Build system changes
a. Unix build system changes
@@ -39,218 +23,50 @@ changes. See: https://wiki.php.net/phpng-upgrading
1. Internal API changes
========================
e. New data types
String
Besides the old way of accepting the strings with 's', the new 'S' ZPP spec
was introduced. It expects an argument of the type zend_string *. String lengths
in it are bound to the size_t datatype.
Integer types
Integers do no more depend on the firm 'long' type. Instead a platform
dependent integer type is used, it is called zend_long. That datatype is
defined dynamically to guarantee the consistent 64 bit support. The zval
field representing user land integer it bound to zend_long.
Signed integer is defined as zend_long, unsigned integer as zend_ulong
inside Zend.
Other datatypes
zend_off_t - portable off_t analogue
zend_stat_t - portable 'struct stat' analogue
These datatypes are declared to be portable across platforms. Thus, direct
usage of the functions like fseek, stat, etc. as well as direct usage of
off_t and struct stat is strongly not recommended. Instead the portable
macros should be used.
zend_fseek - portable fseek equivalent
zend_ftell - portable ftell equivalent
zend_lseek - portable lseek equivalent
zend_fstat - portable fstat equivalent
zend_stat - portable stat equivalent
f. zend_parse_parameters() specs
The new spec 'S' introduced, which expects an argument of type zend_string *.
The 'l' spec expects a parameter of the type zend_long, not long anymore.
The 's' spec expects parameters of the type char * and size_t, no int anymore.
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'
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. With snprintf the
macros ZEND_LONG_FMT and ZEND_ULONG_FMT should be used.
h. HashTable API
Datatype for array indexes was changed to zend_ulong, for string keys to zend_string *.
i. New portable macros for large file support
Function(s) Alias Comment
stat, _stat64 zend_stat for use with zend_stat_t
fstat, _fstat64 zend_fstat for use with zend_stat_t
lseek, _lseeki64 zend_lseek for use with zend_off_t
ftell, _ftelli64 zend_ftell for use with zend_off_t
fseek, _fseeki64 zend_fseek for use with zend_off_t
j. New portable macros for integers
Function(s) Alias Comment
snprintf with "%ld" or "%lld", _ltoa_s, _i64toa_s ZEND_LTOA for use with zend_long
atol, atoll, _atoi64 ZEND_ATOL for use with zend_long
strtol, strtoll, _strtoi64 ZEND_STRTOL for use with zend_long
strtoul, strtoull, _strtoui64 ZEND_STRTOUL for use with zend_long
abs, llabs, _abs64 ZEND_ABS for use with zend_long
- ZEND_LONG_MAX replaces LONG_MAX where appropriate
- ZEND_LONG_MIN replaces LONG_MIN where appropriate
- 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.
l. The get_class_name object handler is now only used for displaying class
names in debugging functions like var_dump(). It is no longer used in
get_class(), get_parent_class() or similar.
The handler is now obligatory, no longer accepts a `parent` argument and
must return a non-NULL zend_string*, which will be released by the caller.
m. Other portable macros info
ZEND_SECURE_ZERO - zeroes chunk of memory
ZEND_VALID_SOCKET - validates a php_socket_t variable
ZEND_FASTCALL is defined to use __vectorcall convention on VS2013 and above
ZEND_NORETURN is defined as __declspec(noreturn) on VS
n. The ZEND_ENGINE_2 macro has been removed. A ZEND_ENGINE_3 macro has been added.
o. Removed ZEND_ACC_FINAL_CLASS in favour of ZEND_ACC_FINAL, turning final class
modifier now a different class entry flag. Update your extensions.
p. TSRM changes
The TSRM layer undergone significant changes. It is not necessary anymore to
pass the tsrm_ls pointer explicitly. The TSRMLS_* macros should not be used
in any new developments.
The recommended way accessing globals in TS builds is by implementing it
to use a local thread unique pointer to the corresponding data pool. These
are the new macros that serve to achieve this goal:
- ZEND_TSRMG - based on TSRMG and if static pointer for data pool access is
implemented, will use it
- ZEND_TSRMLS_CACHE_EXTERN - to be used in a header shared across multiple
C/C++ files
- ZEND_TSRMLS_CACHE_DEFINE - to be used in the main extension C/C++ file
- ZEND_TSRMLS_CACHE_UPDATE - to be integrated at the top of the globals
ctor or RINIT function
- ZEND_ENABLE_STATIC_TSRMLS_CACHE - to be used in the config.[m4|w32] for
enabling the globals access per thread unique pointer
- TSRMLS_CACHE - expands to the variable name which links to the thread
unique data pool
Note that usually it will work without implementing the globals access per
a thread unique pointer, however it might cause a slowdown. The reason is
that the access model to the extension/SAPI own globals as well as the
access to the core globals is determined in the compilation phase depending
on whether ZEND_ENABLE_STATIC_TSRMLS_CACHE macro is defined.
Due to the current compiler evolution state, the TSRMLS_CACHE pointer
(when implemented) has to be present and updated in every binary unit which
is not compiled statically into PHP. So any DLL, DSO, EXE, etc. has to take
care about defining and updating it's TSRMLS cache. An update should happen
before any globals was accessed.
Porting an extension or SAPI is usually as easy as removing all the TSRMLS_*
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.
e. Codepage handling on Windows
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.
A set of new APIs was introduced, which allows to handle codepage
conversions. The corresponding prototypes and macros are contained
in win32/codepage.h.
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
implementation has been renamed to zend_gc_collect_cycles(), and is
exported with ZEND_API.
Functions with php_win32_cp_* signatures provide handling for various
codepage aspects. Primarily they are in use at various places in the
I/O utils code and directly in the core where necessary, providing
conversions to/from UTF-16. Arbitrary conversions between codepages
are possible as well, whereby UTF-16 will be always an intermediate
state in this case.
r. In accordance with general use of size_t as string length, all PDO API
functions now use size_t for string length.
For input length arguments, the macro PHP_WIN32_CP_IGNORE_LEN can be
passed, then the API will calculate the length. For output length
arguments, the macro PHP_WIN32_CP_IGNORE_LEN_P can be passed, then
the API won't set the output length.
s. Removed ZEND_REGISTER/FETCH_RESOURCE, use zend_fetch_resource and
and zend_register_resource instead, zend_fetch_resource accepts a zend_resource *
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.
The mapping between encodings and codepages is provided by the predefined
array of data contained in win32/cp_enc_map.c. To change the data,
a generator win32/cp_enc_map_gen.c needs to be edited and run.
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.
f. Path handling on Windows
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.
A set of new APIs was introduced, which allows to handle UTF-8 paths. The
corresponding prototypes and macros are contained in win32/ioutil.h.
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.
Functions with php_win32_ioutil_* signatures provide POSIX I/O analogues.
These functions are integrated in various places across the code base to
support Unicode filenames. While accepting char * arguments, internally
the conversion to wchar_t * happens. Internally almost no ANSI APIs are
used, but directly their wide equivalents. The string conversion rules
correspond to those already present in the core and depend on the current
encoding settings. Doing so allows to move away from the ANSI Windows API
with its dependency on the system OEM/ANSI codepage.
Thanks to the wide API usage, the long paths are now supported as well. The
PHP_WIN32_IOUTIL_MAXPATHLEN macro is defined to 2048 bytes and will override
the MAXPATHLEN in files where the header is included.
The most optimal use case for scripts is utilizing UTF-8 for any I/O
related functions. UTF-8 filenames are supported on any system disregarding
the system OEM/ANSI codepage.
w. Tick functions internal API change
Tick functions have different declaration now. They expect a 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
@@ -260,65 +76,7 @@ changes. See: https://wiki.php.net/phpng-upgrading
b. Windows build system changes
- Besides Visual Studio, building with Clang or Intel Composer is now
possible. To enable an alternative toolset, add the option
--with-toolset=[vs,clang,icc] to the configure line. The default
toolset is vs. Still clang or icc need the correct environment
which involves many tools from the vs toolset.
The toolset option is supported by phpize as well.
AWARENESS The only recommended and supported toolset to produce production
ready binaries is Visual Studio. Still other compilers can be used now for
testing and analyzing purposes.
- configure.js now produces response files which are passed to the linker
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
========================
Session:
- PS_MOD_UPDATE_TIMESTAMP() session save handler definition is added. New
save handler should use PS_MOD_UPDATE_TIMESTAMP() definition. Save handler
must not refer/change PS() variables directly from save handler. Use
parameters.
- PS_MOD()/PS_MOD_SID() macro exist only for transition. Beware these
save handlers are less secure and slower than PS_MOD_UPDATE_TIMESTAMP().
- PS(invalid_session_id) was removed. It was never worked as it supposed.
To report invalid session ID, use PS_VALIDATE_SID() handler.
- PS_VALIDATE_SID() defines session ID validation handler. This handler
must validate if requested session ID exists in session data storage or not.
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 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
@@ -370,10 +370,10 @@ AC_CHECK_FUNCS(mremap)
AC_ARG_ENABLE(zend-signals,
[ --enable-zend-signals Use zend signal handling],[
[ --disable-zend-signals whether to enable zend signal handling],[
ZEND_SIGNALS=$enableval
],[
ZEND_SIGNALS=no
ZEND_SIGNALS=yes
])
AC_CHECK_FUNC(sigaction, [
+13 -8
View File
@@ -17,11 +17,20 @@ function test3($a, $b) {
test1();
test2(1);
test2();
try {
test2();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
try {
call_user_func("test3", 1);
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
call_user_func("test3", 1, 2);
class test {
@@ -38,14 +47,10 @@ echo "Done\n";
--EXPECTF--
int(0)
int(1)
Warning: Missing argument 1 for test2(), called in %s on line %d
int(0)
Exception: Too few arguments to function test2(), 0 passed in %s001.php on line 18 and exactly 1 expected
int(2)
int(0)
Warning: Missing argument 2 for test3()%s
int(1)
Exception: Too few arguments to function test3(), 1 passed in %s001.php on line 27 and exactly 2 expected
int(2)
int(1)
+12 -19
View File
@@ -23,11 +23,19 @@ function test3($a, $b) {
test1();
test1(10);
test2(1);
test2();
try {
test2();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
try {
call_user_func("test3", 1);
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
call_user_func("test3", 1, 2);
class test {
@@ -62,14 +70,7 @@ int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: Missing argument 1 for test2(), called in %s on line %d and defined in %s on line %d
Warning: func_get_arg(): Argument 0 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Exception: Too few arguments to function test2(), 0 passed in %s002.php on line %d and exactly 1 expected
int(1)
int(2)
@@ -84,15 +85,7 @@ bool(false)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: Missing argument 2 for test3()%s
int(1)
Warning: func_get_arg(): Argument 1 not passed to function in %s on line %d
bool(false)
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
Exception: Too few arguments to function test3(), 1 passed in %s002.php on line %d and exactly 2 expected
int(1)
int(2)
+12 -12
View File
@@ -18,11 +18,19 @@ function test3($a, $b) {
test1();
test1(10);
test2(1);
test2();
try {
test2();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
test3(1,2);
call_user_func("test1");
call_user_func("test3", 1);
try {
call_user_func("test3", 1);
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
call_user_func("test3", 1, 2);
class test {
@@ -47,10 +55,7 @@ array(1) {
[0]=>
int(1)
}
Warning: Missing argument 1 for test2(), called in %s on line %d and defined in %s on line %d
array(0) {
}
Exception: Too few arguments to function test2(), 0 passed in %s003.php on line %d and exactly 1 expected
array(2) {
[0]=>
int(1)
@@ -59,12 +64,7 @@ array(2) {
}
array(0) {
}
Warning: Missing argument 2 for test3()%s
array(1) {
[0]=>
int(1)
}
Exception: Too few arguments to function test3(), 1 passed in %s003.php on line %d and exactly 2 expected
array(2) {
[0]=>
int(1)
+1 -37
View File
@@ -31,40 +31,4 @@ $test->bar();
?>
--EXPECTF--
object(Exception)#%d (7) {
["message":protected]=>
string(3) "foo"
["string":"Exception":private]=>
string(0) ""
["code":protected]=>
int(0)
["file":protected]=>
string(%d) "%s030.php"
["line":protected]=>
int(%d)
["trace":"Exception":private]=>
array(1) {
[0]=>
array(6) {
["file"]=>
string(%d) "%s030.php"
["line"]=>
int(%d)
["function"]=>
string(3) "bar"
["class"]=>
string(3) "foo"
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
}
["previous":"Exception":private]=>
NULL
}
'test' => '0'
'test_2' => '1'
'test_3' => '2'
ok
Fatal error: Cannot re-assign $this in %s030.php on line 11
@@ -0,0 +1,43 @@
--TEST--
Using indirect append on ArrayAccess object
--FILE--
<?php
class AA implements ArrayAccess {
private $data = [];
public function &offsetGet($name) {
if (null === $name) {
return $this->data[];
} else {
return $this->data[$name];
}
}
public function offsetSet($name, $value) {
$this->data[$name] = $value;
}
public function offsetUnset($name) {}
public function offsetExists($name) {}
}
$aa = new AA;
$aa[3] = 1;
$aa[][][0] = 2;
var_dump($aa);
?>
--EXPECT--
object(AA)#1 (1) {
["data":"AA":private]=>
array(2) {
[3]=>
int(1)
[4]=>
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
}
}
+8
View File
@@ -38,11 +38,19 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Warning: A non-numeric value encountered in %s on line %d
int(75636)
Notice: A non well formed numeric value encountered in %s on line %d
int(951858)
int(48550510)
float(75661.68)
Warning: A non-numeric value encountered in %s on line %d
int(75636)
Notice: A non well formed numeric value encountered in %s on line %d
int(951858)
int(48550510)
float(75661.68)
+5
View File
@@ -19,8 +19,13 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
Warning: A non-numeric value encountered in %s on line %d
Exception: Unsupported operand types
Warning: A non-numeric value encountered in %s on line %d
Fatal error: Uncaught Error: Unsupported operand types in %s:%d
Stack trace:
#0 {main}
+15
View File
@@ -0,0 +1,15 @@
--TEST--
closure binding to anonymous class
--FILE--
<?php
$class = new class {};
$foo = function() {
return $this;
};
$closure = Closure::bind($foo, $class, $class);
var_dump($closure());
?>
--EXPECTF--
object(class@anonymous)#1 (0) {
}
+16
View File
@@ -0,0 +1,16 @@
--TEST--
anonymous class trait binding
--FILE--
<?php
trait TaskTrait {
function run() {
return 'Running...';
}
}
$class = new class() {
use TaskTrait;
};
var_dump($class->run());
?>
--EXPECTF--
string(10) "Running..."
@@ -0,0 +1,36 @@
--TEST--
Array must be separated if unpacking by reference
--FILE--
<?php
function inc(&... $args) {
foreach ($args as &$arg) {
$arg++;
}
}
$arr = [1, 2];
$arr[] = 3;
$arr2 = $arr;
inc(...$arr);
var_dump($arr);
var_dump($arr2);
?>
--EXPECT--
array(3) {
[0]=>
int(2)
[1]=>
int(3)
[2]=>
int(4)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
@@ -0,0 +1,19 @@
--TEST--
Array addition is not commutative -- do not swap operands
--FILE--
<?php
$array = [1, 2, 3];
$array = [4, 5, 6] + $array;
var_dump($array);
?>
--EXPECT--
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
+1 -1
View File
@@ -154,7 +154,7 @@ Warning: assert(): assert(0 && ($a = function () {
$x = $a ? $b : $c;
$x = $a ?: $c;
$x = $a ?? $b;
list($a, $b, $c) = [1, 2 => 'x', 'z' => 'c'];
[$a, $b, $c] = [1, 2 => 'x', 'z' => 'c'];
@foo();
$y = clone $x;
yield 1 => 2;
@@ -0,0 +1,19 @@
--TEST--
Misoptimization when variable is modified by assert()
--INI--
zend.assertions=1
--FILE--
<?php
function test() {
$i = 0;
assert('$i = new stdClass');
$i += 1;
var_dump($i);
}
test();
?>
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %s on line %d
int(2)
@@ -0,0 +1,11 @@
--TEST--
Serialization of backtick literal is incorrect
--INI--
zend.assertions=1
--FILE--
<?php
assert_options(ASSERT_WARNING);
assert(false && `echo -n ""`);
--EXPECTF--
Warning: assert(): assert(false && `echo -n ""`) failed in %s%east_serialize_backtick_literal.php on line %d
+9 -2
View File
@@ -6,9 +6,16 @@ $a = new stdClass();
$x = "";
$a->$x = "string('')";
var_dump($a);
$a->{"\0"} = 42;
var_dump($a);
?>
--EXPECTF--
Fatal error: Uncaught Error: Cannot access empty property in %sbug29015.php:4
object(stdClass)#1 (1) {
[""]=>
string(10) "string('')"
}
Fatal error: Uncaught Error: Cannot access property started with '\0' in %s:%d
Stack trace:
#0 {main}
thrown in %sbug29015.php on line 4
thrown in %s on line %d
+1 -1
View File
@@ -3,7 +3,7 @@ Bug #29883 (isset gives invalid values on strings)
--FILE--
<?php
$x = "bug";
var_dump(isset($x[-1]));
var_dump(isset($x[-10]));
var_dump(isset($x["1"]));
echo $x["1"]."\n";
?>
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(isset($a['b']));
$simpleString = "Bogus String Text";
echo isset($simpleString->wrong)?"bug\n":"ok\n";
echo isset($simpleString["wrong"])?"bug\n":"ok\n";
echo isset($simpleString[-1])?"bug\n":"ok\n";
echo isset($simpleString[-20])?"bug\n":"ok\n";
echo isset($simpleString[0])?"ok\n":"bug\n";
echo isset($simpleString["0"])?"ok\n":"bug\n";
echo isset($simpleString["16"])?"ok\n":"bug\n";
+13 -9
View File
@@ -19,15 +19,19 @@ function NormalTest($a)
echo "Hi!";
}
NormalTest();
FooTest();
try {
NormalTest();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
try {
FooTest();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
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!
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
Exception: Too few arguments to function NormalTest(), 0 passed in %sbug33996.php on line 18 and exactly 1 expected
Exception: Too few arguments to function FooTest(), 0 passed in %sbug33996.php on line 23 and exactly 1 expected
Hello!
+2 -1
View File
@@ -8,7 +8,8 @@ class Thing {}
function boom()
{
$reader = xml_parser_create();
xml_set_object($reader, new Thing());
$thing = new Thing();
xml_set_object($reader, $thing);
die("ok\n");
xml_parser_free($reader);
}
+6 -4
View File
@@ -43,7 +43,9 @@ Non-static method A::A_ftk() should not be called statically
1 %sbug38047.php:13 get_error_context()
2 %sbug38047.php:36 kalus_error_handler()
Missing argument 1 for A::A_ftk(), called in %sbug38047.php on line 36 and defined
1 %sbug38047.php:13 get_error_context()
2 %sbug38047.php:7 kalus_error_handler()
3 %sbug38047.php:36 A_ftk()
Fatal error: Uncaught Error: Too few arguments to function A::A_ftk(), 0 passed in %sbug38047.php on line 36 and exactly 1 expected in %sbug38047.php:7
Stack trace:
#0 %sbug38047.php(36): A::A_ftk()
#1 {main}
thrown in %sbug38047.php on line 7
+1 -2
View File
@@ -10,5 +10,4 @@ class foo {
$obj = new foo("Hello world");
?>
--EXPECTF--
Fatal error: Cannot re-assign $this in %sbug41117_1.php on line 3
Fatal error: Cannot use $this as parameter in %s on line %d
+1 -1
View File
@@ -9,7 +9,7 @@ $foo[0]->bar = "xyz";
echo "Done\n";
?>
--EXPECTF--
Fatal error: Uncaught Error: Cannot use string offset as an array in %s:%d
Fatal error: Uncaught Error: Cannot use string offset as an object in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+1 -1
View File
@@ -1,5 +1,5 @@
--TEST--
Bug #42802 (Namespace not supported in typehints)
Bug #42802 (Namespace not supported in types)
--FILE--
<?php
namespace foo;
+1 -1
View File
@@ -7,7 +7,7 @@ $b = &$a[1];
$b = "f";
echo $a;
--EXPECTF--
Fatal error: Uncaught Error: Cannot create references to/from string offsets nor overloaded objects in %sbug49866.php:3
Fatal error: Uncaught Error: Cannot create references to/from string offsets in %sbug49866.php:3
Stack trace:
#0 {main}
thrown in %sbug49866.php on line 3
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #52355 (Negating zero does not produce negative zero)
--FILE--
<?php
var_dump(-0.0);
var_dump(-(float)"0");
$foo = -sin(0);
var_dump($foo);
var_dump(@(1.0 / -0.0));
?>
--EXPECT--
float(-0)
float(-0)
float(-0)
float(-INF)
+3 -3
View File
@@ -10,14 +10,14 @@ class A {
}
$a = new A();
$prop = null;
$prop = "\0";
unset($a->$prop);
?>
--EXPECTF--
Fatal error: Uncaught Error: Cannot access empty property in %s:%d
Fatal error: Uncaught Error: Cannot access property started with '\0' in %s:%d
Stack trace:
#0 %s(%d): A->__unset('')
#0 %s(%d): A->__unset('\x00')
#1 {main}
thrown in %s on line %d
+3 -3
View File
@@ -10,14 +10,14 @@ class A {
}
$a = new A();
$prop = null;
$prop = "\0";
$a->$prop = 2;
?>
--EXPECTF--
Fatal error: Uncaught Error: Cannot access empty property in %s:%d
Fatal error: Uncaught Error: Cannot access property started with '\0' in %s:%d
Stack trace:
#0 %s(%d): A->__set('', 2)
#0 %s(%d): A->__set('\x00', 2)
#1 {main}
thrown in %s on line %d
+3 -3
View File
@@ -10,14 +10,14 @@ class A {
}
$a = new A();
$prop = null;
$prop = "\0";
var_dump($a->$prop);
?>
--EXPECTF--
Fatal error: Uncaught Error: Cannot access empty property in %s:%d
Fatal error: Uncaught Error: Cannot access property started with '\0' in %s:%d
Stack trace:
#0 %s(%d): A->__get('')
#0 %s(%d): A->__get('\x00')
#1 {main}
thrown in %s on line %d
+1 -1
View File
@@ -8,7 +8,7 @@ class MyClass {
$this->myRef = $value;
}
}
$myGlobal=new MyClass($myGlobal);
$myGlobal=new MyClass();
$myGlobal->myRef=&$myGlobal;
$myGlobal->myNonExistentProperty="ok\n";
echo $myGlobal;
+65
View File
@@ -0,0 +1,65 @@
--TEST--
Bug #53432: Assignment via string index access on an empty string converts to array
--FILE--
<?php
$str = '';
var_dump($str[0] = 'a');
var_dump($str);
$str = '';
var_dump($str[5] = 'a');
var_dump($str);
$str = '';
var_dump($str[-1] = 'a');
var_dump($str);
$str = '';
var_dump($str['foo'] = 'a');
var_dump($str);
$str = '';
try {
var_dump($str[] = 'a');
} catch (Error $e) {
echo "Error: {$e->getMessage()}\n";
}
var_dump($str);
$str = '';
try {
var_dump($str[0] += 1);
} catch (Error $e) {
echo "Error: {$e->getMessage()}\n";
}
var_dump($str);
$str = '';
try {
var_dump($str[0][0] = 'a');
} catch (Error $e) {
echo "Error: {$e->getMessage()}\n";
}
var_dump($str);
?>
--EXPECTF--
string(1) "a"
string(1) "a"
string(1) "a"
string(6) " a"
Warning: Illegal string offset: -1 in %s on line %d
NULL
string(0) ""
Warning: Illegal string offset 'foo' in %s on line %d
string(1) "a"
string(1) "a"
Error: [] operator not supported for strings
string(0) ""
Error: Cannot use assign-op operators with string offsets
string(0) ""
Error: Cannot use string offset as an array
string(0) ""
+1 -1
View File
@@ -6,7 +6,7 @@ function f(callable $c) {}
f();
?>
--EXPECTF--
Fatal error: Uncaught TypeError: Argument 1 passed to f() must be callable, none given, called in %s on line 3 and defined in %s:%d
Fatal error: Uncaught Error: Too few arguments to function f(), 0 passed in %s on line 3 and exactly 1 expected in %s:2
Stack trace:
#0 %s(%d): f()
#1 {main}
+1 -1
View File
@@ -23,4 +23,4 @@ class B extends A {
}
?>
--EXPECTF--
Warning: Declaration of B::foo($var) should be compatible with A::foo() in %sbug62358.php on line %d
Fatal error: Declaration of B::foo($var) must be compatible with I::foo() in %sbug62358.php on line 17
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #62814: It is possible to stiffen child class members visibility
--FILE--
<?php
class A {
private function test() { }
}
class B extends A {
protected function test() { }
}
class C extends B {
private function test() { }
}
?>
--EXPECTF--
Fatal error: Access level to C::test() must be protected (as in class B) or weaker in %s on line %d
+8 -3
View File
@@ -57,8 +57,13 @@ $bar = foo3();
string(9) "not catch"
NULL
Fatal error: Uncaught Error: Class 'NotExists' not found in %sbug65784.php:%d
Fatal error: Uncaught Exception: not catched in %sbug65784.php:42
Stack trace:
#0 %s(%d): foo3()
#0 %sbug65784.php(52): foo3()
#1 {main}
thrown in %sbug65784.php on line %d
Next Error: Class 'NotExists' not found in %sbug65784.php:46
Stack trace:
#0 %sbug65784.php(52): foo3()
#1 {main}
thrown in %sbug65784.php on line 46
+1 -3
View File
@@ -13,6 +13,4 @@ $x = $c->test();
print_r($x);
unset($c, $x);
--EXPECTF--
Array
(
)
Fatal error: Cannot unset $this in %sbug68370.php on line 4
+1
View File
@@ -28,6 +28,7 @@ class Bar {
}
public function __destruct() {
if (!isset(self::$instance)) return;
Foo::getInstance();
}
}
+1 -1
View File
@@ -18,4 +18,4 @@ $test = new Foo();
var_dump($test instanceof Baz);
?>
--EXPECTF--
Fatal error: Access level to Bar::bad() must be public (as in class Baz) in %sbug69467.php on line %d
Fatal error: Access level to Foo::bad() must be public (as in class Baz) in %sbug69467.php on line %d
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #69537 (__debugInfo with empty string for key gives error)
--FILE--
<?php
class Foo {
public function __debugInfo(){
return ['' => 1];
}
}
var_dump(new Foo);
?>
--EXPECTF--
object(Foo)#%d (%d) {
[""]=>
int(1)
}
+1 -1
View File
@@ -5,4 +5,4 @@ Bug #69767 (Default parameter value with wrong type segfaults)
function foo(String $bar = 0) {}
?>
--EXPECTF--
Fatal error: Default value for parameters with a string type hint can only be string or NULL in %sbug69767.php on line %d
Fatal error: Default value for parameters with a string type can only be string or NULL in %sbug69767.php on line %d
-2
View File
@@ -27,8 +27,6 @@ $c10 = new C10;
var_dump($c10[] += 5);
--EXPECTF--
Inside C10::offsetGet
Notice: Undefined variable: offset in %sbug69955.php on line 10
NULL
Inside C10::offsetSet
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #69989: Cycle collection for yielded values
--FILE--
<?php
function gen() {
yield yield;
}
$gen = gen();
$gen->send($gen);
?>
===DONE===
--EXPECT--
===DONE===
+42
View File
@@ -0,0 +1,42 @@
--TEST--
Collection of some cycles on unfinished generators
--FILE--
<?php
// CV
function gen1() {
$gen = yield;
yield;
}
$gen = gen1();
$gen->send($gen);
// This
class Test {
public $gen;
public function gen2() {
yield;
}
}
$test = new Test;
$test->gen = $test->gen2();
// Closure object
$gen3 = (function() use (&$gen3) {
yield;
})();
// Yield from array
function gen4() {
yield from [yield];
}
$gen = gen4();
$gen->send($gen);
?>
===DONE===
--EXPECT--
===DONE===
+44
View File
@@ -0,0 +1,44 @@
--TEST--
Generator cycle collection edge cases
--FILE--
<?php
// Extra args
function gen1() {
yield;
}
$obj = new stdClass;
$obj->gen = gen1($obj);
// Symtable
function gen2() {
$varName = 'a';
$$varName = yield;
yield;
}
$gen = gen2();
$gen->send($gen);
// Symtable indirect
function gen3() {
$varName = 'a';
$$varName = 42;
$var = yield;
yield;
}
$gen = gen3();
$gen->send($gen);
// Yield from root
function gen4() {
yield from yield;
}
$gen = gen4();
$gen2 = gen4($gen);
$gen2->send([1, 2, 3]);
$gen->send($gen2);
?>
===DONE===
--EXPECT--
===DONE===
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #70083 (Use after free with assign by ref to overloaded objects)
--FILE--
<?php
class foo {
private $var;
function __get($e) {
return $this;
}
}
function &noref() { $foo = 1; return $foo; }
$foo = new foo;
$foo->i = &noref();
var_dump($foo);
?>
--EXPECTF--
Fatal error: Uncaught Error: Cannot assign by reference to overloaded object in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
+1 -1
View File
@@ -34,4 +34,4 @@ try {
string(36) "Cannot use string offset as an array"
string(27) "Cannot unset string offsets"
string(41) "Only variables can be passed by reference"
string(64) "Cannot increment/decrement overloaded objects nor string offsets"
string(41) "Cannot increment/decrement string offsets"
+1 -1
View File
@@ -15,7 +15,7 @@ var_dump($c);
?>
--EXPECTF--
Warning: Cannot bind internal method SplDoublyLinkedList::count() to object of class cls in %s on line %d
Warning: Cannot bind method SplDoublyLinkedList::count() to object of class cls in %s on line %d
NULL
Warning: Cannot rebind scope of closure created by ReflectionFunctionAbstract::getClosure() in %s on line %d
+5 -1
View File
@@ -19,4 +19,8 @@ try {
?>
--EXPECTF--
Missing argument 1 for foo(), called in %sbug70689.php on line %d and defined
Fatal error: Uncaught Error: Too few arguments to function foo(), 0 passed in %sbug70689.php on line 12 and exactly 1 expected in %sbug70689.php:3
Stack trace:
#0 %sbug70689.php(12): foo()
#1 {main}
thrown in %sbug70689.php on line 3
+1 -1
View File
@@ -12,7 +12,7 @@ var_dump(parse_ini_file($ini_file));
?>
--CLEAN--
<?php
unlink(__DIR__ . "bug70748.ini");
unlink(__DIR__ . "/bug70748.ini");
?>
--EXPECTF--
Warning: syntax error, unexpected $end, expecting '}' in %sbug70748.ini on line %d
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #70804 (Unary add on negative zero produces positive zero)
--FILE--
<?php
var_dump(+(-0.0));
var_dump(+(float)"-0");
$foo = +(-sin(0));
var_dump($foo);
?>
--EXPECT--
float(-0)
float(-0)
float(-0)
+47
View File
@@ -0,0 +1,47 @@
--TEST--
Bug #70918 (Segfault using static outside of class scope)
--FILE--
<?php
try {
static::x;
} catch (Error $e) {
var_dump($e->getMessage());
}
try {
parent::x;
} catch (Error $e) {
var_dump($e->getMessage());
}
try {
self::x;
} catch (Error $e) {
var_dump($e->getMessage());
}
try {
new static;
} catch (Error $e) {
var_dump($e->getMessage());
}
try {
static::x();
} catch (Error $e) {
var_dump($e->getMessage());
}
try {
static::$i;
} catch (Error $e) {
var_dump($e->getMessage());
}
?>
--EXPECT--
string(52) "Cannot access static:: when no class scope is active"
string(52) "Cannot access parent:: when no class scope is active"
string(50) "Cannot access self:: when no class scope is active"
string(52) "Cannot access static:: when no class scope is active"
string(52) "Cannot access static:: when no class scope is active"
string(52) "Cannot access static:: when no class scope is active"
+31
View File
@@ -0,0 +1,31 @@
--TEST--
Bug #71067 (Local object in class method stays in memory for each call)
--INI--
opcache.enable=0
error_reporting=0
--FILE--
<?php
class Test {
public function test(){
$arr = (object) [
'children' => []
];
$arr->children[] = 1;
return $arr;
}
}
$o = new Test();
$o->test();
print_r($o->test());
?>
--EXPECT--
stdClass Object
(
[children] => Array
(
[0] => 1
)
)
+14
View File
@@ -0,0 +1,14 @@
--TEST--
Bug #71086: Invalid numeric literal parse error within highlight_string() function
--FILE--
<?php
$highlightedString = highlight_string("<?php \n 09 09 09;", true);
var_dump($highlightedString);
?>
--EXPECT--
string(169) "<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;<br />&nbsp;</span><span style="color: #007700">09&nbsp;09&nbsp;09;</span>
</span>
</code>"
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #71154: Incorrect HT iterator invalidation causes iterator reuse
--FILE--
<?php
$array = [1, 2, 3];
foreach ($array as &$ref) {
/* Free array, causing free of iterator */
$array = [];
/* Reuse the iterator.
* However it will also be reused on next foreach iteration */
$it = new ArrayIterator([1, 2, 3]);
$it->rewind();
}
var_dump($it->current());
?>
--EXPECT--
int(1)
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Bug #71163 (Segmentation Fault (cleanup_unfinished_calls))
--FILE--
<?php
function __autoload($name) {
eval ("class $name extends Exception { public static function foo() {}}");
throw new Exception("boom");
}
function test2() {
try {
Test::foo();
} catch (Exception $e) {
echo "okey";
}
}
function test() {
test2();
}
test();
?>
--EXPECT--
okey
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #71196 (Memory leak with out-of-order live ranges)
--FILE--
<?php
try {
$a = "1";
[1, (y().$a.$a) . ($a.$a)];
} catch (Error $e) {
var_dump($e->getMessage());
}
?>
--EXPECT--
string(30) "Call to undefined function y()"
+10
View File
@@ -0,0 +1,10 @@
--TEST--
Bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start)
--FILE--
<?php
ob_start("get_defined_vars");
ob_end_clean();
?>
okey
--EXPECT--
okey
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #71248 (Wrong interface is enforced)
--FILE--
<?php
class Hint1 { }
class Hint2 { }
abstract class Base {
public function __construct(Hint1 $x) { }
}
interface Iface {
public function __construct(Hint1 $x);
}
class Foo extends Base implements Iface {
}
$code = <<<'PHP'
abstract class Bar extends Base {
public function __construct(Hint2 $x) { }
}
PHP;
eval($code);
?>
OK
--EXPECT--
OK
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #71266 (Missing separation of properties HT in foreach etc)
--FILE--
<?php
$one = 1;
$two = 2;
$arr = ['foo' => $one, 'bar' => $two];
$obj = (object) $arr;
foreach ($obj as $val) {
var_dump($val);
$obj->bar = 42;
}
$arr = ['foo' => $one, 'bar' => $two];
$obj = (object) $arr;
next($obj);
var_dump(current($arr));
?>
--EXPECT--
int(1)
int(42)
int(1)
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #71275 (Bad method called on cloning an object having a trait)
--FILE--
<?php
trait MyTrait {
public function _() {
throw new RuntimeException('Should not be called');
}
}
class MyClass {
use MyTrait;
public function __clone() {
echo "I'm working hard to clone";
}
}
$instance = new MyClass();
clone $instance;
?>
--EXPECT--
I'm working hard to clone
+28
View File
@@ -0,0 +1,28 @@
--TEST--
Bug #71300 (Segfault in zend_fetch_string_offset)
--FILE--
<?php
function test1() {
for ($n = 'a'; $n < 'g'; $n++) {
$$n = 1;
}
$$n = $$n[++$n] = "test";
return $$n;
}
var_dump(test1());
function test2() {
/* See #71303 for why not using for loop here */
$n = "a";
$$n .= $$n[++$n] = "test";
return $$n;
}
var_dump(test2());
?>
--EXPECTF--
string(4) "test"
Notice: Array to string conversion in %sbug71300.php on line %d
string(9) "Arraytest"
+48
View File
@@ -0,0 +1,48 @@
--TEST--
Bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())
--FILE--
<?php
class A
{
protected $bar = array('baz');
function bar()
{
array_pop($this->bar);
$vars = get_object_vars($this);
$this->bar[] = array('buz');
print_r($vars);
}
function foo() {
array_pop($this->bar);
$dummy = &$this->bar;
$vars = get_object_vars($this);
$this->bar[] = array('buz');
print_r($vars);
}
}
(new A())->bar();
(new A())->foo();
?>
--EXPECT--
Array
(
[bar] => Array
(
)
)
Array
(
[bar] => Array
(
[0] => Array
(
[0] => buz
)
)
)
+61
View File
@@ -0,0 +1,61 @@
--TEST--
Bug #71359: Null coalescing operator and magic
--FILE--
<?php
class AA {
private $data = [];
public function __isset($name) {
echo "__isset($name)\n";
return array_key_exists($name, $this->data);
}
public function &__get($name) {
echo "__get($name)\n";
if (!array_key_exists($name, $this->data)) {
throw new Exception('Unknown offset');
}
return $this->data[$name];
}
public function __set($name, $value) {
echo "__set($name)\n";
$this->data[$name] = $value;
}
public function __unset($name) {
echo "__unset($name)\n";
unset($this->data[$name]);
}
}
$aa = new AA;
var_dump(isset($aa->zero->one->two));
var_dump(isset($aa->zero->foo));
var_dump($aa->zero ?? 42);
var_dump($aa->zero->one->two ?? 42);
$aa->zero = new AA;
$aa->zero->one = new AA;
var_dump(isset($aa->zero->one->two));
var_dump($aa->zero->one->two ?? 42);
?>
--EXPECT--
__isset(zero)
bool(false)
__isset(zero)
bool(false)
__isset(zero)
int(42)
__isset(zero)
int(42)
__set(zero)
__get(zero)
__set(one)
__isset(zero)
__get(zero)
__isset(one)
__get(one)
__isset(two)
bool(false)
__isset(zero)
__get(zero)
__isset(one)
__get(one)
__isset(two)
int(42)
+25
View File
@@ -0,0 +1,25 @@
--TEST--
Bug #71414 (Interface method override inherited method and implemented in a trait causes fatal error)
--FILE--
<?php
interface InterfaceY {
public function z(): string;
}
trait TraitY {
public function z(): string {
}
}
class X {
public function z() {
}
}
class Y extends X implements InterfaceY {
use TraitY;
}
echo "ok";
--EXPECT--
ok
+13
View File
@@ -0,0 +1,13 @@
--TEST--
bug #71428.1: inheritance with null default values
--FILE--
<?php
class A {
public function m(array $a = null) {}
}
class B extends A {
public function m(array $a = []) {}
}
--EXPECTF--
Warning: Declaration of B::m(array $a = Array) should be compatible with A::m(?array $a = NULL) in %sbug71428.1.php on line 7
+23
View File
@@ -0,0 +1,23 @@
--TEST--
bug #71428.2: inheritance of ye olde dynamic interfaces
--SKIPIF--
<?php if (!extension_loaded('pdo')) die("skip PDO is not available"); ?>
--FILE--
<?php
interface StatementInterface {
public function fetch($first = null, $second, $third);
}
class Statement extends PDOStatement implements StatementInterface {}
interface StatementInterface1 {
public function fetch($first = null, $second = null, $third = null);
}
class Statement1 extends PDOStatement implements StatementInterface1 {}
echo "ok";
?>
--EXPECT--
ok
+11
View File
@@ -0,0 +1,11 @@
--TEST--
bug #71428: Validation type inheritance with = NULL
--FILE--
<?php
class A { }
class B { public function m(A $a = NULL, $n) { echo "B.m";} };
class C extends B { public function m(A $a , $n) { echo "C.m";} };
?>
--EXPECTF--
Warning: Declaration of C::m(A $a, $n) should be compatible with B::m(?A $a, $n) in %sbug71428.3.php on line 4
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #71470: Leaked 1 hashtable iterators
--FILE--
<?php
$array = [1, 2, 3];
foreach ($array as &$v) {
die("foo\n");
}
?>
--EXPECT--
foo
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #71474: Crash because of VM stack corruption on Magento2
--FILE--
<?php
class foo {
function __call($name, $args) {
$a = $b = $c = $d = $e = $f = 1;
}
}
function test($n, $x) {
// var_dump($n);
if ($n > 0) {
$x->bug();
test($n - 1, $x);
}
}
test(3000, new foo());
echo "OK\n";
?>
--EXPECT--
OK
+23
View File
@@ -0,0 +1,23 @@
--TEST--
Bug #71529: Variable references on array elements don't work when using count
--FILE--
<?php
$a = [1];
$a[] = &$a[out(count($a) - 1)];
var_dump($a);
function out($what) {
var_dump($what);
return $what;
}
?>
--EXPECT--
int(0)
array(2) {
[0]=>
&int(1)
[1]=>
&int(1)
}
+27
View File
@@ -0,0 +1,27 @@
--TEST--
Bug #71572: String offset assignment from an empty string inserts null byte
--FILE--
<?php
$str = "abc";
var_dump($str{0} = "");
var_dump($str{1} = "");
var_dump($str{3} = "");
var_dump($str{10} = "");
var_dump($str);
?>
==DONE==
--EXPECTF--
Warning: Cannot assign an empty string to a string offset in %s on line %d
NULL
Warning: Cannot assign an empty string to a string offset in %s on line %d
NULL
Warning: Cannot assign an empty string to a string offset in %s on line %d
NULL
Warning: Cannot assign an empty string to a string offset in %s on line %d
NULL
string(3) "abc"
==DONE==
+30
View File
@@ -0,0 +1,30 @@
--TEST--
Bug #71622 (Strings used in pass-as-reference cannot be used to invoke C::$callable())
--FILE--
<?php
function getMethodName(&$methodName) {
$methodName = Abc::METHOD_NAME;
}
class Abc {
const METHOD_NAME = "goal";
private static function goal() {
echo "success\n";
}
public static function run() {
$method = "foobar";
getMethodName($method);
var_dump(is_callable("self::$method"));
self::$method();
}
}
Abc::run();
?>
--EXPECT--
bool(true)
success
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #71695 (Global variables are reserved before execution)
--FILE--
<?php
function provideGlobals() {
var_dump(array_key_exists("foo", $GLOBALS));
var_dump(isset($GLOBALS["foo"]));
$GLOBALS += array("foo" => "foo");
}
provideGlobals();
echo $foo;
?>
--EXPECT--
bool(false)
bool(false)
foo
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #71724: yield from does not count EOLs
--FILE--
<?php
function test()
{
yield
from [__LINE__];
}
var_dump(test()->current());
?>
--EXPECT--
int(10)
+64
View File
@@ -0,0 +1,64 @@
--TEST--
Bug #71731: Null coalescing operator and ArrayAccess
--FILE--
<?php
class AA implements ArrayAccess {
private $data = [];
public function offsetExists($name) {
echo "offsetExists($name)\n";
return array_key_exists($name, $this->data);
}
public function &offsetGet($name) {
echo "offsetGet($name)\n";
if (!array_key_exists($name, $this->data)) {
throw new Exception('Unknown offset');
}
return $this->data[$name];
}
public function offsetSet($name, $value) {
echo "offsetSet($name)\n";
$this->data[$name] = $value;
}
public function offsetUnset($name) {
echo "offsetUnset($name)\n";
unset($this->data[$name]);
}
}
$aa = new AA;
var_dump(isset($aa[0][1][2]));
var_dump(isset($aa[0]->foo));
var_dump($aa[0] ?? 42);
var_dump($aa[0][1][2] ?? 42);
$aa[0] = new AA;
$aa[0][1] = new AA;
var_dump(isset($aa[0][1][2]));
var_dump($aa[0][1][2] ?? 42);
?>
--EXPECT--
offsetExists(0)
bool(false)
offsetExists(0)
bool(false)
offsetExists(0)
int(42)
offsetExists(0)
int(42)
offsetSet(0)
offsetGet(0)
offsetSet(1)
offsetExists(0)
offsetGet(0)
offsetExists(1)
offsetGet(1)
offsetExists(2)
bool(false)
offsetExists(0)
offsetGet(0)
offsetExists(1)
offsetGet(1)
offsetExists(2)
int(42)
Loaded 100 of 2473 files, more files were not shown because too many files have changed in this diff. Show more