Compare commits

...
Author SHA1 Message Date
Sara Golemon 730399f73f Update versions for PHP 7.1.23 2018-10-09 15:13:12 +00:00
Sara Golemon 943722caf1 7.1.23 2018-10-09 10:50:29 -04:00
Sara Golemon bc60da9e04 Update NEWS for PHP 7.1.23RC1 2018-09-28 14:50:54 +00:00
Nikita Popov fa84b8ebb4 Fix test for release builds 2018-09-28 13:40:58 +02:00
Nikita Popov 45cdcb2d0b Fixed bug #76846 2018-09-28 12:56:47 +02:00
Sara Golemon b5d0eb44c0 Fixed bug #76918 Repeated parameter name in arg info 2018-09-25 11:18:24 -04:00
Christopher Jones 9e56a3373e Terminate smart string correctly
This is related to Zend VM regression bug #75881.  The regression was fixed in the VM, so there is no user visible change from the termination correction.
2018-09-24 20:52:58 +10:00
Christopher Jones 91954c24da Make usable for PECL OCI8 release for PHP 7.x 2018-09-24 20:05:54 +10:00
Christopher Jones 57eb25b393 Backport master branch comment typo fix 2018-09-24 17:06:29 +10:00
Christopher Jones 3d497f884f Make tests portable across PHP 7.x versions 2018-09-24 17:01:13 +10:00
Christopher Jones 338802b543 Remove $id from phpinfo as already done in PHP-7.3 2018-09-24 16:52:17 +10:00
Christopher Jones 37652336c7 And strip trailing tabs too... 2018-09-24 16:38:39 +10:00
Christopher Jones bdd67d8175 Sync EXPECT usage with PHP-7.3 2018-09-24 15:59:52 +10:00
Christopher Jones a2c0f8722b Remove trailing whitespace to help keep branches in sync 2018-09-24 13:27:27 +10:00
Christopher Jones eceb34073b Remove trailing whitespace to help keep branches in sycn 2018-09-24 09:37:46 +10:00
Christoph M. Becker 9cbe1283f7 Fix #66828: iconv_mime_encode Q-encoding longer than it should be
Before the fix for bug 48289 has been applied, the algorithm to
construct a Q-encoded-word has been optimistic, i.e. try to encode as
many bytes that *may* fit in the remaining space, calculate the actual
length of the Q-encoded word, and if it's too long, try again with a
reduced size.  However, the fix for the mentioned bug replaced this by
a pessimistic algorithm, which always terminates[1] the for loop[2]
during the first iteration (which renders the following 3 lines as dead
code), and as such easily produces unnecessarily short encoded-words.
Instead the proper fix for the bug would have been to make sure that
`out_size` is always decremented, if the space isn't sufficient for the
encoded-word.

[1] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1421>
[2] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1360>
2018-09-22 15:20:20 +02:00
Nikita Popov 842bec5b3c Fix getColumnMeta() test
Newer MySQL versions are stricter about invalid values. Three issues
are fixed:

* Don't use negative values with ZEROFILL. ZEROFILL implies UNSIGNED.
* Use a legal TIMESTAMP value. TIMESTAMP does not accept a Unix timestamp.
* Specify BIGINT values as strings, to avoid overflows.

This is a cherry-pick of d2dc0a3291 from master.
2018-09-19 12:29:38 +02:00
Nikita Popov c614dd677c Fix intermittent failures in mysqli_stmt_bind_result_format.phpt
There were two distinct issues here:
 * $trend was compared against 'NULL' using !=, which does not work
   as intended in the case where $trend==0.0.
 * current_targets was declared as double(17,0), which means that
   the fractional part was rounded, so that the same comparison in
   SQL (rounded) and in PHP (not rounded) did not necessarily
   match.

Please don't write mt_rand based tests, it takes ages to debug this
crap...
2018-09-19 12:27:31 +02:00
Nikita Popov 294fb83ee8 Fixed bug #76901
get_method() may modify the object pointer passed to it if method
forwarding is used. In this case we do not want to modify the
passed zval, so make sure that we copy the object into a temporary
first.
2018-09-19 09:37:04 +02:00
Manabu Matsui ab6c45f524 Fix bug #75533: array_reduce is slow when $carry is large array 2018-09-18 20:49:59 +02:00
Anatol Belski be02b2e8fd Add spectre switch for suitable vc14 versions 2018-09-18 10:43:52 +02:00
Pierrick Charron 3bb218a0a7 Fix 76480: Use curl_multi_wait() so that timeouts are respected 2018-09-17 20:28:44 -04:00
Anatol Belski d77ac7b3dc Sync version for vc++ 15.9 2018-09-13 19:25:23 +02:00
Anatol Belski 19ab91781e Improve error code matching 2018-09-12 16:22:22 +02:00
Anatol Belski 49511a5132 Update binary SDK version for AppVeyor 2018-09-12 12:09:32 +02:00
Ferenc Kovacs 68a77fe3d8 Merge branch 'PHP-7.0' into PHP-7.1 2018-09-12 00:02:18 +02:00
Ferenc Kovacs cba6055cac Merge branch 'PHP-5.6' into PHP-7.0 2018-09-12 00:00:46 +02:00
Ferenc Kovacs 81f23057dc 5.6.39 will be the next 2018-09-11 23:58:17 +02:00
Anatol Belski af80ff25f6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.33 next
2018-09-11 07:00:48 +02:00
Anatol Belski 1b89522974 7.0.33 next 2018-09-11 07:00:15 +02:00
Anatol Belski df45faf446 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Sync NEWS [ci skip]
2018-09-10 16:57:24 +02:00
Anatol Belski 4415dab25e Sync NEWS [ci skip] 2018-09-10 16:56:37 +02:00
Stanislav Malyshev 6623f3caca Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Update NEWS
  Fix for bug #76582
2018-09-09 12:29:23 -07:00
Stanislav Malyshev 024f3ac160 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS
  Fix for bug #76582
2018-09-09 12:27:44 -07:00
Stanislav Malyshev c1de84014d Update NEWS 2018-09-09 12:19:38 -07:00
Stanislav Malyshev 23b057742e Fix for bug #76582
The brigade seems to end up in a messed up state if something fails
in shutdown, so we clean it up.
2018-09-09 11:45:14 -07:00
Jakub Zelenka be50a72715 Fix ssl stream reneg limit test to print only after first renegotiation
It has been reported that in some setup the test does multiple
renegotiations which is allowed.
2018-09-09 18:53:55 +01:00
Christoph M. Becker 90d863898c Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed
Whenever we return with `PSFS_PASS_ON`, we need to update
`bytes_consumed` to not mislead the caller.  Instead of fixing the
respective `if` clauses, we eschew the early bail-outs to simplify the
code a bit.
2018-09-08 19:01:36 +02:00
Anatol Belski 28c6125053 Sync with recent changes to default libcurl build
(cherry picked from commit a1ba3007a4)
2018-09-05 21:28:59 +02:00
Christoph M. Becker c0a389a927 Fix #74454: Wrong exception being thrown when using ReflectionMethod
If zend_throw_exception_ex() already threw an exception, we should not
throw again.
2018-09-05 15:05:19 +02:00
Ville Hukkamaki 0f724453c0 Fix bug #74764 and add a test case 2018-09-04 11:12:04 +02:00
Anatol Belski e58690a26d [ci skip] Update NEWS 2018-09-04 11:01:24 +02:00
Nikita Popov 03740ef7df Revert all MySQL auth related changes
Per bug #76651 these changes do not appear to work correctly in
some cases. As no immediate fix seems to be forthcoming, I'm
reverting these changes.

Revert "Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)"

This reverts commit 11507c0e1b.

Revert "Fix mysqlnd build without openssl"

This reverts commit 6c9db02ff7.

Revert "Fix VC compilation as variable size array is not supported"

This reverts commit f96df64cb2.

Revert "Fix MySQL 8 auth"

This reverts commit d6e81f0bfd.
2018-09-04 05:47:28 +02:00
Nikita Popov f1f39d7ed7 Fix parenthesis warning 2018-09-04 05:32:25 +02:00
Peter Kokot 870d893d0b Fix bug #75481: makedev warning
To use makedev the sys/sysmacros.h needs to be included on newer
systems.

Cherry-picked from PHP-7.3.
2018-09-04 05:13:45 +02:00
Ville Hukkamaki 742783c3ee Fixed bug #73457
Correctly report errors when opening FTP data connection.
2018-09-04 04:53:38 +02:00
Anatol Belski f26172f934 Fixed bug #76832 ZendOPcache.MemoryBase periodically deleted by the OS 2018-09-03 15:09:23 +02:00
Dmitry Stogov 7fde2243a7 Fixed reference-countingin ZTS build. 2018-09-03 10:20:40 +03:00
Christoph M. Becker 2677d43850 Fix #75696: posix_getgrnam fails to print details of group
According to the POSIX specification of `getgrnam_r()` the result of
`sysconf(_SC_GETGR_R_SIZE_MAX)` is an initial value suggested for the
size of the buffer, and `ERANGE` signals that insufficient storage was
supplied.  So if we get `ERANGE`, we try again with a buffer twice as
big, and so on, instead of failing.
2018-09-01 14:25:59 +02:00
Anatol Belski 7fb7869e13 Fix stack underflow in phar
The checks can issue reads below and above the temporary buffer. A read
itself doesn't seem dangerous, but the condition result can be
arbitrary. Such reads have to be avoided. Likely this patch should be
backported.

(cherry picked from commit b053beee7e)
2018-08-30 19:33:07 +02:00
Remi Collet c1729272b1 fix double cast to int on 32-bit 2018-08-30 09:03:50 +02:00
Dmitry Stogov 709e4e4f17 Fixed incorrect ZEND_ACC_ARENA_ALLOCATED usage (it must be used only for internal functions). 2018-08-29 23:40:17 +03:00
Sara Golemon 5fee4e7108 Prep for 7.1.23 2018-08-29 12:41:05 -04:00
Christoph M. Becker efb86aef12 Fix #68180: iconv_mime_decode can return extra characters in a header
Basically, the algorithm to append a converted string to an existing
`smart_str` works by increasing the `smart_str` buffer, to let `iconv`
convert characters until there is no more space, to set the new length
of the `smart_str` and to repeat until there is no more input.

Formerly, the new length calculation has been wrong, though, since we
would have to take the old `out_len` into account (`buf_growth -
old_out_len - out_len`).  However, since there is no need to take the
old `out_len` into account when increasing the `smart_str` buffer, we
can simplify the fix, avoiding an additional variable.
2018-08-26 13:18:35 +02:00
Christoph M. Becker e29c946c29 Fix #60494: iconv_mime_decode does ignore special characters
We must not ignore erroneous characters in mime headers, but rather let
iconv_mime_decode() fail in this case, issuing the usual notice
regarding illegal characters.
2018-08-25 17:40:39 +02:00
Christoph M. Becker 8754d44167 Fix #63839: iconv_mime_decode_headers function is skipping headers
We have to cater to the possibility that `=?` is not the start of an
encoded-word, but rather a literal `=?`.  If a line break is found
while we're still looking for the charset, we can safely assume that
it's a literal `=?`, and act accordingly.
2018-08-25 14:51:13 +02:00
Christoph M. Becker 6e1980e152 Fix #55146: iconv_mime_decode_headers() skips some headers
If we're expecting the start of an encoded word (`=?`), but instead of
the question mark get a line break (CR or LF), we must not append it to
the `pretval`.
2018-08-25 14:40:07 +02:00
Dylan K. Taylor b9bf9ddce6 mkdist.php: recursively check dll dependencies
Fix duplication of recursively checked deps
2018-08-23 21:25:54 +02:00
Christoph M. Becker 6644bd005f Simplify regression test
There's no need to actually try to trigger an out-of-memory condition
to proof the leak; instead we can simply rely on the Zend MM to report
the memory leaks in debug mode (at least on Linux).  Therefore we
simplify the regression test, which also makes it run much faster.
2018-08-23 12:48:09 +02:00
Christoph M. Becker 32a728d351 Fix #68825: Exception in DirectoryIterator::getLinkTarget()
intern->file_name may not have been properly set when
DirectoryIterator::getLinkTarget() is called, so we make sure it is
before using it.
2018-08-22 15:37:02 +02:00
Christoph M. Becker 5fb01a3a42 Increase memory_limit to prevent test failures 2018-08-22 14:29:28 +02:00
Christoph M. Becker 70b2fca220 Fix #76778: array_reduce leaks memory if callback throws exception
We have to release the result variable in the error case, too.
2018-08-22 13:40:24 +02:00
Ville Hukkamaki cf2fc66b02 Fixed bug #76777 and added test
Set undefined values to null rather than undefined.
2018-08-22 12:51:06 +02:00
Jakub Zelenka 4c542e6c13 Fix bug #76705 (unusable ssl => peer_fingerprint in stream_context_create()) 2018-08-19 20:14:26 +01:00
Christoph M. Becker 4c448334bd Add regression test for bug #68175 2018-08-18 14:36:16 +02:00
Tim Siebels 3257d22fea Fix #68175: RegexIterator pregFlags are NULL instead of 0 2018-08-18 14:33:39 +02:00
Anatol Belski 837ed71c65 Update binary SDK version for AppVeyor 2018-08-17 15:44:10 +02:00
Xinchen Hui 04c4854fdf Fixed bug #76754 (parent private constant in extends class memory leak) 2018-08-17 13:35:15 +08:00
Xinchen Hui 64c88c1e16 Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  fix man page installation
2018-08-16 14:00:30 +08:00
Xinchen Hui 8c92442b49 Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar file) 2018-08-16 13:56:20 +08:00
Remi Collet 1f2f2c6b96 fix man page installation
Since 91996e7ee5
phpdbg.1 is in buildir, not in srcdir
2018-08-16 06:53:56 +02:00
Tyson Andre e20baee136 Fix arginfo for bzcompress
bzcompress() has 1 required parameter, not 2.

See http://php.net/manual/en/function.bzcompress.php or invoke
bzcompress with 1 parameter.
2018-08-13 15:59:08 +02:00
Anatol Belski 859f7fce1f Update NEWS [ci skip] 2018-08-13 09:11:57 +02:00
Anatol Belski 45a05f3841 Fixed bug #74484 MessageFormatter::formatMessage memory corruption
with 11+ named placeholder
2018-08-09 22:07:24 +02:00
Peter Kokot 935625f1b8 [ci skip] Update NEWS 2018-08-06 09:41:38 +02:00
Peter Kokot a3e3d914ed Fix bug #76709: Minimal required zlib library is 1.2.0.4
The minimal required version of zlib system library is 1.2.0.4 instead
of 1.0.9 as reported in the ./configure --help.
2018-08-06 09:37:16 +02:00
Peter Kokot 4d5edcb4ac [ci skip] Update NEWS 2018-08-06 06:17:45 +02:00
Jay Bonci c8a90606c1 Fix bug #65988: Zlib version check fails
When an 'include/zlib/' style dir is passed to --with-zlib configure
option the zlib version check fails.
2018-08-06 06:14:11 +02:00
Peter Kokot b4b14d2106 [ci skip] Update NEWS 2018-08-06 01:43:37 +02:00
Peter Kokot 45a3c0e596 Fix bug #72443: Generate enabled extension
The PHP extension generator script now generates enabled extension with
less required steps for using the newly generated files.
2018-08-06 01:22:17 +02:00
Peter Kokot 169a98319a [ci skip] Update NEWS 2018-08-05 20:35:23 +02:00
sji 0f557756dd Fixed incorrect restoring of LDFLAGS 2018-08-05 20:26:40 +02:00
Peter Kokot fd0fc20d35 [ci skip] Update NEWS
Bug fix #76595 has been done after RC release and should go to
appropriate NEWS location then.
2018-08-04 16:16:07 +02:00
Christoph M. Becker c00f5e6531 Fix #76704: mb_detect_order return value varies based on argument type
php_mb_parse_encoding_list() and php_mb_parse_encoding_array() are
supposed to return SUCCESS and FAILURE, not 1 and 0, respectively.
2018-08-04 12:51:57 +02:00
Peter Kokot b71a503844 [ci skip] Update NEWS 2018-08-04 06:39:19 +02:00
Kevin Abel 91996e7ee5 Fix bug 76595: Update phpdbg man page
Send phpdbg.1 man page through configure replacements
Update phpdbg.1 man page to include all options
Fixes formatting to be more consistent with php.1
Fix paragraph whitespace and ignore phpdbg.1
2018-08-04 06:34:40 +02:00
Anatol Belski 41c69766a4 Improve cleanup
The persistent connection locks the file which might prevent deletion.
2018-08-03 07:08:53 +02:00
Anatol Belski 19592519c2 Fix callbacks
The signatures wasn't synced in 7.0
2018-08-02 18:59:34 +02:00
Joe Watkins 74988eed99 bump version 2018-07-31 16:38:35 +02:00
Anatol Belski 2870178720 Update NEWS [ci skip] 2018-07-30 19:42:10 +02:00
Anatol Belski cc69950b15 Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option 2018-07-30 18:27:59 +02:00
Christoph M. Becker ed7e3bc70a Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
We need to ensure that a zval IS_DOUBLE before we access it as such.
In this case we apply common type juggling to do so.
2018-07-26 13:15:19 +02:00
Christoph M. Becker 40bd84d3e3 Fix #76643: Segmentation fault when using output_add_rewrite_var
We have to check whether _SERVER is actually an array before we're
going to use it as such.
2018-07-24 12:20:13 +02:00
Xinchen Hui 38d97557da Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result) 2018-07-24 11:34:57 +08:00
Xinchen Hui 2139c2c2de Fixed pefree_size (efree_size will be expaned to do {} while () form) 2018-07-23 15:48:14 +08:00
Christoph M. Becker 99fdf5916e Fix #52974: jewish.c: compile error under Windows with GBK charset
jewish.c includes ISO-8859-8 encoded Hebrew Hebrew month names, which
may cause compile errors, and is generally confusing.  We replace the
literal month names with appropriate escape sequences.
2018-07-22 17:42:10 +02:00
Anatol Belski 9e54d9d692 Update binary SDK version for AppVeyor 2018-07-19 18:35:54 +02:00
Ferenc Kovacs 0510b47894 Merge branch 'PHP-7.0' into PHP-7.1 2018-07-19 16:57:18 +02:00
Ferenc Kovacs e5b27b9916 Merge branch 'PHP-5.6' into PHP-7.0 2018-07-19 16:56:32 +02:00
Ferenc Kovacs 1ba3314335 5.6.38 will be next 2018-07-19 16:54:58 +02:00
Anatol Belski dfc2e3a2ac Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.32 next
2018-07-17 12:37:02 +02:00
Anatol Belski d011da9d1a 7.0.32 next 2018-07-17 12:36:13 +02:00
Anatol Belski 1127163996 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Update NEWS
2018-07-17 11:58:43 +02:00
Anatol Belski b52c4fcbcd [ci skip] Update NEWS 2018-07-17 11:58:00 +02:00
Stanislav Malyshev 4e92cd172a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 16:52:36 -07:00
Stanislav Malyshev bddf8140e4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 15:13:13 -07:00
Anatol Belski f151e048ed Fixed bug #76459 windows linkinfo lacks openbasedir check 2018-07-16 15:11:56 -07:00
Stanislav Malyshev b73a108543 Add NEWS 2018-07-16 14:26:31 -07:00
Anatol Belski 289cb0f77c Fixed bug #76459 windows linkinfo lacks openbasedir check 2018-07-16 14:21:02 -07:00
Stanislav Malyshev 3462efa386 Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
Use MAKERNOTE length as data size.
2018-07-16 14:17:51 -07:00
Stanislav Malyshev 1baeae4270 Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c 2018-07-16 14:16:58 -07:00
Christoph M. Becker 0f8c1ee76d Fix #73817: Incorrect entries in get_html_translation_table
Due to incorrect string termination and length handling, several HTML
entities missed the trailing semicolon.

We also fix the obviously wrong expectations in two already existing
tests.
2018-07-15 23:06:38 +02:00
Anatol Belski 141072a838 Improve test
Ensure the filename is non existent indeed.
2018-07-13 20:13:51 +02:00
Anatol Belski 99fe18503a Fixed RecursiveDirectoryIterator with long path or with edge case length
The search path needs to be appended with the wild card. Till now, an
edge case existed, so then if a path is 259 bytes long, which is smaller
_MAX_PATH, the suffix would cause the final search path to become longer
than _MAX_PATH. It is an edge case, when the starting path happens to
have a specific length. If the starting path was longer than _MAX_PATH
or the addition of "\\*" would not exceed _MAX_PATH, the function was
correct. Except for rewind, which was broken in the case of the long
path.
2018-07-12 19:49:32 +02:00
Christoph M. Becker 236ae06e0b Fix Travis build
As of commit f9d1d1f[1] we require `sudo`, so we tell Travis about it.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=f9d1d1f>
2018-07-12 13:45:30 +02:00
Anatol Belski cc7b000d2c Fix macro 2018-07-12 11:35:00 +02:00
Anatol Belski 98102648cb Fix condition
It looks like the real length limit is 247 bytes, not 248 as documented.
2018-07-11 13:09:20 +02:00
Anatol Belski 9026562c79 [ci skip] Update NEWS 2018-07-10 11:50:33 +02:00
timurib 08f08858f3 Fix bug #76524 - ZipArchive memory leak
Bugfix #76524: Free up zip internal state and adjust the tests for Windows

Bugfix #76524: Fix possible use after free for libzip 1.3.1

Bugfix #76524: Make the test independent of platform
2018-07-10 11:18:37 +02:00
Anatol Belski a820aab9da Sync callback signature with libxml2 2.9.8 2018-07-09 21:21:41 +02:00
Anatol Belski 2c43fb49d6 Add missing flag 2018-07-09 15:12:52 +02:00
Anatol Belski ad790bea2e Fix C++11 and up compatibility for zend_finite and more
C++11 puts isfinite, isinf, isnan and a lot of other stuff into the
std namespace. Thus, if a C++11 or newer source is compiled, these
symbols won't be available. A good solution would be to include cmath,
but depending on a particular compiler that might remove even more
stuff from the global namespace, so such a fix should only target master.
For now, just keep these defines same for C++11 and upper, as the actual
C++ code should use symbols from the std namespace anyway. This
especially concerns older GCC versions like at least 4 and 5, which are
used by default in the LTS Linux distros.
2018-07-08 20:20:08 +02:00
cdoco 47fb17b108 Fixed bug #76366 (references in sub-array for filtering breaks the filter) 2018-07-07 12:07:43 +02:00
Anatol Belski ea24847620 [ci skip] Update NEWS 2018-07-06 17:43:48 +02:00
Anatol Belski 246cb03e26 Fix event log handling in startup phase
The log header can be saved in the globals on startup. At the same
time, the log header can be changed per request. In case that
happened, wrong pointer will be free'd on shutdown. It can happen at
any point when zend_error() or similar is called at startup, like for
example in the case of the ini deprecation warnings. Thus, ZMM cannot
be used here.
2018-07-06 16:07:28 +02:00
sim1984 3847a6fcb6 Fix bug #76488 Memory leak when fetching a BLOB field
Add a phpt test
2018-07-06 16:07:28 +02:00
Sara Golemon 137f22ad36 Fix year 2018-07-06 10:02:20 -04:00
Sara Golemon 268e801cb1 Bump version 2018-07-06 10:02:00 -04:00
Nikita Popov 791f07e4f0 Fix string.strip_tags filter
Was segfaulting if no allowed tags are specified and performing an
out of bounds read if they were.
2018-07-05 19:08:00 +02:00
Nikita Popov c97b8bbf82 Fixed bug #75231
The behavior is now consistent with ReflectionMethod.
2018-07-02 18:56:27 +02:00
Nikita Popov 787593b708 Fix test after serialization change
And move it to a more appropriate location.
2018-07-02 17:58:26 +02:00
Nikita Popov c793885b76 Fixed bug #74670
Validate that "C" serialization payload is followed by "}" prior to
calling the unserialize() handler. This mitigates issues caused by
unserialize() not correctly handling strings that are not NUL
terminated. Making sure that there is a "}" at the end avoids the
problem.
2018-07-02 17:27:43 +02:00
Anatol Belski f8258325b4 Update libs_version.txt 2018-07-02 12:09:54 +02:00
Christoph M. Becker a72bab1b9a Make newly introduced bug76556.phpt more resilient
Obviously, different compilers mangle the C++ class name differently.
We should neither expect a prefix nor a suffix.
2018-07-01 00:20:32 +02:00
Christoph M. Becker 1118fca75d Fix #76556: get_debug_info handler for BreakIterator shows wrong type
We use the retrieved type for the "type" element instead of the text.
This has been confused during the PHP 7 upgrade[1].

[1] http://git.php.net/?p=php-src.git;a=commit;h=1d793348067e5769144c0f7efd86428a4137baec
2018-06-30 23:15:02 +02:00
Nikita Popov 9b0df97a42 Fix handling of void return type on internal functions 2018-06-30 20:10:57 +02:00
Nikita Popov 2eb6a541a9 Fix typo in compound dim assign op inference
Thankfully a harmless one, just makes inference results worse.
2018-06-30 19:50:07 +02:00
Christoph M. Becker ae04110032 Fix #71848: getimagesize with $imageinfo returns false
Some JFIF images contain empty APP segments, i.e. those which consist
only of the marker bytes and the length, but without actual content.
It appears to be doubtful to have empty APP segments, but we should
apply the robustness principle, and accept these, instead of simply
failing in this case.

We choose to add empty APP segments to $imageinfo with an empty string
as value, instead of NULL, or even to omit these segments altogether.

This patch also fixes the potential issue that php_stream_read() might
not read the supposed number of bytes, which could result in garbage to
be added to the read value.
2018-06-30 16:29:30 +02:00
Nikita Popov 962706d16c Fix nullable type pretty-printing 2018-06-29 23:22:41 +02:00
Anatol Belski fb09f1341f [ci skip] Update NEWS 2018-06-29 20:10:54 +02:00
Anatol Belski cb97fd3097 Fixed bug #76548 pg_fetch_result did not fetch the next row 2018-06-29 18:34:53 +02:00
Marcus Schwarz bf5a802f5a Fixed bug #76532 (excessive memory usage in mb_strimwidth) 2018-06-28 23:02:28 +02:00
Anatol Belski f6430e3fe2 Update SDK version for AppVeyor 2018-06-28 15:56:27 +02:00
Anatol Belski 88b5df91f6 Sync versions for VC++ 15.8 2018-06-28 13:23:19 +02:00
Anatol Belski 19b4fa17d3 Don't ignore commits on NEWS, etc. on AppVeyor
[ci skip] can be used explicitly, and otherwise it might ignore commits
with a code change.
2018-06-28 10:53:23 +02:00
Xinchen Hui 1f6b842af4 Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence) 2018-06-28 12:37:33 +08:00
Xinchen Hui d1b1866a3a Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler) 2018-06-27 13:05:11 +08:00
Christoph M. Becker 6b5597f7d8 Fix arginfo wrt. optional/required parameters
All parameters of phpdbg_color(), phpdbg_exec() and phpdbg_prompt() are
required.  We mark them as such.
2018-06-25 11:52:17 +02:00
Anatol Belski 5af0db88fa Prepare tests for ICU 62.1 2018-06-25 11:30:14 +02:00
Nikita Popov 701460ba84 Fixed bug #76502 2018-06-24 22:26:45 +02:00
Jakub Zelenka b20bcbc363 Use unix NL in all openssl ext tests 2018-06-21 16:43:32 +01:00
Jakub Zelenka 3c42f64e6e Make code in openssl ext tests more consistent
Mainly use spaces for indent and fix some other CS issues. Also
drop checks for unsupported OpenSSL library versions.
2018-06-21 16:38:19 +01:00
Xinchen Hui 6531719da5 Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys) 2018-06-21 17:26:05 +08:00
Stanislav Malyshev bcf2e10ae7 Revert "ICU 59+ requires C++11 and errors out without the option"
This reverts commit 5dd1ef90ca.
2018-06-20 10:41:41 -07:00
Nikita Popov 69dee5c732 Fixed bug #73342
Directly listen on socket, instead of duping it to STDIN and
listening on that.
2018-06-20 12:28:15 +02:00
Stanislav Malyshev 5dd1ef90ca ICU 59+ requires C++11 and errors out without the option 2018-06-17 16:42:41 -07:00
Dmitry Stogov 11507c0e1b Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer) 2018-06-14 02:38:39 +03:00
Nikita Popov e77077edeb Make $locale parameter to BreakIterator ctors optional
It's documented as such and already accepts null.
2018-06-13 23:47:20 +02:00
Jakub Zelenka ea592e6b6c Rewrite FPM tests 2018-06-12 17:59:28 +01:00
Anatol Belski 62554efffe [ci skip] Update NEWS 2018-06-12 18:06:41 +02:00
Anatol Belski 7212829435 Fixed bug #76462 Undefined property: DateInterval::$f 2018-06-12 15:30:14 +02:00
Nikita Popov 6c9db02ff7 Fix mysqlnd build without openssl
Cherry-pick of 968eb0b38c, as these
changes were also introduced in lower branches.
2018-06-10 21:20:28 +02:00
Jakub Zelenka f9d1d1f36f Enable IPv6 in Travis 2018-06-08 20:09:33 +01:00
Joe Watkins e9b8193b24 bump versions 2018-06-07 08:19:43 +02:00
Anatol Belski f96df64cb2 Fix VC compilation as variable size array is not supported 2018-06-06 11:13:28 +02:00
Johannes Schlüter 04db3d0f7a Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1 2018-06-06 00:24:41 +02:00
Johannes Schlüter d6e81f0bfd Fix MySQL 8 auth 2018-06-06 00:17:34 +02:00
Stanislav Malyshev 73bf238507 Fix bug #76390 - do not allow invalid strings in range() 2018-06-04 22:44:05 -07:00
Anatol Belski 5bf8032112 Translate correct C++ version with suitable compiler 2018-05-28 17:12:06 +02:00
Bob Weinand 97a8483143 Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT) 2018-05-28 00:48:35 +02:00
Mitch Hagstrand 34fb42970a Adds print_global_vars to gdbinit 2018-05-26 22:05:06 +02:00
Peter Kokot 974c46b89b Add missing opcache.opt_debug_level ini directive 2018-05-26 22:04:20 +02:00
Joe Watkins be11b354f4 fix phpdbg disabling chroot support 2018-05-23 22:23:13 +02:00
Xinchen Hui 8f221bdec0 Fixed bug #76367 (NoRewindIterator segfault 11) 2018-05-23 14:45:38 +08:00
Jakub Zelenka 68c3d09c2c Fix bug #76174 (openssl extension fails to build with LibreSSL 2.7) 2018-05-22 13:30:58 +01:00
Tianon Gravi bc6ddb7f45 Allow pecl like usage in ext/pdo, refs #2955 2018-05-21 12:18:46 +02:00
Anatol Belski 83626ef97a Refix the tests once more
The behavior change seems to be in both runtime and system. The
displaced warning output is of secondary interest anyway.
2018-05-19 13:09:56 +02:00
Anatol Belski 589f8107e8 Fix remaining AppVeyor test failures due to the image update 2018-05-19 11:43:19 +02:00
Anatol Belski 6043a2d6f7 Fix Opcache test fails regarding to AppVeyor image update 2018-05-18 18:36:39 +02:00
Jakub Zelenka 33382dc7ee Update NEWS with info about bug #76296 2018-05-18 17:18:25 +01:00
Jakub Zelenka 798e707eb3 Add test for bug #76296 2018-05-18 17:15:36 +01:00
Erik Lax d6bc266ba0 Fix bug #76296 (openssl_pkey_get_public does not respect open_basedir) 2018-05-18 17:15:22 +01:00
Anatol Belski b2429259af Fix curl tests wrt. AppVeyor and curl updates 2018-05-18 17:39:12 +02:00
Anatol Belski ee0ca6470d Fix cli server test fails after recent AppVeyor image update 2018-05-18 13:38:53 +02:00
Anatol Belski 2d9836a579 [ci skip] Update NEWS 2018-05-14 12:08:01 +02:00
Anatol Belski 9b8d8cac04 Fixed bug #76335 "link(): Bad file descriptor" with non-ASCII path 2018-05-14 10:43:11 +02:00
Anatol Belski 4dedccd8e2 [ci skip] Update NEWS 2018-05-14 08:42:28 +02:00
Anatol Belski ad787626a4 Fixed bug #76333 PHP built-in server does not find files if root path contains special characters 2018-05-13 18:40:32 +02:00
Anatol Belski d21612401f Update SDK version for AppVeyor 2018-05-09 11:28:20 +02:00
Joe Watkins 6c3b70e9a5 bump versions 2018-05-08 18:02:30 +02:00
Derick Rethans d057d767cc Updated to version 2018.5 (2018e) 2018-05-08 09:24:25 +01:00
Ricardo F ea642026eb Update _bits_per_char to use with new PHP 7.1. or greater
Fix typo

Remove references to PHP lower than 7.1
2018-05-07 14:41:49 +02:00
Anatol Belski 54ca2e7f8c [ci skip] Update NEWS 2018-05-06 16:13:26 +02:00
Anatol Belski 6b85926104 Fix tests, ref bug #74385 2018-05-03 17:15:47 +02:00
Anatol Belski f59b201f19 Fixed bug #74385 Locale::parseLocale() broken with some arguments
Rely on the ICU's defined values for the max locale id length.
2018-05-03 16:34:33 +02:00
Dmitry Stogov 5b3e1ded35 Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp) 2018-05-03 12:10:33 +03:00
Thomas Punt 7ba70a5fed Fix potential memory leak in the enchant extension 2018-04-29 19:23:07 +01:00
Thomas Punt d3ae4fe2d2 Fix potential memory leak in curl extension 2018-04-29 19:04:10 +01:00
Thomas Punt 35713efa02 The SO_PASSCRED constant is conditionally defined 2018-04-29 17:34:03 +01:00
Thomas Punt 7f090ac16a Merge branch 'PHP-7.1' of https://git.php.net/push/php-src into PHP-7.1 2018-04-28 13:56:09 +01:00
Thomas Punt 643c9c9b47 Fix potential memory leaks in sockets extension 2018-04-28 13:55:24 +01:00
Dmitry Stogov df4d0a73d2 Revert "Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)."
This reverts commit c6ce03e45e.
2018-04-28 13:28:00 +03:00
Dmitry Stogov c6ce03e45e Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp). 2018-04-28 00:19:53 +03:00
Nikita Popov 6738d19fb8 Fix bug #76281
Make sure we keep the smart-branch inhibiting NOP even if there
are multiple NOPs in sequence.
2018-04-27 22:21:59 +02:00
Nikita Popov 279ba58edb Fixed bug #76275
* Adjust IS_SERIALIZED() check to account for potential empty
  allocations at the end of the memory region.
* Deallocate empty allocation if all try/catch elements have been
  removed in the block pass (similar to what we do if all live
  ranges have been eliminated).
2018-04-27 17:01:35 +02:00
Thomas Punt 2513da4b4c Allocate default ini values into persistent memory 2018-04-26 21:08:19 +01:00
Thomas Punt 435e812c09 Fix memory leak when phpdbg fails to start up 2018-04-26 16:39:52 +01:00
shiguangqi2008@gmail.com 98ef183ed0 Fix memory leak in zend_disable_class() 2018-04-26 16:16:37 +02:00
Ferenc Kovacs 127273327b Merge branch 'PHP-7.0' into PHP-7.1 2018-04-25 00:14:33 +02:00
Ferenc Kovacs 5ac5f313bd Merge branch 'PHP-5.6' into PHP-7.0 2018-04-25 00:13:11 +02:00
Ferenc Kovacs fe3d53f443 5.6.37 will be next 2018-04-24 23:23:14 +02:00
Anatol Belski 4b42056042 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.31 next
2018-04-24 11:37:10 +02:00
Anatol Belski 090fef553d 7.0.31 next 2018-04-24 11:36:12 +02:00
Anatol Belski befdc10c32 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Update NEWS
2018-04-24 11:21:44 +02:00
Anatol Belski 31c3646757 [ci skip] Update NEWS 2018-04-24 11:21:03 +02:00
Anatol Belski 919ead1157 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix test portability
2018-04-24 10:48:49 +02:00
Anatol Belski 3070883bcf Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix test portability
2018-04-24 10:48:22 +02:00
Anatol Belski 4371af3e19 Fix test portability 2018-04-24 10:47:32 +02:00
Stanislav Malyshev 95ee9efa57 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:00:24 -07:00
Stanislav Malyshev 5a18d7a0df Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 21:59:57 -07:00
Stanislav Malyshev ee76a5ae5a Fix tsrm_ls 2018-04-23 16:48:27 -07:00
Stanislav Malyshev 58b0003975 Merge remote-tracking branch 'security/bug76249' into PHP-5.6
* security/bug76249:
  Fix test
  Fix bug #76249 - fail on invalid sequences
2018-04-23 13:44:19 -07:00
Stanislav Malyshev a4c55eefd0 Merge remote-tracking branch 'security/bug76248' into PHP-5.6
* security/bug76248:
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
2018-04-23 13:44:12 -07:00
Stanislav Malyshev 6e64aba47f Fix #76129 - remove more potential unfiltered outputs for phar 2018-04-23 13:43:43 -07:00
Stanislav Malyshev e2dcf3cc54 Merge remote-tracking branch 'security/PHP-5.6' into PHP-5.6
* security/PHP-5.6:
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 13:42:51 -07:00
Stanislav Malyshev 8dca5ae5ec Fix test 2018-04-22 22:19:51 -07:00
Stanislav Malyshev 49782c5499 Fix bug #76248 - Malicious LDAP-Server Response causes Crash 2018-04-22 22:01:35 -07:00
Stanislav Malyshev 06d309fd7a Fix bug #76249 - fail on invalid sequences 2018-04-22 21:26:39 -07:00
Stanislav Malyshev ff83c00715 Add a bit of defensive conding for bug #76155
Even though it should not be ever negative, since strlen() is size_t
better to be safe than sorry.
2018-04-22 20:27:42 -07:00
Christoph M. Becker b4e4788c44 Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
The MakerNote is not necessarily null-terminated, so we must not use
`strlen()` to avoid OOB reads.  Instead `php_strnlen()` is the proper
way to handle this.
2018-04-22 20:15:02 -07:00
Jakub Zelenka 2ef8809ef3 Make openssl_error_string test work in OpenSSL 1.1.1
It was the only failing test
2018-04-15 20:41:23 +01:00
Aron Rotteveel 9090a21de0 reset imap_errorstack after outputting it
This happens in `imap_errors` as well, but seems to be omitted in the `shutdown` routine.
2018-04-14 13:04:40 +02:00
Jakub Zelenka 4e407b8777 [ci skip] Update NEWS with fpm acl fix 2018-04-13 20:17:24 +01:00
Michał Górny 4ea7f3467d Support using acl_* functions on *BSD
The *BSD systems have ACL routines built-in in libc rather than
in separate libacl. Update the configure check to detect that and enable
ACL support without adding 'acl' library.
2018-04-13 19:48:13 +01:00
Gabriel Caruso bb79e5764b Fix arginfo for array_replace(_recursive) and array_merge(_recursive) 2018-04-13 15:27:16 +02:00
Anatol Belski 5fe6d2134b Fix memory leak 2018-04-12 18:25:27 +02:00
Joe Watkins 9322b43d65 bump versions 2018-04-11 08:08:52 +02:00
George Wang 5b529bbc94 Updated LiteSpeed SAPI to 7.1 . 2018-04-10 16:48:04 -04:00
Xinchen Hui 8cfb648761 Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite) 2018-04-10 16:32:08 +08:00
Anatol Belski 09d7ffabcd Group common flags 2018-04-05 16:44:12 +02:00
Anatol Belski ed5aabe8b7 Rename var 2018-04-05 14:52:40 +02:00
George Wang 37e1d7c776 [BUGFIX] allow php_admin_value to override value set in php.ini without restriction, like adding an extra directory to open_basedir. 2018-04-03 11:46:24 -04:00
Anatol Belski 821f13fd79 Sync fix for bug #72498 for 32-bit 2018-04-03 17:24:13 +02:00
Anatol Belski c3fa86867b [ci skip] Update NEWS 2018-04-03 11:28:19 +02:00
Anatol Belski 2bd299f731 Fix shared ext/intl compilation 2018-04-03 10:42:14 +02:00
Christoph M. Becker 9c37d95627 Fix #52070: imagedashedline() - dashed line sometimes is not visible
We finally remove the inadvertent leftover from the synchronization
with GD 2.0.12.
2018-03-30 19:22:23 +02:00
Jakub Zelenka 2688023c7f Update NEWS with FPM fixes 2018-03-30 17:56:17 +01:00
Jakub Zelenka 0be5b9e6b0 Prevent modifying of getenv result 2018-03-30 17:20:19 +01:00
Jacob Hipps 008eb1461c 68440: ensure backwards compatibility with FPM_SOCKETS var; fix sockname size 2018-03-30 17:20:19 +01:00
Jacob Hipps 77bf9245d2 Fix bug #68440: [sapi/fpm] use multiple FPM_SOCKETS env vars to prevent hitting MAX_ARG_STRLEN with a large number of pools 2018-03-30 17:20:19 +01:00
Anatol Belski 8b104d7893 Fix clang build, ref buf #76153
Clang only allows -std=c++11 for C++ source.
2018-03-30 14:14:35 +02:00
Anatol Belski e324f82d3c Update binary SDK version for AppVeyor 2018-03-29 16:59:42 +02:00
Anatol Belski 398f56dbc8 Adjust tests for ICU 61.1 compatibility 2018-03-29 14:12:19 +02:00
Ferenc Kovacs c8e55a6fd4 Merge branch 'PHP-7.0' into PHP-7.1 2018-03-28 23:19:30 +02:00
Ferenc Kovacs 01f42b836c Merge branch 'PHP-5.6' into PHP-7.0 2018-03-28 23:17:59 +02:00
Ferenc Kovacs cb981e39c2 [ci skip] 5.6.36 will be next 2018-03-28 23:14:30 +02:00
Anatol Belski 710284cbc4 Fixed bug #76153 Intl compilation fails with icu4c 61.1
Additionally, ICU >= 59.1 requires C++11, so add the flags. Some
refactoring is needed to comply with the latest recommended build
options, such as automatic icu namespace addition.
2018-03-28 18:01:44 +02:00
TATAR Balazs Janos ac4d9fd055 Fixed #75996: Add the right urls to the header of mt_rand. 2018-03-27 22:09:08 +02:00
Gabriel Caruso 63934ea71e Fix #76131 some arginfo params are different from the documentation 2018-03-27 21:56:46 +02:00
Anatol Belski cdf72523f3 Update libs_versions.txt 2018-03-27 19:44:17 +02:00
Anatol Belski 6229e42ae5 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Fix release date
2018-03-27 16:03:54 +02:00
Anatol Belski 1e4273d881 [ci skip] Fix release date 2018-03-27 16:02:19 +02:00
Anatol Belski 04c0497ed7 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.30 next
2018-03-27 15:02:07 +02:00
Anatol Belski 48f835efbf 7.0.30 next 2018-03-27 15:00:54 +02:00
Anatol Belski 631ed7288c [ci skip] Update NEWS 2018-03-27 14:27:44 +02:00
Anatol Belski ad148c5ac2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-27 14:26:36 +02:00
Anatol Belski ca51458081 [ci skip] Update NEWS 2018-03-27 14:26:06 +02:00
Anatol Belski e2b7392b96 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  [ci skip] Update NEWS
2018-03-27 14:25:24 +02:00
Anatol Belski 2885f62816 [ci skip] Update NEWS 2018-03-27 14:24:43 +02:00
Anatol Belski 6b39c81957 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Do not set PR_SET_DUMPABLE by default
  Do not set PR_SET_DUMPABLE by default
2018-03-27 14:20:10 +02:00
Jakub Zelenka 276d19feaa Do not set PR_SET_DUMPABLE by default 2018-03-27 14:19:36 +02:00
Anatol Belski eac822e897 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Do not set PR_SET_DUMPABLE by default
2018-03-27 14:19:22 +02:00
Jakub Zelenka d20bebfe13 Do not set PR_SET_DUMPABLE by default 2018-03-27 14:18:01 +02:00
Anatol Belski 5b2c30d7e6 Fix phpize build when DEFINE() is involved 2018-03-26 13:33:55 +02:00
Anatol Belski 84f565ec71 Sync version for VC++ 15.7 2018-03-25 12:59:15 +02:00
Derick Rethans 869ca9b733 Updated to version 2018.4 (2018d) 2018-03-24 11:26:15 +00:00
Anatol Belski 6c30014600 Update SDK version for AppVeyor 2018-03-21 13:15:29 +01:00
Christoph M. Becker 4072b27870 Fix #76113: mbstring does not build with Oniguruma 6.8.1
As of Oniguruma 6.8.1, the regex structure has been moved from the
public `oniguruma.h` to the private `regint.h`.  Thus, it is no longer
possible to directly access the struct's members, and actually, there
is no need to, since there are respective accessor functions available
at least of 2.3.1.
2018-03-20 16:42:28 +01:00
Christoph M. Becker 47461368ca Fix #75944: Wrong cp1251 detection
`\xFF` is a valid character of CP-1251.
2018-03-19 14:24:27 +01:00
Stanislav Malyshev f46da1da7d Set tests exit status by defaul - also in other instance. 2018-03-19 01:17:14 -07:00
Stanislav Malyshev f19c94b555 Set tests exit status by default.
Use REPORT_EXIT_STATUS=0 or REPORT_EXIT_STATUS=no to prevent it.

Based on discussion in https://www.mail-archive.com/internals@lists.php.net/msg94141.html
2018-03-18 15:04:50 -07:00
Anatol Belski dfc07f038b Sync test with newer output
Czech Republic vs. newer Czechia
2018-03-16 18:54:55 +01:00
Anatol Belski efd0e7222b Reduce var scope 2018-03-14 22:59:54 +01:00
Anatol Belski 7bcd55c264 Fix stack use after scope 2018-03-14 22:21:43 +01:00
Anatol Belski 77c202a2e6 Upgrade binary SDK version for AppVeyor 2018-03-14 11:59:37 +01:00
Dmitry Stogov b6a41ad5ba Fixed use-after-free 2018-03-14 09:11:48 +03:00
Joe Watkins d2b47e8065 bump versions 2018-03-14 05:58:42 +01:00
Christoph M. Becker 25f324fad7 Fix #74139: mail.add_x_header default inconsistent with docs [ci skip]
mail.add_x_header actually defaults to `Off`, so we should use this
default in the provided `php.ini`s.
2018-03-13 23:54:42 +01:00
Christoph M. Becker cab354debd Fix #76088: ODBC functions are not available by default on Windows 2018-03-13 14:30:43 +01:00
Dmitry Stogov 0643c7ab4d Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
This reverts commit 44ba557de5.
2018-03-13 11:03:45 +03:00
Dmitry Stogov 44ba557de5 More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074). 2018-03-13 10:44:53 +03:00
Xinchen Hui 998a2ddc37 Forgot NEWS 2018-03-13 13:00:47 +08:00
Xinchen Hui 4ee9098514 Fixed bug #76085 (Segmentation fault in buildFromIterator when directory name contains a \n) 2018-03-13 12:51:26 +08:00
Anatol Belski 4cd64aad8a Fix heap use after free
The value may only be used until PGresult was destroyed, thus it needs
to be copied.
2018-03-12 20:57:21 +01:00
Anatol Belski eaa5b1f911 Use string literal as format 2018-03-12 15:17:08 +01:00
Anatol Belski 4dd1be2079 Provide core includes for the resource compiler by default 2018-03-12 14:14:34 +01:00
Dmitry Stogov f31c4d5398 Replaced usafe reference from SHM to process memory with SHM to SHM reference 2018-03-12 11:18:12 +03:00
Christoph M. Becker 01ea314e8c Fix #62545: wrong unicode mapping in some charsets
Undefined characters are best mapped to Unicode REPLACEMENT characters.
2018-03-11 17:38:28 +01:00
Anatol Belski 76fc73cbfc [ci skip] Update NEWS 2018-03-10 20:07:23 +01:00
Bob Weinand 9c6df8a238 Fix bug #76074 (opcache corrupts variable in for-loop) 2018-03-10 15:20:45 +01:00
Anatol Belski 8417a23973 Fixed bug #76068 parse_ini_string fails to parse "[foo]\nbar=1|>baz" with segfault 2018-03-10 11:18:21 +01:00
Christoph M. Becker f1b358c9a9 Fix #73957: signed integer conversion in imagescale()
We must not pass values to `gdImageScale()` which cannot be represented
by an `unsigned int`.  Instead we return FALSE, according to what we
already did for negative integers.
2018-03-10 00:17:09 +01:00
Anatol Belski 34b9f9dedf Disable PGO for phpdbg
For executable files, the linker seems to have issues dealing with the
empty profiling database. As PGO is unlikely to bring any benefit in
this case, the easiest is to disable it.
2018-03-08 11:48:37 +01:00
Anatol Belski 00bfc6eb49 Exclude /Qspectre for clang analyzer 2018-03-07 12:34:16 +01:00
Anatol Belski 281e2f8207 Guard platform dependent code 2018-03-07 12:28:29 +01:00
Anatol Belski 8a57fcdfbd [ci skip] Update NEWS 2018-03-06 22:06:52 +01:00
Dmitry Stogov 50949c9332 Replaced usafe reference from SHM to process memory with SHM to SHM reference. 2018-03-06 02:43:26 +03:00
Dmitry Stogov b711a96acb Don't keep HashTable.pDestructor in SHM and always set it into ZVAL_PTR_DTOR in zval_array_dup().
Keeping pointer to a function in SHM is not safe because of ASLR.
2018-03-06 00:56:16 +03:00
Dmitry Stogov 033ce8f28c Merge branch 'PHP-7.1' of git.php.net:php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:php-src:
  Fixed bug #76044 'date: illegal option -- -' in ./configure on FreeBSD
2018-03-06 00:47:40 +03:00
Dmitry Stogov a83581e223 Fixed invalid destructor 2018-03-06 00:46:19 +03:00
Anatol Belski 60ac255897 Fixed bug #76044 'date: illegal option -- -' in ./configure on FreeBSD 2018-03-05 22:35:58 +01:00
Dmitry Stogov 87553b0730 Fixed invalid destructor 2018-03-05 23:33:08 +03:00
Nikita Popov fd5bd37ab1 Revert "Fixed bug #75961 (Strange references behavior)"
This reverts commit 94e9d0a2ae.

This code needs to be mindful about modifications to the array
happening during callback execution. It was written in a way that
only accessed the reference, which is guaranteed not to move. The
changed implementation instead accesses the array slot, leading to
use-after-free.

Run ext/standard/tests/array/bug61967.phpt under valgrind to see
the issue.
2018-03-05 15:32:21 +01:00
Anatol Belski 27a603e811 Include username into the file cache path 2018-03-05 15:16:55 +01:00
Dmitry Stogov 350082ed71 Fixed "opcache.file_cache_fallback" mode.
It's not safe to change value of ZCG(accel_directives).file_cache_only, becuse it might be altered by INI subsystem.
Use global variable instead.
2018-03-05 16:01:43 +03:00
Joe Watkins a827aefe47 fix news date 2018-02-28 12:10:58 +01:00
Xinchen Hui d5c171311d Fixed bug #76025 (Segfault while throwing exception in error_handler). 2018-02-28 18:06:37 +08:00
George Wang d4387fca0a revert last change, for PHP7 no need to do strlen() + 1 for hash look up. 2018-02-27 23:31:43 -05:00
George Wang 2b033607f3 [BUGFIX] calling php_ini_activate_per_host_config() with correct name length. 2018-02-27 23:18:51 -05:00
Bob Weinand 3f32bd9f43 Fix pcntl build on mac
Apparently on mac WIF*(x) macros resolve to (*(int*)&x) (_W_INT macro in sys/wait.h), forcing the value to be a lvalue
2018-02-28 02:13:28 +01:00
Ferenc Kovacs b53e547d85 Merge branch 'PHP-7.0' into PHP-7.1 2018-02-28 00:02:48 +01:00
Ferenc Kovacs c28a6253e5 Merge branch 'PHP-5.6' into PHP-7.0 2018-02-28 00:00:12 +01:00
Ferenc Kovacs 3db7427b71 5.6.35 is next 2018-02-27 23:57:06 +01:00
George Wang 97ff815cbb release LiteSpeed SAPI 7.0.
add CRIU support.
add support for [PATH=] and [HOST=] sections in php.ini
2018-02-27 13:54:28 -05:00
Anatol Belski ea4ba9d008 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.29 next
2018-02-27 11:50:22 +01:00
Anatol Belski c61b56ed00 7.0.29 next 2018-02-27 11:48:49 +01:00
Anatol Belski f6356b435a [ci skip] Update NEWS 2018-02-27 11:37:24 +01:00
Anatol Belski 9e1113dee1 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-02-27 11:34:13 +01:00
Anatol Belski fed294d2a8 [ci skip] Update NEWS 2018-02-27 11:33:40 +01:00
Anatol Belski 1e0499b095 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  [ci skip] Update NEWS
2018-02-27 11:32:26 +01:00
Anatol Belski 4698a412bf [ci skip] Update NEWS 2018-02-27 11:31:37 +01:00
Stanislav Malyshev a6f7760d57 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #75981: prevent reading beyond buffer start
2018-02-26 22:26:50 -08:00
Stanislav Malyshev dde7a05978 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #75981: prevent reading beyond buffer start
2018-02-26 22:26:26 -08:00
Stanislav Malyshev 523f230c83 Fix bug #75981: prevent reading beyond buffer start 2018-02-26 22:25:51 -08:00
Christoph M. Becker 6e300bdeae [ci skip] Update NEWS 2018-02-24 23:37:43 +01:00
Gabriel Caruso a358211a75 Fix imagesetinterpolation arginfo
imagesetinterpolation only requires one parameter.
2018-02-24 11:30:24 +01:00
Stanislav Malyshev ae1f18b69c Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] Set FPM maintainership
2018-02-23 17:57:50 -08:00
Stanislav Malyshev 09a19e778b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  [ci skip] Set FPM maintainership
2018-02-23 17:57:26 -08:00
Stanislav Malyshev 1f4b057b63 [ci skip] Set FPM maintainership
As per http://news.php.net/php.internals/101897, Jakub is officially
annointed as new FPM maintainer.
2018-02-23 16:43:10 -08:00
Sam Ding 78c1ef2adb Fix #75873: pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)
Cf. https://github.com/php/php-src/pull/3141.
2018-02-23 23:50:36 +01:00
Gabriel Caruso 0b8cfa6c78 Fix some arginfos
* all arguments for ftp_pasv are required
* $varname for getenv function isn't required anymore
* fsockopen and pfsockopen only require $hostname
* strtok can work with only one parameter
* strpbrk needs two parameters to work
* required parameters and add some parameters in openssl_* functions
2018-02-23 11:27:14 +01:00
Stanislav Malyshev 36239fee36 Fix bug #75981: prevent reading beyond buffer start 2018-02-20 15:44:00 -08:00
Johannes Schlüter 42952a756e Merge branch 'PHP-7.0' into PHP-7.1 2018-02-20 23:32:05 +01:00
Johannes Schlüter 73cd5fca2c Fix NEWS 2018-02-20 23:31:30 +01:00
Johannes Schlüter 74ed42c169 Fix a memleak with mysqlnd and SSL 2018-02-20 23:28:23 +01:00
Johannes Schlüter e3cf72b829 Merge branch 'PHP-7.0' into PHP-7.1 2018-02-20 23:20:02 +01:00
Johannes Schlüter 8f3c29aee1 Fix negotiaton of MySQL auth plugin 2018-02-20 23:13:03 +01:00
Christoph M. Becker 656381745a [ci skip] Sort recent NEWS entries alphabetically 2018-02-20 16:31:56 +01:00
Gabriel Caruso 276b57316c Fix openssl_* arginfos
openssl_pkcs12_export and openssl_x509_parse had wrong arginfos
2018-02-20 16:23:42 +01:00
Anatol Belski c28b03a8e7 Update binary tools SDK branch for AppVeyor 2018-02-20 15:40:10 +01:00
Anatol Belski ef04bc4a51 dos2unix 2018-02-20 07:59:34 +01:00
Nikita Popov 7b3a2d16aa Fix incorrect printf modifiers 2018-02-19 21:44:36 +01:00
Anatol Belski 08b4f3c745 Use more jobs with cppcheck 2018-02-19 11:27:03 +01:00
Anatol Belski a468752e53 Remove duplicated assignment 2018-02-17 13:10:59 +01:00
Xinchen Hui 94e9d0a2ae Fixed bug #75961 (Strange references behavior) 2018-02-17 16:33:15 +08:00
Nikita Popov 372bf8a923 Fixed bug #75969
Move NOP stripping out of zend_optimize_block: NOP stripping may
move instructions, which may invalidate a Tsource shared across
an extended basic block.
2018-02-16 20:30:03 +01:00
Anatol Belski da0ed5cdb1 Wrap var depending on conditional compilation 2018-02-16 13:40:44 +01:00
Mitch Hagstrand da5db1c9b2 Fixed print_const_table function and zval types in ____printzv_contents
1. Fixed print_const_table to work in ZE3
2. Removed ____print_const_table to use more generic ____print_ht
3. Fixed up zval types in ____printzv_contents
2018-02-15 08:57:32 +01:00
Joe 1f0ea7fa4d bump versions 2018-02-13 20:24:34 +01:00
jhdxr 070211b3e3 Fixed bug #68406 calling var_dump on a DateTimeZone object modifies it 2018-02-12 09:17:21 +01:00
Gabriel Caruso f706937120 Fix #75857: Timezone gets truncated when formatted
Use sizeof buffer instead of hard-coded lenghts
2018-02-11 03:14:41 +01:00
Pedro Lacerda fddd7e38bd Fixed bug #75928 2018-02-10 19:29:47 +01:00
Mitch Hagstrand 01f7998db0 Enhancements and fixes for print_pi in gdbinit
1) Outputs the default value and the offset of a property
2) Fixed output of property flags
2018-02-10 19:18:39 +01:00
Pedro Magalhães 5673c641dc Fixes bug #75871 Use pkg-config for libxml2 if available 2018-02-08 10:50:22 +01:00
David Zuelke 8000334538 Fixed bug #49876 lib path on 64bit distros 2018-02-08 10:41:46 +01:00
Bishop Bettini d806d0315f Fixed bug #65414 2018-02-08 10:32:08 +01:00
CHU Zhaowei 01eafceea1 Fixed bug #74519 strange behavior of AppendIterator 2018-02-08 10:16:24 +01:00
CHU Zhaowei 495508eceb fix #74519 strange behavior of AppendIterator 2018-02-08 10:15:09 +01:00
Anatol Belski 1368aea352 Finer conditions, so /Qspectre is already usable with latest vc15 2018-02-05 10:38:06 +01:00
Michael Wallner 42f2ae0572 fix bug #75916 DNS_CAA record results contain garbage
It is assumed that DNS_CAA record values are zero terminated,
while its length is defined as (RDATA_LENGTH - tag_length - 2).
2018-02-05 09:04:07 +01:00
Chris Lamb a694433bff Fix SOURCE_DATE_EPOCH to not vary on timezones 2018-02-02 22:31:17 +01:00
Anatol Belski b1ee215c69 Switch to the new PHP SDK version on AppVeyor 2018-02-02 14:06:53 +01:00
Anatol Belski 2ae46f8eb6 [ci skip] Update NEWS 2018-02-01 15:25:15 +01:00
Anatol Belski bced074124 Fix race conditions with Apache vhost vs. per dir config
If the same php_value/php_flag is present in httpd.conf and .htaccess,
the key is potentially shared between threads. Unfortunately we can't
intern these keys using the current mechanism, because the MPM is setup
before the SAPI module setup is even started. A more elegant way were
to implement a kind of string pool for the thread safe Apache SAPI
config directives with the mechanism similar to what is done for the
SAPI setup now, but doing a separate management.

(cherry picked from commit 73eb5a78b9)
2018-02-01 15:24:31 +01:00
Jakub Zelenka fe2ac52d50 Use correct certs for SNI server tests 2018-01-30 19:58:40 +00:00
Thomas Punt fb128f6512 Use the correct freeing function 2018-01-29 11:13:10 +00:00
Christoph M. Becker a882f95e39 Revert "Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature"
This reverts commit 4bd7658e1b.

To avoid the BC break we apply the fix to master only.
2018-01-27 13:11:30 +01:00
Christoph M. Becker 4bd7658e1b Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature 2018-01-27 12:33:36 +01:00
Philip Prindeville aad76a9b79 Be consistent in clearing out in php_iconv_string() 2018-01-26 22:28:27 +01:00
Derick Rethans f80e59a566 Updated to version 2018.3 (2018c) 2018-01-24 13:57:06 +00:00
Sara Golemon 3ffdf6c088 Fix alignment of PG struct cause by ignore_user_abort big endian fix 2018-01-23 11:06:34 -05:00
Sara Golemon e954bafc28 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Use Z_EXPECTED_LONG to initialize FAST_ZPP parsing loop
2018-01-23 09:24:40 -05:00
Sara Golemon e88e83d3e5 Use Z_EXPECTED_LONG to initialize FAST_ZPP parsing loop 2018-01-23 09:24:10 -05:00
Sara Golemon d46d53a7bc BigEndian fix for ignore_user_abort. Use zend_bool to match OnUpdateBool 2018-01-23 08:58:19 -05:00
Anatol Belski 594a4da3e5 [ci skip] Update NEWS 2018-01-22 19:14:24 +01:00
Anatol Belski 2384ade53c Fixed bug #73725 Unable to retrieve value of varchar(max) type 2018-01-22 17:02:54 +01:00
Xinchen Hui fb205020ce Fixed #75838 (Memory leak in pg_escape_bytea()) 2018-01-18 10:53:23 +08:00
Anatol Belski 043d53c789 Add switches for Spectre variant 1 mitigation 2018-01-17 14:33:08 +01:00
Anatol Belski ea56fc840e 7.0.15 next 2018-01-16 19:47:35 +01:00
Anatol Belski 47941976b7 [ci skip] Update NEWS 2018-01-15 17:46:34 +01:00
Anatol Belski 2d4fb56c1d Allow pecl like usage in ext/phar, closes #2955 2018-01-15 14:23:46 +01:00
Nikita Popov 2023346973 Fixed bug #75079 2018-01-15 12:15:40 +01:00
Anatol Belski 089a3213ae Sync for upcoming vc++ 15.6 version raise 2018-01-14 16:38:36 +01:00
Anatol Belski 05c4f72ab6 [ci skip] Update NEWS 2018-01-13 14:48:48 +01:00
Anatol Belski 2503a27ae0 Fix invalid free 2018-01-13 12:32:22 +01:00
Nikita Popov 8c07170ddb Fix generator GC if yield from parent chain does not reach root
Parents may be unlinked while another generator sharing part of the
chain is running. As such, we cannot assume that the parent chain
goes all the way to the root. Instead walk backwards from root to
leaf, like we also do during destruction.
2018-01-13 11:04:26 +01:00
Nikita Popov cab0a814bd Try to fix yield from GC issues
Make sure we always update root and parent references before
releasing the old root object.

This fixes some crashes under aggressive cycle collection, so
hopefully this will also fix bug #75351.
2018-01-12 22:51:03 +01:00
Nikita Popov 420d11e8ca Fixed bug #75396
Do not run finally blocks in generators on unclean shutdown (e.g.
caused by exit). This is consistent with how finally blocks outside
of generators behave.
2018-01-12 21:27:23 +01:00
Nikita Popov 9e98e99a3a Revert "Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function)"
This reverts commit 816758eda2.

After this commit relative router scripts were resolved against
docroot rather than shell cwd.
2018-01-12 18:11:12 +01:00
Anatol Belski cecf734dc3 Fixed bug #75774 imap_append HeapCorruction 2018-01-12 17:13:18 +01:00
Anatol Belski 9d2662ea4b Unify EOL 2018-01-12 12:20:31 +01:00
Anatol Belski 4bb46c133d Extend test, latest cURL ships also with smb and smbs 2018-01-12 12:17:57 +01:00
Anatol Belski 83a77383b9 Fix test for libtidy 5.6.0
libtidy 5.6.0 remove the language option from the library, it is only
supported on cli. Prior to that, this option was not used in the
library. Thus, exclude the option presence from test.
2018-01-11 14:29:49 +01:00
Gabriel Caruso a843a86e6f Fixed bug #75799 (arg of get_defined_functions is optional) 2018-01-11 13:10:47 +01:00
Nikita Popov fd30c59e04 Fixed bug #75786
SEND_UNPACK on iterators was duplicating references in-place,
which effectively leaks the original value and causes an off-by-one
refcount on the duplicated value.

Replace this with a deref, as an actual duplication is not even
needed in this case.
2018-01-09 20:20:31 +01:00
Nikita Popov f208187773 Backport narrowing fix to 7.1
This is a cherry-pick of 8a4532319d.
2018-01-09 18:41:46 +01:00
Xinchen Hui 6da44fefb2 Fixed bug #75781 (substr_count incorrect result) 2018-01-09 16:21:02 +08:00
Anatol Belski 1448f0912f Fix tests 2018-01-04 16:08:41 +01:00
Anatol Belski 904e0d7212 Skip on Travis-CI
The current doc states max ram for a test VM would be 7.5G, the
currently used container image has even less. This skip should be
revisited, as the available memory amount shifts. The way of checking
/proc/meminfo doesn't work reliably on containers at least, thus
skipping explicitly on Travis-CI makes sense.
2018-01-03 18:32:33 +01:00
Anatol Belski 2508d5051f Extend skip section
The test requires some untrivial amount of RAM. Added a simple check for
the system free RAM to avoid false positive fails.
2018-01-03 16:54:14 +01:00
Remi Collet ce0ab999e5 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  2018
2018-01-03 15:13:03 +01:00
Remi Collet 27347613fe Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  2018
2018-01-03 15:12:56 +01:00
Remi Collet 67ec3ce1ec 2018 2018-01-03 15:12:39 +01:00
Remi Collet 618c3b765d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  2018
2018-01-03 15:07:18 +01:00
Remi Collet d6e4132ca6 missing changelog entries 2018-01-03 15:07:09 +01:00
Remi Collet 1aa8e42036 2018 2018-01-03 15:04:48 +01:00
Xinchen Hui 471aa5d50d Merge branch 'PHP-7.1-copyright' of https://github.com/kaplanlior/php-src into PHP-7.1
* 'PHP-7.1-copyright' of https://github.com/kaplanlior/php-src:
  Happy new year (Update copyright to 2018)
2018-01-03 15:59:05 +08:00
Ferenc Kovacs ca2619ff9a Merge branch 'PHP-7.0' into PHP-7.1 2018-01-03 00:34:24 +01:00
Ferenc Kovacs 4888495178 Merge branch 'PHP-5.6' into PHP-7.0 2018-01-03 00:33:20 +01:00
Ferenc Kovacs 028507f1f6 php 5.6.34 is next 2018-01-03 00:30:58 +01:00
Lior Kaplan fbfdd1e1c4 Happy new year (Update copyright to 2018) 2018-01-02 23:42:29 +02:00
Anatol Belski 463fd04758 Skip test for pdo_odbc
The error messages are too discrepant and '-' is otherwise not allowed
by the parser.
2018-01-02 12:12:46 +01:00
Anatol Belski 1a9d09784e Fix test for pdo_odbc
SqlServer requires parentheses to the TOP argument.
2018-01-02 11:34:57 +01:00
Stanislav Malyshev c0f0a0a862 Fix some int/long confusion issues in GMP
mpz_setbit seems to have limit of INT_MAX * GMP_NUMB_BITS on
the number of bits supported, and will abort() if that limit
is exceeded.
2018-01-02 00:12:24 -08:00
Anatol Belski 2f56142034 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2018-01-02 07:49:53 +01:00
Anatol Belski 5d8e298ebf [ci skip] update NEWS 2018-01-02 07:49:09 +01:00
Xinchen Hui b65abecfdf regenerated with newer re2c 2018-01-02 13:54:29 +08:00
Xinchen Hui bd23bcec3e Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-02 13:49:58 +08:00
Xinchen Hui ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Stanislav Malyshev 92c19f8a26 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-01 20:52:34 -08:00
Stanislav Malyshev 459ab2eef4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-01 20:28:01 -08:00
Stanislav Malyshev 2881199c80 Update NEWS 2018-01-01 19:53:00 -08:00
Christoph M. Becker 8d6e958867 Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
Due to a signedness confusion in `GetCode_` a corrupt GIF file can
trigger an infinite loop.  Furthermore we make sure that a GIF without
any palette entries is treated as invalid *after* open palette entries
have been removed.
2018-01-01 19:51:26 -08:00
Stanislav Malyshev 73ca9b3773 Fix bug #74782: remove file name from output to avoid XSS 2018-01-01 19:51:02 -08:00
Nikita Popov d534d59bd8 Fixed bug #75502
The string keys were not duplicated into persistent memory in this
case.
2018-01-01 21:29:24 +01:00
Jakub Zelenka 2fd0b994dd Use seialize_precision instead of precision in all json tests 2017-12-30 17:34:01 +00:00
Dmitry Stogov 60b2d67828 Fixed bug #75720 (File cache not populated after SHM runs full) 2017-12-28 14:08:12 +03:00
Dmitry Stogov 7c96e974d9 Fixed reference-counting 2017-12-28 11:19:52 +03:00
Xinchen Hui dc3822c343 Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry) 2017-12-27 12:51:50 +08:00
Anatol Belski 9cafc33ba3 Revert to Postgres 9.6, AppVeyor seems to have issues with 10 2017-12-22 23:38:04 +01:00
Anatol Belski 7b47b7297d Update tool path 2017-12-22 23:25:39 +01:00
Anatol Belski 620b9b369d Switch AppVeyor to PostgreSQL 10 for tests 2017-12-22 23:13:28 +01:00
Anatol Belski 118bd77793 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-22 18:59:30 +01:00
Anatol Belski e19c71e3d5 [ci skip] update NEWS 2017-12-22 18:22:33 +01:00
Dmitry Stogov da61c7a2a4 Fixed bug #75579 (Interned strings buffer overflow may cause crash)
(cherry picked from commit 37bf8bdc14)
2017-12-22 18:22:08 +01:00
Nikita Popov f14b6f4920 Fixed bug #73209 2017-12-22 18:22:00 +01:00
Nikita Popov ec142f2c86 Fixed bug #75242 2017-12-22 18:11:38 +01:00
Nikita Popov ccb113c3e5 Fixed bug #75717 2017-12-22 18:01:03 +01:00
Anton Artamonov 0246373788 Fixed bug #70469
Don't generate an E_ERROR if we've already thrown an exception.
This interacts badly with error_get_last() checks.
2017-12-22 17:47:54 +01:00
Anatol Belski 77b0e2fd3f Fix wrong return value for fail case in set attribute handler in pdo_odbc 2017-12-22 16:41:46 +01:00
Anatol Belski d7cc1ce58f pdo_odbc has no driver API for quoting, skip the test 2017-12-22 16:22:12 +01:00
Dmitry Stogov f2c22d11cc Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-21 23:35:23 +03:00
Dmitry Stogov 37bf8bdc14 Fixed bug #75579 (Interned strings buffer overflow may cause crash) 2017-12-21 23:34:21 +03:00
Anatol Belski cc5a0da006 Ensure expected items delivered in same order 2017-12-21 18:37:23 +01:00
Evgeny Kalashnikov a46f952c0f Fix segfault. Compile param --with-tsrm-pth=yes 2017-12-21 13:48:10 +01:00
Anatol Belski c2308d5d7c Templatize driver name in the expected string 2017-12-20 18:46:56 +01:00
David Carlier 14393b5fb3 Move includes in ps_title.c
The HAVE_UNISTD_H check has to be after including config.h.

Also include sys/types.h, which may be needed for setproctitle.
2017-12-16 17:20:05 +01:00
Jelle van der Waa 8a179fa02b Fix bug #69727: Support SOURCE_DATE_EPOCH for Build Date
When checking for reproducible builds php is build twice, once with the
current date and once with a date in the future. To keep the build date
supported and reproducible builds possible, SOURCE_DATE_EPOCH is
introduced which can be set to the same epoch value for both builds.
2017-12-15 22:03:01 +01:00
Anatol Belski f14f3ed7b4 [ci skip] update NEWS 2017-12-15 16:25:36 +01:00
Anatol Belski acf1472ffd Fixed bug #75671 pg_version() crashes when called on a connection to cockroach 2017-12-15 15:33:14 +01:00
Anatol Belski fd81881e5e [ci skip] update NEWS 2017-12-14 18:17:19 +01:00
Anatol Belski 4c0af1fbd4 Fixed bug #75679 Path 260 character problem 2017-12-14 16:16:50 +01:00
Levi Morrison 580bae4a2c Fix copy-and-paste bugs 2017-12-13 21:25:00 +01:00
Anatol Belski f749448fc6 Sync known vc++ versions in 7.1 2017-12-11 14:13:38 +01:00
Michael Heimpold 1b10e6318b ext/imap/config.m4: fix ac_cv_u8t_decompose check
Once upon the time, commit c58f63a38a
changed the check from U8T_CANONICAL to U8T_DECOMPOSE. However,
the autoconf cache id was not renamed.

Sometimes it is desirable to preseed the autoconf variables, e.g. when
cross-compiling to avoid the tests running on the host system. In this
case it's confusing when the cache id does not match the variable to
set, so let's adjust it.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2017-12-09 19:05:45 +01:00
Anatol Belski 1b29dc0b1c Fix yet one data race in PCRE
PCRE 8.x initializes the pattern compiler on demand during the first
pcre_study call. It could be worse, but since the compiled patterns are
cached, the locking impact is minimal. PCRE 10.x always compiles the
pattern and thread sanitizer doesn't complain about the compiler
initialization, thus the newer PCRE version seems to be unafected.
2017-12-06 15:59:21 +01:00
Anatol Belski 092fd44474 Fix use after free revealed by phpdbg 2017-12-05 18:32:32 +01:00
Anatol Belski 31b2b14a71 Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:38:18 +01:00
krakjoe 71a460ba7e bump versions 2017-12-05 14:18:48 +01:00
Anatol Belski 3110bc10f5 [ci skip] update NEWS 2017-12-05 08:59:33 +01:00
Anatol Belski be50c2fa85 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  7.0.28 is next
2017-12-05 08:52:14 +01:00
Anatol Belski 484c11a541 7.0.28 is next 2017-12-05 08:51:30 +01:00
Anatol Belski 59c36a7e17 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-12-05 08:42:02 +01:00
Anatol Belski dab205cb9a [ci skip] update NEWS 2017-12-05 08:41:24 +01:00
Dmitry Stogov 5934bff913 Fixed bug #75608 ("Narrowing occurred during type inference" error) 2017-12-04 17:22:06 +03:00
Anatol Belski 1da28c55c4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Use dtor unconditionally in error case
2017-12-04 14:16:23 +01:00
Anatol Belski 0eb262eacb Use dtor unconditionally in error case 2017-12-04 14:15:42 +01:00
Anatol Belski 4201f5bcfd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
2017-12-04 11:52:09 +01:00
Xinchen Hui d4dee4a614 Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
(cherry picked from commit 3b9ba7b6bd)
2017-12-04 11:50:44 +01:00
Anatol Belski aaf00ae0a9 Fix compat with libcurl 7.56.1+ and file:// wrapper
Since 7.52.x libcurl file:// scheme was implemented in a way described
in https://tools.ietf.org/html/draft-ietf-appsawg-file-scheme-16 . The
draft is still not accepted and the change contained a BC breach with
win32 path handling. It was reported upstream and 7.52.x fixed it, but
the BC breaching behavior was reintroduced in 7.56.1. Thus, it is better
to handle this on the PHP side.
2017-12-03 12:23:25 +01:00
Nikita Popov cbe60003f1 Merge branch 'PHP-7.0' into PHP-7.1 2017-12-02 18:11:03 +01:00
Andy Postnikov d6d4f2a9b3 Fix ZEND_SIGNED_MULTIPLY_LONG for AArch64
Register operands are required in this context.

This is a backport of 8c8679207a
to PHP 7.0+. The current code caused incorrect behavior on AArch64
when compiling with clang.
2017-12-02 18:10:17 +01:00
Anatol Belski ffd94f9bf8 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Consider Xdebug for tmi ini generation, too
2017-12-01 16:02:38 +01:00
Anatol Belski 958fdc997c Consider Xdebug for tmi ini generation, too 2017-12-01 16:01:34 +01:00
Dmitry Stogov b73151845f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Set trailing zero
2017-12-01 17:00:42 +03:00
Dmitry Stogov 24d5adbd5a Set trailing zero 2017-12-01 17:00:11 +03:00
Christoph M. Becker f166ea9c09 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Define floorf if system doesn't have it (follow up for 22c48761)
2017-11-29 16:53:11 +01:00
Lior Kaplan 32e3d7b99e Define floorf if system doesn't have it (follow up for 22c48761)
floorf is checked in config.m4
2017-11-29 16:46:47 +01:00
Anatol Belski 39d1818bd3 [ci skip] update NEWS
Move entry to proper section
2017-11-29 09:30:04 +01:00
Xinchen Hui 3b9ba7b6bd Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26) 2017-11-29 14:46:21 +08:00
johnstevenson 6ed242dfc8 Fixed #73124: php_ini_scanned_files()
Additional ini files are reported using the --ini option, but not by
`php_ini_scanned_files()`, which relied on PHP_CONFIG_FILE_SCAN_DIR.
2017-11-28 23:33:48 +01:00
Anatol Belski 8b57a5bca0 Follow up on bug #75574 for FCGI side 2017-11-28 20:33:11 +01:00
Remi Collet 2873316d1d NEWS 2017-11-28 18:00:07 +01:00
Remi Collet 40f2668230 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  NEWS
  Fixed bug #64938 libxml_disable_entity_loader setting is shared between requests (FPM)
2017-11-28 17:59:36 +01:00
Remi Collet 26656684ea NEWS 2017-11-28 17:59:16 +01:00
Remi Collet 8e5b9532da Fixed bug #64938 libxml_disable_entity_loader setting is shared between requests (FPM) 2017-11-28 17:58:28 +01:00
Remi Collet 2b07102897 better fix for #75514 2017-11-28 17:42:43 +01:00
Anatol Belski cf084416dd [ci skip] update NEWS 2017-11-28 12:45:30 +01:00
Anatol Belski 578049fdb6 Fixed bug #73830 Directory does not exist. 2017-11-28 12:41:49 +01:00
Xinchen Hui ee9e32caca Update NEWs (added bug entry) 2017-11-28 13:15:54 +08:00
Anatol Belski 06202f0feb Fix allocation 2017-11-27 21:18:08 +01:00
Anatol Belski 2868ff84df Fix memory leak 2017-11-27 20:24:30 +01:00
Anatol Belski 2b7d283cc5 Fixed bug #75574 putenv does not work properly if parameter contains non-ASCII unicode character 2017-11-27 18:49:02 +01:00
Anatol Belski 34b19387c2 Fix normalized path length calculation and error handling 2017-11-27 12:32:19 +01:00
Dmitry Stogov 776bef8447 Fixed bug in type inference 2017-11-27 10:16:16 +03:00
krakjoe fee6c812c4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Check for binary_location allocation failure
2017-11-22 04:49:34 +00:00
Sebastian Ramadan 7e0feb8856 Check for binary_location allocation failure 2017-11-22 04:49:04 +00:00
krakjoe 5a7459a082 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #75409
2017-11-22 04:30:59 +00:00
Scott 269d160159 Fix bug #75409 2017-11-22 04:26:54 +00:00
Anatol Belski 3ad116b7bd [ci skip] update NEWS 2017-11-21 22:23:31 +01:00
Anatol Belski b75fd81563 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-11-21 22:22:59 +01:00
Anatol Belski 38be3c4ac4 [ci skip] update NEWS 2017-11-21 22:22:21 +01:00
Anatol Belski f5c0754f6e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:10:49 +01:00
Nester 8fdef981ef Fixed #75539 and #74183 - preg_last_error not returning error code after error 2017-11-21 20:10:18 +01:00
Remi Collet d773a92f3c Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Better fix bug #75540 Segfault with libzip 1.3.1 - only 1.3.1 is affected - fix use after free
2017-11-20 09:42:47 +01:00
Remi Collet 702ef27364 Better fix bug #75540 Segfault with libzip 1.3.1
- only 1.3.1 is affected
- fix use after free
2017-11-20 09:42:20 +01:00
Remi Collet 50a867eb07 NEWS 2017-11-20 08:51:13 +01:00
Remi Collet 0c54397879 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  NEWS
  fix bug #75540 Segfault with libzip 1.3.1
2017-11-20 08:50:51 +01:00
Remi Collet 8832c46607 NEWS 2017-11-20 08:50:33 +01:00
Remi Collet de47d4792f fix bug #75540 Segfault with libzip 1.3.1 2017-11-20 08:49:46 +01:00
Nikita Popov 092d0922ea Merge branch 'PHP-7.0' into PHP-7.1 2017-11-17 23:21:48 +01:00
Nikita Popov 0e097f2c96 Fixed bug #75535
The sizeof()s for Content-Length and Transfer-Encoding were missing
the trailing ":". Apart from being generally wrong, this no longer
verified that the header actually contains a colon, leading to the
null http_header_value being used.

Additionally, in the interest of being defensive, also make sure
that http_header_value is non-null by setting it to the end of
the header line (effectively an empty string) if there is no colon.
If the following conditions are correct, this value is not going
to be used though.
2017-11-17 23:18:05 +01:00
Anatol Belski 61f5af6e05 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Update SDK version for AppVeyor
2017-11-17 16:37:40 +01:00
Anatol Belski 1ed08f9877 Update SDK version for AppVeyor 2017-11-17 16:37:00 +01:00
DanielCiochiu dba5a798a2 Fixed #74862: Unable to clone instance when private __clone defined
Even though __clone was implemented as private and called only from
parent class, child extending class instance could not be cloned.
2017-11-15 23:00:26 +01:00
Anatol Belski c94d091889 Regenerate cp map
Add missing encoding name and don't put nameless cp
2017-11-15 11:17:30 +01:00
Anatol Belski 4615fcf24d update NEWS 2017-11-14 20:04:42 +01:00
Anatol Belski 85021602ba Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Update NEWS
  Fix bug 60471 by correctly identifying unused speculative preconnections
2017-11-14 20:03:02 +01:00
Sammy Kaye Powers a5206bc690 Update NEWS 2017-11-14 20:00:45 +01:00
Sammy Kaye Powers 3bc5c9f118 Fix bug 60471 by correctly identifying unused speculative preconnections
* Correctly identify unused speculative preconnections from browsers
  like Chrome and Firefox
* Add a new message to the debug level that is emitted when a TCP
  connection is closed without sending any request (a preconnection)
* Fix an issue where the existing debug messages were not being
  displayed even when debug mode was enabled
2017-11-14 20:00:45 +01:00
Remi Collet 3dbe8dd16f NEWS 2017-11-13 10:22:32 +01:00
Remi Collet e704e1e8c2 Fixed bug #75514 mt_rand returns value outside [$min,$max]+ on 32-bit 2017-11-13 10:21:46 +01:00
Xinchen Hui c718fd16a1 Avoid overflow 2017-11-13 11:18:56 +08:00
Xinchen Hui 1c1df0d937 Fixed bug #75511 (fread not free unused buffer) 2017-11-13 11:13:27 +08:00
Anatol Belski 0bbb545c77 [ci skip] update NEWS 2017-11-10 11:41:16 +01:00
Anatol Belski 89e4760dcc Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-11-10 11:40:47 +01:00
Anatol Belski df615f47bd [ci skip] update NEWS 2017-11-10 11:40:16 +01:00
Anatol Belski d36e793c93 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed #75384 PHP seems incompatible with OneDrive files on demand
  Fixed ext/date tests due to changes in Olson database
2017-11-08 11:54:18 +01:00
Anatol Belski c6720e2f45 Fixed #75384 PHP seems incompatible with OneDrive files on demand 2017-11-08 11:52:42 +01:00
Joe Watkins 3be6810385 bump versions 2017-11-07 15:35:14 +00:00
Derick Rethans ba9df1cff6 Fixed ext/date tests due to changes in Olson database 2017-11-07 11:34:55 +00:00
Derick Rethans ca0bcf535c Fixed ext/date tests due to changes in Olson database 2017-11-07 11:25:28 +00:00
1707 changed files with 18604 additions and 10521 deletions

No files matched your search

+1 -7
View File
@@ -8,12 +8,6 @@ branches:
- PHP-5.6
- PHP-7.0
skip_commits:
files:
- NEWS
- UPGRADING*
- README.*
clone_depth: 64
cache:
@@ -23,7 +17,7 @@ environment:
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_OBJ_DIR: c:\obj
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.0.12
PHP_BUILD_SDK_BRANCH: php-sdk-2.1.9beta1
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
#MYSQL_TEST_USER: root
+52 -41
View File
@@ -16,9 +16,11 @@ define ____executor_globals
end
set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1])
set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
set $eg_ptr = $eg
else
set $eg = executor_globals
set $cg = compiler_globals
set $eg_ptr = (zend_executor_globals*) &executor_globals
end
end
@@ -171,7 +173,7 @@ define ____printzv_contents
printf "UNDEF"
end
if $type == 1
printf "NULL"
printf "NULL"
end
if $type == 2
printf "bool: false"
@@ -179,15 +181,15 @@ define ____printzv_contents
if $type == 3
printf "bool: true"
end
if $type == 4
if $type == 4
printf "long: %ld", $zvalue->value.lval
end
if $type == 5
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
end
if $type == 5
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
printf "array: "
if ! $arg1
@@ -245,25 +247,31 @@ define ____printzv_contents
printf "const: %s", $zvalue->value.str->val
end
if $type == 12
printf "const_ast"
printf "CONSTANT_AST"
end
if $type == 13
printf "_IS_BOOL"
printf "_BOOL"
end
if $type == 14
printf "IS_CALLABLE"
printf "CALLABLE"
end
if $type == 15
printf "indirect: "
____printzv $zvalue->value.zv $arg1
end
if $type == 16
printf "string_offset"
end
if $type == 17
printf "pointer: %p", $zvalue->value.ptr
end
if $type > 17
if $type == 18
printf "ITERABLE"
end
if $type == 19
printf "VOID"
end
if $type == 20
printf "_ERROR"
end
if $type == 16 || $type > 20
printf "unknown type %d", $type
end
printf "\n"
@@ -283,38 +291,28 @@ define ____printzv
end
end
define ____print_const_table
set $ht = $arg0
set $p = $ht->pListHead
define print_global_vars
____executor_globals
set $symtable = ((HashTable *)&($eg_ptr->symbol_table))
print_ht $symtable
end
while $p != 0
set $const = (zend_constant *) $p->pData
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
if $p->nKeyLength > 0
____print_str $p->arKey $p->nKeyLength
printf " => "
else
printf "%d => ", $p->h
end
____printzv_contents &$const->value 0
set $p = $p->pListNext
end
document print_global_vars
Prints the global variables
end
define print_const_table
set $ind = 1
printf "[%p] {\n", $arg0
____print_const_table $arg0
____print_ht $arg0 4
printf "}\n"
end
document print_const_table
Dumps elements of Constants HashTable
Example: print_const_table executor_globals.zend_constants
end
define ____print_ht
set $ht = (HashTable*)$arg0
set $n = $ind
@@ -361,6 +359,10 @@ define ____print_ht
set $func = (zend_function*)$p->val.value.ptr
printf "\"%s\"\n", $func->common.function_name->val
end
if $arg1 == 4
set $const = (zend_constant *)$p->val.value.ptr
____printzv $const 1
end
end
set $i = $i + 1
end
@@ -472,9 +474,12 @@ end
define print_pi
set $pi = (zend_property_info *)$arg0
set $initial_offset = ((uint32_t)(zend_uintptr_t)(&((zend_object*)0)->properties_table[(0)]))
set $ptr_to_val = (zval*)((char*)$pi->ce->default_properties_table + $pi->offset - $initial_offset)
printf "[%p] {\n", $pi
printf " offset = %p\n", $pi->offset
printf " ce = [%p] %s\n", $pi->ce, $pi->ce->name->val
printf " flags = %d (", $pi->flags
printf " flags = 0x%x (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
else
@@ -485,7 +490,11 @@ define print_pi
printf "ZEND_ACC_PRIVATE"
else
if $pi->flags & 0x800
printf "ZEND_ACC_CHANGED"
printf "ZEND_ACC_EARLY_BINDING"
else
if $pi->flags & 0x20000
printf "ZEND_ACC_SHADOW"
end
end
end
end
@@ -493,6 +502,8 @@ define print_pi
printf ")\n"
printf " name = "
print_zstr $pi->name
printf " default value: "
printzv $ptr_to_val
printf "}\n"
end
+1
View File
@@ -274,6 +274,7 @@ sapi/fpm/fpm/php-cgi
sapi/phpdbg/phpdbg_parser.c
sapi/phpdbg/phpdbg_parser.h
sapi/phpdbg/phpdbg
sapi/phpdbg/phpdbg.1
scripts/php-config
scripts/phpize
scripts/man1/*.1
+3 -1
View File
@@ -1,6 +1,6 @@
dist: trusty
language: c
sudo: false
sudo: required
addons:
apt:
packages:
@@ -47,6 +47,8 @@ env:
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
before_script:
# Enable IPv6
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# Compile PHP
- ./travis/compile.sh
# Setup Extensions
+1 -1
View File
@@ -47,7 +47,7 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: fpm
PRIMARY MAINTAINER: Antony Dovgal <tony2001@php.net>, Jerome Loyet <fat@php.net>
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net>
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3.3
+1 -1
View File
@@ -1,6 +1,6 @@
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2017 The PHP Group. All rights reserved.
Copyright (c) 1999 - 2018 The PHP Group. All rights reserved.
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
+1 -1
View File
@@ -121,7 +121,7 @@ distclean: clean
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h main/internal_functions_cli.c main/internal_functions.c stamp-h buildmk.stamp Zend/zend_dtrace_gen.h Zend/zend_dtrace_gen.h.bak Zend/zend_config.h TSRM/tsrm_config.h
rm -f php7.spec main/build-defs.h scripts/phpize
rm -f ext/date/lib/timelib_config.h ext/mbstring/oniguruma/config.h ext/mbstring/libmbfl/config.h ext/oci8/oci8_dtrace_gen.h ext/oci8/oci8_dtrace_gen.h.bak
rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 ext/phar/phar.1 ext/phar/phar.phar.1
rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 sapi/phpdbg/phpdbg.1 ext/phar/phar.1 ext/phar/phar.phar.1
rm -f sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html
rm -f ext/iconv/php_have_bsd_iconv.h ext/iconv/php_have_glibc_iconv.h ext/iconv/php_have_ibm_iconv.h ext/iconv/php_have_iconv.h ext/iconv/php_have_libiconv.h ext/iconv/php_iconv_aliased_libiconv.h ext/iconv/php_iconv_supports_errno.h ext/iconv/php_php_iconv_h_path.h ext/iconv/php_php_iconv_impl.h
rm -f ext/phar/phar.phar ext/phar/phar.php
+455 -1
View File
@@ -1,6 +1,460 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2017, PHP 7.1.12
11 Oct 2018, PHP 7.1.23
- Core:
. Fixed bug #76901 (method_exists on SPL iterator passthrough method corrupts
memory). (Nikita)
. Fixed bug #76846 (Segfault in shutdown function after memory limit error).
(Nikita)
- CURL:
. Fixed bug #76480 (Use curl_multi_wait() so that timeouts are respected).
(Pierrick)
- iconv:
. Fixed bug #66828 (iconv_mime_encode Q-encoding longer than it should be).
(cmb)
- Opcache:
. Fixed bug #76832 (ZendOPcache.MemoryBase periodically deleted by the OS).
(Anatol)
- POSIX:
. Fixed bug #75696 (posix_getgrnam fails to print details of group). (cmb)
- Reflection:
. Fixed bug #74454 (Wrong exception being thrown when using ReflectionMethod).
(cmb)
- Standard:
. Fixed bug #73457 (Wrong error message when fopen FTP wrapped fails to open
data connection). (Ville Hukkamäki)
. Fixed bug #74764 (Bindto IPv6 works with file_get_contents but fails with
stream_socket_client). (Ville Hukkamäki)
. Fixed bug #75533 (array_reduce is slow when $carry is large array).
(Manabu Matsui)
- Zlib:
. Fixed bug #75273 (php_zlib_inflate_filter() may not update bytes_consumed).
(Martin Burke, cmb)
13 Sep 2018, PHP 7.1.22
- Core:
. Fixed bug #76754 (parent private constant in extends class memory leak).
(Laruence)
. Fixed bug #72443 (Generate enabled extension). (petk)
- Bz2:
. Fixed arginfo for bzcompress. (Tyson Andre)
- gettext:
. Fixed bug #76517 (incorrect restoring of LDFLAGS). (sji)
- iconv:
. Fixed bug #68180 (iconv_mime_decode can return extra characters in a
header). (cmb)
. Fixed bug #63839 (iconv_mime_decode_headers function is skipping headers).
(cmb)
. Fixed bug #60494 (iconv_mime_decode does ignore special characters). (cmb)
. Fixed bug #55146 (iconv_mime_decode_headers() skips some headers). (cmb)
- intl:
. Fixed bug #74484 (MessageFormatter::formatMessage memory corruption with
11+ named placeholders). (Anatol)
- libxml:
. Fixed bug #76777 ("public id" parameter of libxml_set_external_entity_loader
callback undefined). (Ville Hukkamäki)
- mbstring:
. Fixed bug #76704 (mb_detect_order return value varies based on argument
type). (cmb)
- Opcache:
. Fixed bug #76747 (Opcache treats path containing "test.pharma.tld" as a phar
file). (Laruence)
- OpenSSL:
. Fixed bug #76705 (unusable ssl => peer_fingerprint in
stream_context_create()). (Jakub Zelenka)
- phpdbg:
. Fixed bug #76595 (phpdbg man page contains outdated information).
(Kevin Abel)
- SPL:
. Fixed bug #68825 (Exception in DirectoryIterator::getLinkTarget()). (cmb)
. Fixed bug #68175 (RegexIterator pregFlags are NULL instead of 0). (Tim
Siebels)
- Standard:
. Fixed bug #76778 (array_reduce leaks memory if callback throws exception).
(cmb)
- zlib:
. Fixed bug #65988 (Zlib version check fails when an include/zlib/ style dir
is passed to the --with-zlib configure option). (Jay Bonci)
. Fixed bug #76709 (Minimal required zlib library is 1.2.0.4). (petk)
16 Aug 2018, PHP 7.1.21
- Calendar:
. Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset).
(cmb)
- Filter:
. Fixed bug #76366 (References in sub-array for filtering breaks the filter).
(ZiHang Gao)
- PDO_Firebird:
. Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis)
- PDO_PgSQL:
. Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option).
(Anatol)
- SQLite3:
. Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle).
(cmb)
- Standard:
. Fixed bug #68553 (array_column: null values in $index_key become incrementing
keys in result). (Laruence)
. Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb)
. Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`).
(cmb)
- Zip:
. Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)).
(Timur Ibragimov)
07 Jul 2018, PHP 7.1.20
- Core:
. Fixed bug #76534 (PHP hangs on 'illegal string offset on string references
with an error handler). (Laruence)
. Fixed bug #76502 (Chain of mixed exceptions and errors does not serialize
properly). (Nikita)
- Date:
. Fixed bug #76462 (Undefined property: DateInterval::$f). (Anatol)
- FPM:
. Fixed bug #73342 (Vulnerability in php-fpm by changing stdin to
non-blocking). (Nikita)
- GMP:
. Fixed bug #74670 (Integer Underflow when unserializing GMP and possible
other classes). (Nikita)
- intl:
. Fixed bug #76556 (get_debug_info handler for BreakIterator shows wrong
type). (cmb)
- mbstring:
. Fixed bug #76532 (Integer overflow and excessive memory usage
in mb_strimwidth). (MarcusSchwarz)
- PGSQL:
. Fixed bug #76548 (pg_fetch_result did not fetch the next row). (Anatol)
- phpdbg:
. Fix arginfo wrt. optional/required parameters. (cmb)
- Reflection:
. Fixed bug #76536 (PHP crashes with core dump when throwing exception in
error handler). (Laruence)
. Fixed bug #75231 (ReflectionProperty#getValue() incorrectly works with
inherited classes). (Nikita)
- Standard:
. Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys).
(Laruence)
. Fixed bug #71848 (getimagesize with $imageinfo returns false). (cmb)
22 Jun 2018, PHP 7.1.19
- CLI Server:
. Fixed bug #76333 (PHP built-in server does not find files if root path
contains special characters). (Anatol)
- OpenSSL:
. Fixed bug #76296 (openssl_pkey_get_public does not respect open_basedir).
(Erik Lax, Jakub Zelenka)
. Fixed bug #76174 (openssl extension fails to build with LibreSSL 2.7).
(Jakub Zelenka)
- SPL:
. Fixed bug #76367 (NoRewindIterator segfault 11). (Laruence)
- Standard:
. Fixed bug #76335 ("link(): Bad file descriptor" with non-ASCII path).
(Anatol)
. Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT). (Bob)
24 May 2018, PHP 7.1.18
- FPM:
. Fixed bug #76075 --with-fpm-acl wrongly tries to find libacl on FreeBSD.
(mgorny)
- intl:
. Fixed bug #74385 (Locale::parseLocale() broken with some arguments).
(Anatol)
- Opcache:
. Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp). (Dmitry)
. Fixed bug #76275 (Assertion failure in file cache when unserializing empty
try_catch_array). (Nikita)
. Fixed bug #76281 (Opcache causes incorrect "undefined variable" errors).
(Nikita)
- Reflection:
. Fixed arginfo for array_replace(_recursive) and array_merge(_recursive).
(carusogabriel)
26 Apr 2018, PHP 7.1.17
- Date:
. Fixed bug #76131 (mismatch arginfo for date_create). (carusogabriel)
- FPM:
. Fixed bug #68440 (ERROR: failed to reload: execvp() failed: Argument list
too long). (Jacob Hipps)
. Fixed incorrect write to getenv result in FPM reload. (Jakub Zelenka)
- GD:
. Fixed bug #52070 (imagedashedline() - dashed line sometimes is not visible).
(cmb)
- intl:
. Fixed bug #76153 (Intl compilation fails with icu4c 61.1). (Anatol)
- mbstring:
. Fixed bug #75944 (Wrong cp1251 detection). (dmk001)
. Fixed bug #76113 (mbstring does not build with Oniguruma 6.8.1).
(chrullrich, cmb)
- phpdbg:
. Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite). (Laruence)
- SPL:
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
(carusogabriel)
- standard:
. Fixed bug #75996 (incorrect url in header for mt_rand). (tatarbj)
29 Mar 2018, PHP 7.1.16
- Core:
. Fixed bug #76025 (Segfault while throwing exception in error_handler).
(Dmitry, Laruence)
. Fixed bug #76044 ('date: illegal option -- -' in ./configure on FreeBSD).
(Anatol)
- FPM:
. Fixed bug #75605 (Dumpable FPM child processes allow bypassing opcache
access controls). (Jakub Zelenka)
- GD:
. Fixed bug #73957 (signed integer conversion in imagescale()). (cmb)
- ODBC:
. Fixed bug #76088 (ODBC functions are not available by default on Windows).
(cmb)
- Opcache:
. Fixed bug #76074 (opcache corrupts variable in for-loop). (Bob)
- Phar:
. Fixed bug #76085 (Segmentation fault in buildFromIterator when directory
name contains a \n). (Laruence)
- Standard:
. Fixed bug #74139 (mail.add_x_header default inconsistent with docs). (cmb)
. Fixed bug #76068 (parse_ini_string fails to parse "[foo]\nbar=1|>baz" with
segfault). (Anatol)
01 Mar 2018, PHP 7.1.15
- Apache2Handler:
. Fixed bug #75882 (a simple way for segfaults in threadsafe php just with
configuration). (Anatol)
- Date:
. Fixed bug #75857 (Timezone gets truncated when formatted). (carusogabriel)
. Fixed bug #75928 (Argument 2 for `DateTimeZone::listIdentifiers()` should
accept `null`). (Pedro Lacerda)
. Fixed bug #68406 (calling var_dump on a DateTimeZone object modifies it).
(jhdxr)
- FTP:
. Fixed ftp_pasv arginfo. (carusogabriel)
-GD:
. Fixed imagesetinterpolation arginfo. (Gabriel Caruso)
- iconv:
. Fixed bug #75867 (Freeing uninitialized pointer). (Philip Prindeville)
- LDAP:
. Fixed bug #49876 (Fix LDAP path lookup on 64-bit distros). (dzuelke)
- libxml2:
. Fixed bug #75871 (use pkg-config where available). (pmmaga)
- mysqlnd
. Fixed negotiation of MySQL authenticaton plugin. (Johannes)
. Fixed a memleak with SSL connections. (Johannes)
- ODBC:
. Fixed bug #73725 (Unable to retrieve value of varchar(max) type). (Anatol)
- Opcache:
. Fixed bug #75969 (Assertion failure in live range DCE due to block pass
misoptimization). (Nikita)
- OpenSSL:
. Fixed openssl_* arginfos. (carusogabriel)
- PCNTL:
. Fixed bug #75873 (pcntl_wexitstatus returns incorrect on Big_Endian platform
(s390x)). (Sam Ding)
- PGSQL:
. Fixed #75838 (Memory leak in pg_escape_bytea()). (ard_1 at mail dot ru)
- Phar:
. Fixed bug #65414 (deal with leading slash when adding files correctly).
(bishopb)
- SPL:
. Fixed bug #74519 (strange behavior of AppendIterator). (jhdxr)
- Standard:
. Fixed bug #75961 (Strange references behavior). (Laruence)
. Fixed bug #75916 (DNS_CAA record results contain garbage). (Mike,
Philip Sharp)
. Fixed some arginfos. (carusogabriel)
. Fixed bug #75981 (stack-buffer-overflow while parsing HTTP response). (Stas)
01 Feb 2018, PHP 7.1.14
- Core:
. Fixed bug #75679 (Path 260 character problem). (Anatol)
. Fixed bug #75786 (segfault when using spread operator on generator passed
by reference). (Nikita)
. Fixed bug #75799 (arg of get_defined_functions is optional). (carusogabriel)
. Fixed bug #75396 (Exit inside generator finally results in fatal error).
(Nikita)
. Fixed bug #75079 (self keyword leads to incorrectly generated TypeError when
in closure in trait). (Nikita)
- FCGI:
. Fixed bug #75794 (getenv() crashes on Windows 7.2.1 when second parameter is
false). (Anatol)
- IMAP:
. Fixed bug #75774 (imap_append HeapCorruction). (Anatol)
- Mbstring:
. Fixed bug #62545 (wrong unicode mapping in some charsets). (cmb)
- Opcache:
. Fixed bug #75720 (File cache not populated after SHM runs full). (Dmitry)
. Fixed bug #75579 (Interned strings buffer overflow may cause crash).
(Dmitry)
- PGSQL:
. Fixed bug #75671 (pg_version() crashes when called on a connection to
cockroach). (magicaltux at gmail dot com)
- Readline:
. Fixed bug #75775 (readline_read_history segfaults with empty file).
(Anatol)
- SAPI:
. Fixed bug #75735 ([embed SAPI] Segmentation fault in
sapi_register_post_entry). (Laruence)
- SOAP:
. Fixed bug #70469 (SoapClient generates E_ERROR even if exceptions=1 is
used). (Anton Artamonov)
. Fixed bug #75502 (Segmentation fault in zend_string_release). (Nikita)
- SPL:
. Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by
reference). (Nikita)
. Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent
class). (Nikita)
. Fixed bug #73209 (RecursiveArrayIterator does not iterate object
properties). (Nikita)
- Standard:
. Fixed bug #75781 (substr_count incorrect result). (Laruence)
04 Jan 2018, PHP 7.1.13
- Core:
. Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26). (Laruence)
. Fixed bug #75384 (PHP seems incompatible with OneDrive files on demand).
(Anatol)
. Fixed bug #74862 (Unable to clone instance when private __clone defined).
(Daniel Ciochiu)
. Fixed bug #75074 (php-process crash when is_file() is used with strings
longer 260 chars). (Anatol)
. Fixed bug #69727 (Remove timestamps from build to make it reproducible).
(jelle van der Waa)
- CLI Server:
. Fixed bug #60471 (Random "Invalid request (unexpected EOF)" using a router
script). (SammyK)
. Fixed bug #73830 (Directory does not exist). (Anatol)
- FPM:
. Fixed bug #64938 (libxml_disable_entity_loader setting is shared between
requests). (Remi)
- GD:
. Fixed bug #75571 (Potential infinite loop in gdImageCreateFromGifCtx).
(Christoph)
- Opcache:
. Fixed bug #75608 ("Narrowing occurred during type inference" error).
(Laruence, Dmitry)
. Fixed bug #75570 ("Narrowing occurred during type inference" error).
(Dmitry)
. Fixed bug #75579 (Interned strings buffer overflow may cause crash).
(Dmitry)
- PCRE:
. Fixed bug #74183 (preg_last_error not returning error code after error).
(Andrew Nester)
- Phar:
. Fixed bug #74782 (remove file name from output to avoid XSS). (stas)
- Standard:
. Fixed bug #75511 (fread not free unused buffer). (Laruence)
. Fixed bug #75514 (mt_rand returns value outside [$min,$max]+ on 32-bit)
(Remi)
. Fixed bug #75535 (Inappropriately parsing HTTP response leads to PHP
segment fault). (Nikita)
. Fixed bug #75409 (accept EFAULT in addition to ENOSYS as indicator
that getrandom() is missing). (sarciszewski)
. Fixed bug #73124 (php_ini_scanned_files() not reporting correctly).
(John Stevenson)
. Fixed bug #75574 (putenv does not work properly if parameter contains
non-ASCII unicode character). (Anatol)
- Zip:
. Fixed bug #75540 (Segfault with libzip 1.3.1). (Remi)
23 Nov 2017, PHP 7.1.12
- Core:
. Fixed bug #75420 (Crash when modifing property name in __isset for
+7 -1
View File
@@ -93,7 +93,12 @@ static FILE *tsrm_error_file;
}
#endif
#if defined(PTHREADS)
#if defined(GNUPTH)
static pth_key_t tls_key;
# define tsrm_tls_set(what) pth_key_setdata(tls_key, (void*)(what))
# define tsrm_tls_get() pth_key_getdata(tls_key)
#elif defined(PTHREADS)
/* Thread local storage */
static pthread_key_t tls_key;
# define tsrm_tls_set(what) pthread_setspecific(tls_key, (void*)(what))
@@ -125,6 +130,7 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
{
#if defined(GNUPTH)
pth_init();
pth_key_create(&tls_key, 0);
#elif defined(PTHREADS)
pthread_key_create( &tls_key, 0 );
#elif defined(TSRM_ST)
+2
View File
@@ -174,8 +174,10 @@ TSRM_API void *tsrm_get_ls_cache(void);
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL;
#if ZEND_DEBUG
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
#define TSRMLS_CACHE_RESET()
#else
#define TSRMLS_CACHE_UPDATE() if (!TSRMLS_CACHE) TSRMLS_CACHE = tsrm_get_ls_cache()
#define TSRMLS_CACHE_RESET() TSRMLS_CACHE = NULL
#endif
#define TSRMLS_CACHE _tsrm_ls_cache
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2017 The PHP Group |
| Copyright (c) 1997-2018 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-2017 The PHP Group |
| Copyright (c) 1997-2018 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-2017 The PHP Group |
| Copyright (c) 1997-2018 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-2017 The PHP Group |
| Copyright (c) 1997-2018 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 |
+3 -3
View File
@@ -70,7 +70,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#ifndef zend_isnan
#if HAVE_DECL_ISNAN
#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -79,7 +79,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#endif
#if HAVE_DECL_ISINF
#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -90,7 +90,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#define zend_isinf(a) 0
#endif
#if HAVE_DECL_ISFINITE
#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
+2 -2
View File
@@ -20,7 +20,7 @@ assert(0 && ($a = function () {
yield from $x;
}));
assert(0 && ($a = function &(array &$a, X $b = null) use ($c,&$d) : X {
assert(0 && ($a = function &(array &$a, ?X $b = null) use ($c,&$d) : ?X {
abstract class A extends B implements C, D {
const X = 12;
const Y = self::X, Z = "aaa";
@@ -161,7 +161,7 @@ Warning: assert(): assert(0 && ($a = function () {
yield from $x;
})) failed in %sexpect_015.php on line %d
Warning: assert(): assert(0 && ($a = function &(array &$a, X $b = null) use($c, &$d): X {
Warning: assert(): assert(0 && ($a = function &(array &$a, ?X $b = null) use($c, &$d): ?X {
abstract class A extends B implements C, D {
const X = 12;
const Y = self::X, Z = 'aaa';
+43
View File
@@ -0,0 +1,43 @@
--TEST--
Bug #74862 (Unable to clone instance when private __clone defined)
--FILE--
<?php
class a {
private function __clone()
{
}
private function __construct()
{
}
public static function getInstance()
{
return new static();
}
public function cloneIt()
{
$a = clone $this;
return $a;
}
}
class c extends a {
}
// private constructor
$d = c::getInstance();
// private clone
$e = $d->cloneIt();
var_dump($e);
?>
--EXPECT--
object(c)#2 (0) {
}
+46
View File
@@ -0,0 +1,46 @@
--TEST--
Bug #74862 (Unable to clone instance when private __clone defined in a child class)
--FILE--
<?php
class main {
}
class a extends main {
private function __clone()
{
}
private function __construct()
{
}
public static function getInstance()
{
return new static();
}
public function cloneIt()
{
$a = clone $this;
return $a;
}
}
class c extends a {
}
// private constructor
$d = c::getInstance();
// private clone
$e = $d->cloneIt();
var_dump($e);
?>
--EXPECT--
object(c)#2 (0) {
}
+39
View File
@@ -0,0 +1,39 @@
--TEST--
Bug #75079: self keyword leads to incorrectly generated TypeError when in closure in trait
--FILE--
<?php
trait Foo
{
public function selfDo(self ...$Selfs)
{
array_map(
function (self $Self) : self
{
return $Self;
},
$Selfs
);
}
}
class Bar
{
use Foo;
}
class Baz
{
use Foo;
}
$Bar = new Bar;
$Baz = new Baz;
$Bar->selfDo($Bar, $Bar);
$Baz->selfDo($Baz, $Baz);
?>
===DONE===
--EXPECT--
===DONE===
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug #75079 variation without traits
--FILE--
<?php
class Foo
{
private static $bar = 123;
static function test(){
return function(){
return function(){
return Foo::$bar;
};
};
}
}
$f = Foo::test();
var_dump($f()());
class A{}
$a = new A;
var_dump($f->bindTo($a, A::CLASS)()());
?>
--EXPECTF--
int(123)
Fatal error: Uncaught Error: Cannot access private property Foo::$bar in %s:%d
Stack trace:
#0 %s(%d): A->{closure}()
#1 {main}
thrown in %s on line %d
+64
View File
@@ -0,0 +1,64 @@
--TEST--
Bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
--FILE--
<?php
class A
{
var $_stdObject;
function initialize($properties = FALSE) {
$this->_stdObject = $properties ? (object) $properties : new stdClass();
parent::initialize();
}
function &__get($property)
{
if (isset($this->_stdObject->{$property})) {
$retval =& $this->_stdObject->{$property};
return $retval;
} else {
return NULL;
}
}
function &__set($property, $value)
{
return $this->_stdObject->{$property} = $value;
}
function __isset($property_name)
{
return isset($this->_stdObject->{$property_name});
}
}
class B extends A
{
function initialize($properties = array())
{
parent::initialize($properties);
}
function &__get($property)
{
if (isset($this->settings) && isset($this->settings[$property])) {
$retval =& $this->settings[$property];
return $retval;
} else {
return parent::__get($property);
}
}
}
$b = new B();
$b->settings = [ "foo" => "bar", "name" => "abc" ];
var_dump($b->name);
var_dump($b->settings);
?>
--EXPECTF--
Warning: Creating default object from empty value in %sbug75573.php on line %d
Notice: Only variable references should be returned by reference in %sbug75573.php on line %d
string(3) "abc"
array(2) {
["foo"]=>
string(3) "bar"
["name"]=>
string(3) "abc"
}
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #75786: segfault when using spread operator on generator passed by reference
--FILE--
<?php
function &gen($items) {
foreach ($items as $key => &$value) {
yield $key => $value;
}
}
var_dump(...gen(['a', 'b', 'c']));
?>
--EXPECT--
string(1) "a"
string(1) "b"
string(1) "c"
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #76025 (Segfault while throwing exception in error_handler)
--FILE--
<?php
function handleError($errno, $errstr, $errfile, $errline) {
$exception = new exception("blah");
throw $exception;
}
set_error_handler('handleError', E_ALL);
$c = $b[$a];
?>
--EXPECTF--
Fatal error: Uncaught Exception: blah in %sbug76025.php:%d
Stack trace:
#0 %sbug76025.php(%d): handleError(8, 'Undefined varia...', '%s', %d, Array)
#1 {main}
thrown in %sbug76025.php on line %d
+13
View File
@@ -0,0 +1,13 @@
--TEST--
Bug #76383: array_map on $GLOBALS returns IS_INDIRECT
--FILE--
<?php
$a = 1;
array_map(function($x) use (&$lastval) { $lastval = $x; }, $GLOBALS);
var_dump(gettype($lastval), $lastval); // will contain $a
?>
--EXPECT--
string(7) "integer"
int(1)
+36
View File
@@ -0,0 +1,36 @@
--TEST--
Bug #76502: Chain of mixed exceptions and errors does not serialize properly
--FILE--
<?php
$examples = [
"Exception(Exception())" => new Exception("outer", 0, new Exception("inner")),
"Error(Error())" => new Error("outer", 0, new Error("inner")),
"Error(Exception())" => new Error("outer", 0, new Exception("inner")),
"Exception(Error())" => new Exception("outer", 0, new Error("inner"))
];
foreach ($examples as $name => $example) {
$processed = unserialize(serialize($example));
$processedPrev = $processed->getPrevious();
echo "---- $name ----\n";
echo "before: ", get_class($example), ".previous == ",
get_class($example->getPrevious()), "\n";
echo "after : ", get_class($processed), ".previous == ",
$processedPrev ? get_class($processedPrev) : "null", "\n";
}
?>
--EXPECT--
---- Exception(Exception()) ----
before: Exception.previous == Exception
after : Exception.previous == Exception
---- Error(Error()) ----
before: Error.previous == Error
after : Error.previous == Error
---- Error(Exception()) ----
before: Error.previous == Exception
after : Error.previous == Exception
---- Exception(Error()) ----
before: Exception.previous == Error
after : Exception.previous == Error
+17
View File
@@ -0,0 +1,17 @@
--TEST--
Bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)
--FILE--
<?php
set_error_handler(function ($severity, $message, $file, $line) {
throw new \Exception($message);
});
$x = "foo";
$y = &$x["bar"];
?>
--EXPECTF--
Fatal error: Uncaught Exception: Illegal string offset 'bar' in %sbug76534.php:%d
Stack trace:
#0 %sbug76534.php(%d): {closure}(2, 'Illegal string ...', '%s', %d, Array)
#1 {main}
thrown in %sbug76534.php on line %d
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #76754 (parent private constant in extends class memory leak)
--INI--
opcache.enable=0
opcache.enable_cli=0
--FILE--
<?php
class FOO
{
private const FOO = 'BAR';
}
class BAR extends FOO { }
?>
okey
--EXPECT--
okey
+26
View File
@@ -0,0 +1,26 @@
--TEST--
Bug #76846: Segfault in shutdown function after memory limit error
--INI--
memory_limit=33M
--SKIPIF--
<?php
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
?>
--FILE--
<?php
register_shutdown_function(function() {
new stdClass;
});
$ary = [];
while (true) {
$ary[] = new stdClass;
}
?>
--EXPECTF--
Fatal error: Allowed memory size of %d bytes exhausted%s(tried to allocate %d bytes) in %s on line %d%A
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #76901: method_exists on SPL iterator passthrough method corrupts memory
--FILE--
<?php
$it = new ArrayIterator([1, 2, 3]);
$it = new IteratorIterator($it);
foreach ($it as $v) {
if (method_exists($it, 'offsetGet')) {
var_dump($it->offsetGet(0));
}
}
?>
--EXPECT--
int(1)
int(1)
int(1)
+22
View File
@@ -0,0 +1,22 @@
--TEST--
Bug #75396: Exit inside generator finally results in fatal error
--FILE--
<?php
$gen = (function () {
yield 42;
try {
echo "Try\n";
exit("Exit\n");
} finally {
echo "Finally\n";
}
})();
$gen->send("x");
?>
--EXPECT--
Try
Exit
@@ -0,0 +1,27 @@
--TEST--
Generator GC when the yield from parent chain does not reach the root
--FILE--
<?php
function root() {
yield 1;
yield 2;
}
function delegate($gen) {
yield from $gen;
}
$gen = delegate(delegate(root()));
$gen1 = delegate(delegate($gen));
$gen2 = delegate(delegate($gen));
var_dump($gen1->current());
var_dump($gen2->current());
$gen1->next();
$gen1->next();
gc_collect_cycles();
?>
--EXPECT--
int(1)
int(1)
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -157,7 +157,7 @@ ZEND_API zend_bool zend_dtrace_enabled;
/* version information */
static char *zend_version_info;
static uint zend_version_info_length;
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2017 Zend Technologies\n"
#define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2018 Zend Technologies\n"
#define PRINT_ZVAL_INDENT 4
static void zend_print_zval_r_to_buf(smart_str *buf, zval *expr, int indent);
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+4 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -2351,7 +2351,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio
if (clone) {
clone->common.fn_flags |= ZEND_ACC_CLONE;
if (clone->common.fn_flags & ZEND_ACC_STATIC) {
zend_error(error_type, "Constructor %s::%s() cannot be static", ZSTR_VAL(scope->name), ZSTR_VAL(clone->common.function_name));
zend_error(error_type, "%s::%s() cannot be static", ZSTR_VAL(scope->name), ZSTR_VAL(clone->common.function_name));
}
clone->common.fn_flags &= ~ZEND_ACC_ALLOW_STATIC;
}
@@ -2411,7 +2411,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio
zend_error_noreturn(E_CORE_ERROR, "Destructor %s::%s() cannot declare a return type", ZSTR_VAL(scope->name), ZSTR_VAL(dtor->common.function_name));
}
if (clone && clone->common.fn_flags & ZEND_ACC_HAS_RETURN_TYPE && dtor->common.fn_flags & ZEND_ACC_DTOR) {
if (clone && (clone->common.fn_flags & ZEND_ACC_HAS_RETURN_TYPE)) {
zend_error_noreturn(E_CORE_ERROR, "%s::%s() cannot declare a return type", ZSTR_VAL(scope->name), ZSTR_VAL(clone->common.function_name));
}
efree((char*)lc_class_name);
@@ -2810,6 +2810,7 @@ ZEND_API int zend_disable_class(char *class_name, size_t class_name_length) /* {
key = zend_string_alloc(class_name_length, 0);
zend_str_tolower_copy(ZSTR_VAL(key), class_name, class_name_length);
disabled_class = zend_hash_find_ptr(CG(class_table), key);
zend_string_release(key);
if (!disabled_class) {
return FAILURE;
}
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -720,7 +720,7 @@ ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_callback_error(int severity, in
int _num_args = EX_NUM_ARGS(); \
int _i; \
zval *_real_arg, *_arg = NULL; \
zend_expected_type _expected_type = IS_UNDEF; \
zend_expected_type _expected_type = Z_EXPECTED_LONG; \
char *_error = NULL; \
zend_bool _dummy; \
zend_bool _optional = 0; \
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+9 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -195,7 +195,14 @@ ZEND_API void * __zend_realloc(void *p, size_t len) ZEND_ATTRIBUTE_ALLOC_SIZE(2)
#define pemalloc(size, persistent) ((persistent)?__zend_malloc(size):emalloc(size))
#define safe_pemalloc(nmemb, size, offset, persistent) ((persistent)?_safe_malloc(nmemb, size, offset):safe_emalloc(nmemb, size, offset))
#define pefree(ptr, persistent) ((persistent)?free(ptr):efree(ptr))
#define pefree_size(ptr, size, persistent) ((persistent)?free(ptr):efree_size(ptr, size))
#define pefree_size(ptr, size, persistent) do { \
if (persistent) { \
free(ptr); \
} else { \
efree_size(ptr, size);\
} \
} while (0)
#define pecalloc(nmemb, size, persistent) ((persistent)?__zend_calloc((nmemb), (size)):ecalloc((nmemb), (size)))
#define perealloc(ptr, size, persistent) ((persistent)?__zend_realloc((ptr), (size)):erealloc((ptr), (size)))
#define perealloc2(ptr, size, copy_size, persistent) ((persistent)?__zend_realloc((ptr), (size)):erealloc2((ptr), (size), (copy_size)))
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+7 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1080,6 +1080,9 @@ tail_call:
zend_ast_export_ex(str, decl->child[1], 0, indent);
if (decl->child[3]) {
smart_str_appends(str, ": ");
if (decl->child[3]->attr & ZEND_TYPE_NULLABLE) {
smart_str_appendc(str, '?');
}
zend_ast_export_ns_name(str, decl->child[3], 0, indent);
}
if (decl->child[2]) {
@@ -1614,6 +1617,9 @@ simple_list:
break;
case ZEND_AST_PARAM:
if (ast->child[0]) {
if (ast->child[0]->attr & ZEND_TYPE_NULLABLE) {
smart_str_appendc(str, '?');
}
zend_ast_export_ns_name(str, ast->child[0], 0, indent);
smart_str_appendc(str, ' ');
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend OPcache JIT |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2014 The PHP Group |
| Copyright (c) 1998-2018 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 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+6 -9
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -220,7 +220,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_set_exception_handler, 0, 0, 1)
ZEND_ARG_INFO(0, exception_handler)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_defined_functions, 0, 0, 1)
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_defined_functions, 0, 0, 0)
ZEND_ARG_INFO(0, exclude_disabled)
ZEND_END_ARG_INFO()
@@ -1400,13 +1400,10 @@ ZEND_FUNCTION(method_exists)
if (zend_hash_exists(&ce->function_table, lcname)) {
zend_string_release(lcname);
RETURN_TRUE;
} else {
union _zend_function *func = NULL;
if (Z_TYPE_P(klass) == IS_OBJECT
&& Z_OBJ_HT_P(klass)->get_method != NULL
&& (func = Z_OBJ_HT_P(klass)->get_method(&Z_OBJ_P(klass), method_name, NULL)) != NULL
) {
} else if (Z_TYPE_P(klass) == IS_OBJECT && Z_OBJ_HT_P(klass)->get_method != NULL) {
zend_object *obj = Z_OBJ_P(klass);
zend_function *func = Z_OBJ_HT_P(klass)->get_method(&obj, method_name, NULL);
if (func != NULL) {
if (func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
/* Returns true to the fake Closure's __invoke */
RETVAL_BOOL(func->common.scope == zend_ce_closure
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+21 -15
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -186,7 +186,7 @@ ZEND_METHOD(Closure, call)
ZEND_METHOD(Closure, bind)
{
zval *newthis, *zclosure, *scope_arg = NULL;
zend_closure *closure, *new_closure;
zend_closure *closure;
zend_class_entry *ce, *called_scope;
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Oo!|z", &zclosure, zend_ce_closure, &newthis, &scope_arg) == FAILURE) {
@@ -226,15 +226,6 @@ ZEND_METHOD(Closure, bind)
}
zend_create_closure(return_value, &closure->func, ce, called_scope, newthis);
new_closure = (zend_closure *) Z_OBJ_P(return_value);
/* Runtime cache relies on bound scope to be immutable, hence we need a separate rt cache in case scope changed */
if (ZEND_USER_CODE(closure->func.type) && (closure->func.common.scope != new_closure->func.common.scope || (closure->func.op_array.fn_flags & ZEND_ACC_NO_RT_ARENA))) {
new_closure->func.op_array.run_time_cache = emalloc(new_closure->func.op_array.cache_size);
memset(new_closure->func.op_array.run_time_cache, 0, new_closure->func.op_array.cache_size);
new_closure->func.op_array.fn_flags |= ZEND_ACC_NO_RT_ARENA;
}
}
/* }}} */
@@ -244,7 +235,7 @@ static void zend_closure_call_magic(INTERNAL_FUNCTION_PARAMETERS) /* {{{ */ {
zval params[2];
memset(&fci, 0, sizeof(zend_fcall_info));
memset(&fci, 0, sizeof(zend_fcall_info_cache));
memset(&fcc, 0, sizeof(zend_fcall_info_cache));
fci.size = sizeof(zend_fcall_info);
fci.retval = return_value;
@@ -669,9 +660,24 @@ ZEND_API void zend_create_closure(zval *res, zend_function *func, zend_class_ent
closure->func.op_array.static_variables =
zend_array_dup(closure->func.op_array.static_variables);
}
if (UNEXPECTED(!closure->func.op_array.run_time_cache)) {
closure->func.op_array.run_time_cache = func->op_array.run_time_cache = zend_arena_alloc(&CG(arena), func->op_array.cache_size);
memset(func->op_array.run_time_cache, 0, func->op_array.cache_size);
/* Runtime cache is scope-dependent, so we cannot reuse it if the scope changed */
if (!closure->func.op_array.run_time_cache
|| func->common.scope != scope
|| (func->common.fn_flags & ZEND_ACC_NO_RT_ARENA)
) {
if (!func->op_array.run_time_cache && (func->common.fn_flags & ZEND_ACC_CLOSURE)) {
/* If a real closure is used for the first time, we create a shared runtime cache
* and remember which scope it is for. */
func->common.scope = scope;
func->op_array.run_time_cache = zend_arena_alloc(&CG(arena), func->op_array.cache_size);
closure->func.op_array.run_time_cache = func->op_array.run_time_cache;
} else {
/* Otherwise, we use a non-shared runtime cache */
closure->func.op_array.run_time_cache = emalloc(func->op_array.cache_size);
closure->func.op_array.fn_flags |= ZEND_ACC_NO_RT_ARENA;
}
memset(closure->func.op_array.run_time_cache, 0, func->op_array.cache_size);
}
if (closure->func.op_array.refcount) {
(*closure->func.op_array.refcount)++;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -6261,7 +6261,7 @@ void zend_compile_use(zend_ast *ast) /* {{{ */
zend_string *ns_name = zend_string_alloc(ZSTR_LEN(current_ns) + 1 + ZSTR_LEN(new_name), 0);
zend_str_tolower_copy(ZSTR_VAL(ns_name), ZSTR_VAL(current_ns), ZSTR_LEN(current_ns));
ZSTR_VAL(ns_name)[ZSTR_LEN(current_ns)] = '\\';
memcpy(ZSTR_VAL(ns_name) + ZSTR_LEN(current_ns) + 1, ZSTR_VAL(lookup_name), ZSTR_LEN(lookup_name));
memcpy(ZSTR_VAL(ns_name) + ZSTR_LEN(current_ns) + 1, ZSTR_VAL(lookup_name), ZSTR_LEN(lookup_name) + 1);
zend_check_use_conflict(type, old_name, new_name, ns_name);
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -323,7 +323,7 @@ ZEND_METHOD(exception, __wakeup)
CHECK_EXC_TYPE(ZEND_STR_TRACE, IS_ARRAY);
pvalue = zend_read_property(i_get_exception_base(object), object, "previous", sizeof("previous")-1, 1, &value);
if (pvalue && Z_TYPE_P(pvalue) != IS_NULL && (Z_TYPE_P(pvalue) != IS_OBJECT ||
!instanceof_function(Z_OBJCE_P(pvalue), i_get_exception_base(object)) ||
!instanceof_function(Z_OBJCE_P(pvalue), zend_ce_throwable) ||
pvalue == object)) {
zend_unset_property(i_get_exception_base(object), object, "previous", sizeof("previous")-1);
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+14 -8
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -213,9 +213,10 @@ static zend_always_inline zval *_get_zval_ptr_var_deref(uint32_t var, const zend
static zend_never_inline ZEND_COLD void zval_undefined_cv(uint32_t var, const zend_execute_data *execute_data)
{
zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
zend_error(E_NOTICE, "Undefined variable: %s", ZSTR_VAL(cv));
if (EXPECTED(EG(exception) == NULL)) {
zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
zend_error(E_NOTICE, "Undefined variable: %s", ZSTR_VAL(cv));
}
}
static zend_never_inline zval *_get_zval_cv_lookup(zval *ptr, uint32_t var, int type, const zend_execute_data *execute_data)
@@ -1041,9 +1042,12 @@ static int zend_verify_internal_return_type(zend_function *zf, zval *ret)
zend_internal_arg_info *ret_info = zf->internal_function.arg_info - 1;
zend_class_entry *ce = NULL;
if (UNEXPECTED(ret_info->type_hint == IS_VOID && Z_TYPE_P(ret) != IS_NULL)) {
zend_verify_void_return_error(zf, zend_zval_type_name(ret), "");
return 0;
if (ret_info->type_hint == IS_VOID) {
if (UNEXPECTED(Z_TYPE_P(ret) != IS_NULL)) {
zend_verify_void_return_error(zf, zend_zval_type_name(ret), "");
return 0;
}
return 1;
}
if (UNEXPECTED(!zend_check_internal_type(zf, ret_info, ret, &ce, 1))) {
@@ -1699,7 +1703,9 @@ fetch_from_array:
zend_throw_error(NULL, "[] operator not supported for strings");
} else {
zend_check_string_offset(dim, type);
zend_wrong_string_offset();
if (EXPECTED(EG(exception) == NULL)) {
zend_wrong_string_offset();
}
}
ZVAL_ERROR(result);
} else if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) {
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+14 -11
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -179,13 +179,15 @@ static void zend_generator_dtor_storage(zend_object *object) /* {{{ */
zend_generator *root = generator->node.ptr.root, *next;
while (UNEXPECTED(root != generator)) {
next = zend_generator_get_child(&root->node, generator);
generator->node.ptr.root = next;
next->node.parent = NULL;
OBJ_RELEASE(&root->std);
root = next;
}
generator->node.parent = NULL;
}
if (EXPECTED(!ex) || EXPECTED(!(ex->func->op_array.fn_flags & ZEND_ACC_HAS_FINALLY_BLOCK))) {
if (EXPECTED(!ex) || EXPECTED(!(ex->func->op_array.fn_flags & ZEND_ACC_HAS_FINALLY_BLOCK))
|| CG(unclean_shutdown)) {
return;
}
@@ -274,9 +276,9 @@ static uint32_t calc_gc_buffer_size(zend_generator *generator) /* {{{ */
/* Yield from root references */
if (generator->node.children == 0) {
zend_generator *child = generator, *root = generator->node.ptr.root;
while (root != child) {
child = child->node.parent;
zend_generator *root = generator->node.ptr.root;
while (root != generator) {
root = zend_generator_get_child(&root->node, generator);
size++;
}
}
@@ -339,10 +341,10 @@ static HashTable *zend_generator_get_gc(zval *object, zval **table, int *n) /* {
}
if (generator->node.children == 0) {
zend_generator *child = generator, *root = generator->node.ptr.root;
while (root != child) {
child = child->node.parent;
ZVAL_OBJ(gc_buffer++, &child->std);
zend_generator *root = generator->node.ptr.root;
while (root != generator) {
ZVAL_OBJ(gc_buffer++, &root->std);
root = zend_generator_get_child(&root->node, generator);
}
}
@@ -663,11 +665,12 @@ ZEND_API zend_generator *zend_generator_update_current(zend_generator *generator
}
}
leaf->node.ptr.root = root;
if (old_root) {
OBJ_RELEASE(&old_root->std);
}
return leaf->node.ptr.root = root;
return root;
}
static int zend_generator_get_next_delegated_value(zend_generator *generator) /* {{{ */
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+2 -2
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1765,7 +1765,7 @@ ZEND_API HashTable* ZEND_FASTCALL zend_array_dup(HashTable *source)
GC_TYPE_INFO(target) = IS_ARRAY;
target->nTableSize = source->nTableSize;
target->pDestructor = source->pDestructor;
target->pDestructor = ZVAL_PTR_DTOR;
if (source->nNumUsed == 0) {
target->u.flags = (source->u.flags & ~(HASH_FLAG_INITIALIZED|HASH_FLAG_PACKED|HASH_FLAG_PERSISTENT|ZEND_HASH_APPLY_COUNT_MASK)) | HASH_FLAG_APPLY_PROTECTION | HASH_FLAG_STATIC_KEYS;
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+9 -4
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -1225,9 +1225,14 @@ static void zend_add_trait_method(zend_class_entry *ce, const char *name, zend_s
}
function_add_ref(fn);
new_fn = zend_arena_alloc(&CG(arena), sizeof(zend_op_array));
memcpy(new_fn, fn, sizeof(zend_op_array));
new_fn->common.fn_flags |= ZEND_ACC_ARENA_ALLOCATED;
if (UNEXPECTED(fn->type == ZEND_INTERNAL_FUNCTION)) {
new_fn = zend_arena_alloc(&CG(arena), sizeof(zend_internal_function));
memcpy(new_fn, fn, sizeof(zend_internal_function));
new_fn->common.fn_flags |= ZEND_ACC_ARENA_ALLOCATED;
} else {
new_fn = zend_arena_alloc(&CG(arena), sizeof(zend_op_array));
memcpy(new_fn, fn, sizeof(zend_op_array));
}
fn = zend_hash_update_ptr(&ce->function_table, key, new_fn);
zend_add_magic_methods(ce, key, fn);
}
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+13 -5
View File
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -57,11 +57,19 @@ static void zend_ini_do_op(char type, zval *result, zval *op1, zval *op2)
int str_len;
char str_result[MAX_LENGTH_OF_LONG+1];
i_op1 = atoi(Z_STRVAL_P(op1));
zend_string_free(Z_STR_P(op1));
if (IS_LONG == Z_TYPE_P(op1)) {
i_op1 = Z_LVAL_P(op1);
} else {
i_op1 = atoi(Z_STRVAL_P(op1));
zend_string_free(Z_STR_P(op1));
}
if (op2) {
i_op2 = atoi(Z_STRVAL_P(op2));
zend_string_free(Z_STR_P(op2));
if (IS_LONG == Z_TYPE_P(op2)) {
i_op2 = Z_LVAL_P(op2);
} else {
i_op2 = atoi(Z_STRVAL_P(op2));
zend_string_free(Z_STR_P(op2));
}
} else {
i_op2 = 0;
}
+1 -1
View File
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -3,7 +3,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -4,7 +4,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+1 -1
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
+3 -3
View File
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| Zend Engine |
+----------------------------------------------------------------------+
| Copyright (c) 1998-2017 Zend Technologies Ltd. (http://www.zend.com) |
| Copyright (c) 1998-2018 Zend Technologies Ltd. (http://www.zend.com) |
+----------------------------------------------------------------------+
| This source file is subject to version 2.00 of the Zend license, |
| that is bundled with this package in the file LICENSE, and is |
@@ -53,8 +53,8 @@
__asm__("mul %0, %2, %3\n" \
"smulh %1, %2, %3\n" \
"sub %1, %1, %0, asr #63\n" \
: "=X"(__tmpvar), "=X"(usedval) \
: "X"(a), "X"(b)); \
: "=&r"(__tmpvar), "=&r"(usedval) \
: "r"(a), "r"(b)); \
if (usedval) (dval) = (double) (a) * (double) (b); \
else (lval) = __tmpvar; \
} while (0)
Loaded 100 of 1707 files, more files were not shown because too many files have changed in this diff. Show more