Compare commits

...
348 Commits
Author SHA1 Message Date
Remi Collet 260468acea Update versions for PHP 7.2.16 2019-03-05 10:49:17 +00:00
Remi Collet 4b605ea89f Update NEWS for PHP 7.2.16 2019-03-05 10:49:16 +00:00
Remi Collet fec3564025 add NEWS entry 2019-03-05 07:34:56 +01:00
Stanislav Malyshev c3c5cc8536 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77630 - safer rename() procedure
2019-03-05 07:34:13 +01:00
Anatol Belski feebf5a2cf Fix test portability 2019-03-05 07:33:54 +01:00
Remi Collet 5829fd84b4 add NEWS entries 2019-03-04 11:13:37 +01:00
Stanislav Malyshev 5f5e9cd610 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77586 - phar_tar_writeheaders_int() buffer overflow
2019-03-04 11:10:59 +01:00
Stanislav Malyshev b4cece7b60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fix test error message
  Fix bug #77563 - Uninitialized read in exif_process_IFD_in_MAKERNOTE
  Fix bug #77540 - Invalid Read on exif_process_SOFn
  Fix integer overflows on 32-bits
  Fix #77431 SplFileInfo::__construct() accepts NUL bytes
  Fix bug #77396 - Null Pointer Dereference in phar_create_or_parse_filename
2019-03-04 11:10:33 +01:00
Remi Collet 39b75e42db Update NEWS for 7.2.16 2019-02-19 10:14:34 +00:00
Remi Collet 2e3d77718d Update CREDITS for PHP 7.2.16RC1 2019-02-19 09:57:31 +00:00
Remi Collet 7261099812 Update NEWS for PHP 7.2.16RC1 2019-02-19 09:57:31 +00:00
Nikita Popov 928c42211f Make MADV_HUGEPAGE conditional on USE_ZEND_ALLOC_HUGE_PAGES
There have been multiple reports of large slowdowns due to the
use of MADV_HUGEPAGE, so make it conditional on
USE_ZEND_ALLOC_HUGE_PAGES, just like MAP_HUGETLB already is.
2019-02-18 14:03:07 +01:00
Christoph M. Becker de738496c2 Fix #77621: Already defined constants are not properly reported
We must not check uninitialized values (i.e. `c.value`), and we have to
use proper types for printf-style formats (i.e. `char *` instead of
`zend_string *`).
2019-02-15 00:35:21 +01:00
Peter Kokot 0ffa84d740 Refactor timelib.m4
The ext/date/lib is bundled library and also includes additional
timelib.m4 macros and checks specific for PHP.

All the checks in the timelib.m4 are already done in the PHP's
configure.ac:
- headers except for io.h and strings.h
- two functions checked strftime and gettimeofday
- if size of longint is 8
- if size of int is 4
- int32_t and uint32_t types using the PHP_CHECK_STDINT_TYPES

Macro `AC_TIMELIB_C_BIGENDIAN` defined in timelib.m4 is not used.

The two checkings for strtoll and atoll have been moved to date extension's
config0.m4 file.

Additional check for headers <io.h> and <strings.h> has been added to
config0.m4 of the date extension.

Therefore the timelib.m4 can be simplified and removed from the bundled
library to have easier maintenance in the later branches and also
upstream library.
2019-02-13 19:24:39 +01:00
Johannes Schlüter 56dba3f3d0 Merge remote-tracking branch 'origin/PHP-7.2' into PHP-7.2 2019-02-12 14:59:27 +01:00
DanielCiochiu 07877c46e3 Fixed bug #75546
By respecting the SILENT flag when checking the visibility of a
class constant.
2019-02-12 11:42:33 +01:00
Nikita Popov 8e34de4756 Fixed bug #77608
Remove special handling of doubles and escape them as usual instead.
2019-02-12 10:49:20 +01:00
hsldymq b5cb3ac8ec Make pid & uid available while handling realtime signals 2019-02-12 10:09:33 +01:00
Nikita Popov a109fddba4 Remove "defensive copy" of DatePeriod properties
get_properties() constructs these as fresh objects with no relation
to the internals, there is no need to clone them again. Additionally
the current implementation leaks memory, because the original objects
are never freed (see PR #3121).
2019-02-12 09:54:52 +01:00
Ben Ramsey c4294440ff Fixed bug #77564: Memory leak in exif_process_IFD_TAG
The memory leak occurs when more than one UserComment tag is present in
the EXIF data. It's still considered corrupt EXIF data, but this ensures
the memory is freed before trying to set to already allocated memory.
2019-02-12 09:28:33 +01:00
Dmitry Stogov 9222702633 Avoid dependency on "struct flock" fields order. 2019-02-12 10:15:16 +03:00
Anatol Belski 186b5de575 Replace broken binary SDK version 2019-02-11 22:28:34 -08:00
Anatol Belski e74a918621 Update SDK version for AppVeyor 2019-02-11 22:12:16 -08:00
Darek Slusarczyk 83d2bc9b6d Merge branch 'PHP-7.1' into PHP-7.2 2019-02-11 18:08:21 +01:00
Darek Slusarczyk 2eaabf06fc security fix - by default 'local infile' is disabled:
- set default for mysqli.allow_local_infile=0
- explicitly disable PDO::MYSQL_ATTR_LOCAL_INFILE in case of lack of driver options
- add getAttribute support for PDO::MYSQL_ATTR_LOCAL_INFILE
- update existing tests where needed
- add new tests [checking default value and setting on] the 'local infile' in ext/mysqli and ext/pdo_mysql
2019-02-11 18:04:51 +01:00
Ahmed Abdou ec28d4c247 Fix bug #51068 (glob:// do not support current path relative)
Fix DirectoryIterator glob://* current path relative queries
2019-02-11 15:50:27 +01:00
johnstevenson fe4d7248cc Fix #77552: Uninitialized buffer in stat functions 2019-02-11 11:31:55 +01:00
Xinchen Hui 92055ca79b Fixed bug #77589 (Core dump using parse_ini_string with numeric sections)
Section name should not be typed(NULL, FALSE, TRUE etc)
2019-02-11 15:27:29 +08:00
Christopher Jones 1f86dcdd13 PDO_OCI tracing attribute PR merge 2019-02-11 16:19:13 +11:00
Cameron Porter 38363f4820 pdo_oci: Add client identifier and module attrs
Add tests for the new attributes, and check the setAttribute return
value.
2019-02-11 16:10:47 +11:00
Cameron Porter fc940f0703 pdo_oci: Register new attr constants and add tests 2019-02-11 16:10:47 +11:00
Cameron Porter a095472e62 pdo_oci: Add PDO_OCI_ATTR_ACTION and CLIENT_INFO
Add the ability to set the action and client info on the database
session for PDO OCI using PDO attributes.
2019-02-11 16:10:47 +11:00
YanTao 3b09123de3 Fix FTPS passive mode of data channel event poll
Bugfix: when using passive mode of FTPS protocol, data channel events
should be polled when creating data connection channel, instead of polling
the event of ftp's self control channel, which may cause ftp transfer
problem while using ftps and passive mode.
2019-02-08 09:50:29 +01:00
Anatol Belski e27301c7b3 Sync test with changes in libcurl 7.64.0 2019-02-07 22:22:38 -08:00
Anatol Belski c9f0e12353 Sync test for libcurl 7.64.0 2019-02-07 22:21:59 -08:00
Derick Rethans 65d81833bb Use pkg-config for ICU, as the old icu-config has been deprecated 2019-02-07 14:00:39 +01:00
Derick Rethans e2edaa0cee Use pkg-config for ICU, as the old icu-config has been deprecated 2019-02-07 10:18:32 +00:00
Tyson Andre cf56832d00 Properly check for array_replace_recursive in sccp.c
Due to a typo, this code used to check for array_merge_recursive
twice.
2019-02-03 08:40:21 +01:00
Kevin Abel 3890c8bce5 Fix bug 76596: phpdbg supports display_errors=stderr 2019-01-30 18:27:57 +01:00
Christoph M. Becker cbc5a141f7 Prepare main branch for PHP 7.2.16 2019-01-30 01:27:57 +01:00
Nikita Popov 34898e9766 Make special assert() handling independent of compiler flags 2019-01-29 09:39:12 +01:00
ekinhbayar ef68cd3249 Fixed bug #77530: PHP crashes when parsing "(2)::class" 2019-01-28 09:22:18 +01:00
Jakub Zelenka dc2ffdeed7 Fix bug #77390 (feof might hang on TLS streams in case of fragmented TLS records)
Simplified version of the fix from Abyl Valg so credit to him.
2019-01-25 14:13:11 +00:00
Jakub Zelenka d9b29029f9 Update and integrate openssl client proxy test 2019-01-25 14:09:55 +00:00
Abyr Valg 0c84c2ef50 Add a test for fragmented SSL packets 2019-01-25 14:09:55 +00:00
Nikita Popov 08c5679380 Merge remote-tracking branch 'php-src/PHP-7.2' into PHP-7.2 2019-01-24 13:45:27 +01:00
Nikita Popov cce2e33c84 Revert "Prefix error_code with underscore in FastZPP implementation"
This reverts commit 6305119a51.

This is a source-compatibility break for extensions that define
custom FastZPP macros, such as ext/uv:

https://github.com/bwoebi/php-uv/blob/a983eb17b69f74a45d785ddc6a7bff3d4531b88c/php_uv.c#L75

I don't think that FastZPP was intended to be used this way, but
let's revert this from release branches to avoid extension breakage.
2019-01-24 13:36:47 +01:00
Dmitry Stogov 73f222d722 Fixed bug #77494 (Disabling class causes segfault on member access) 2019-01-24 13:06:36 +03:00
Nikita Popov 526344aa5e Add flag to disable jumptable optimization
This is useful for coverage. While it is currently safe to just
skip over the SWITCH_* opcodes, this may not be true in the future
due to opcache optimizations, so it's safer to disable emission of
SWITCH_* opcodes entirely.
2019-01-24 10:56:04 +01:00
George Wang 66d72377d0 Checkin LiteSpeed SAPI 7.2. 2019-01-20 15:10:19 -05:00
Anatol Belski d978590c74 Update NEWS [ci skip] 2019-01-20 15:58:19 +01:00
Christoph M. Becker 44fa0b0f31 Fix #77479: imagewbmp() segfaults with very large images
We must not proceed working with the Wbmp structure, if it hasn't been
allocated.
2019-01-19 10:16:02 +01:00
Lauri Kenttä dbe7f2a41a Fix seeking in php://input 2019-01-18 12:44:47 +01:00
Pedro Magalhães 32ae716037 Fixed bug #76675
Leave a reference to the resource in the php_curl.
2019-01-18 12:04:25 +01:00
Christoph M. Becker 61cfa34e11 Fix #73614: gdImageFilledArc() doesn't properly draw pies
The fix for PHP bug 43828[1] changed the algorithm from drawing filled
pies from drawing multiple triangles to drawing a single polygon.  Due
to quirks of the filled polygon drawing algorithm, we had to filter out
extraneous vertices.  This lead, however, to a bug regarding displaced
starting and ending points near 90° and 270° degrees, which we fix by
reinserting these vertices if they had been removed.

This fix is a port of libgd/libgd@1406b1a.

[1] <https://bugs.php.net/bug.php?id=43828>
2019-01-16 20:10:04 +01:00
wbob 5ac9990ddf document open_basedir and realpath cache coupling in php.ini
[ci skip]
2019-01-14 11:49:45 +01:00
Nikita Popov 3ad0ebdf5c Fixed bug #77454 2019-01-14 10:22:48 +01:00
Anatol Belski 8f66ca8189 Update SDK version for AppVeyor 2019-01-12 22:13:14 +01:00
Ondřej Surý 1ea58b6e78 Fix rl_completion_matches detection
Also fix a typo when checking for rl_on_new_line in readline library.
2019-01-11 10:55:07 +01:00
Kevin Adler 332b58f865 Fix bug #77361 (configure fails on 64-bit AIX when opcache enabled)
In f904830012, support for GNU Hurd was added to the opcache and
the configure check to ensure the opcache knows the flock struct
layout prior to building was changed check for two cases: BSD layout
and Linux layout. All the existing hard-coded cases in
ZendAccelerator.h follow these two cases, except for 64-bit AIX.
This means that even though building on 64-bit AIX would work,
the configure script refuses to continue.

Add a new configure check for the 64-bit AIX case and a new
compiler definition HAVE_FLOCK_AIX64. Now that all the cases are
covered, simplify the ifdef logic around these three HAVE_FLOCK_*
macros:
- The macOS and the various BSD flavors fall under HAVE_FLOCK_BSD
- Linux, HP-UX, GNU Hurd, 32-bit AIX, and SVR4 environments
  fall under HAVE_FLOCK_LINUX
- 64-bit AIX falls under HAVE_FLOCK_AIX64

The only difference between the existing HAVE_FLOCK_LINUX and
the hard-coded Linux/HP-UX/Hurd case is that the latter
initialized the 5th member to 0, but since the C standard already
says that un-initialized members will be initialized to 0,
it's effectively the same.
2019-01-11 10:21:02 +01:00
Alexander Kurilo 1a1e12c2a9 Fix cleaning up after openssl_pkcs7_verify_basic test 2019-01-10 20:09:42 +00:00
Alexander Kurilo 1fab01be5b Generate certs for openssl tests on the fly
The idea is to create an easy way to provide a certificate that never
expires. In order to make it cross-platform, PHP is used rather than
openssl CLI app. Using openssl to generate certificates for tests that
test openssl might be not the best idea but pros seem to outweight cons
that this "recursice dependency" adds
2019-01-10 20:09:42 +00:00
Christoph M. Becker 6b4cdbaade Fix #73281: imagescale(…, IMG_BILINEAR_FIXED) can cause black border
We port the upstream fixes for libgd/libgd#329 and libgd/libgd#224.
2019-01-10 16:11:23 +01:00
Christoph M. Becker 772b1cb245 Fix #77272: imagescale() may return image resource on failure
`_gdScaleHoriz()` and `_gdScaleVert()` may fail, but don't signal
failure since they are void functions.  We change that according to
upstream libgd.

We also remove the unused `Scale()` function, which doesn't exist in
upstream libgd either, right away.
2019-01-10 14:05:09 +01:00
Nikita Popov 5d33024a5d Fixed bug #77439 2019-01-10 10:57:04 +01:00
Andrey Hristov 7a88f89a90 Revert visibility
(cherry picked from commit 71ffae9605)
2019-01-09 13:39:48 +01:00
Sara Golemon bbc10549e8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bump for 7.1.27
2019-01-08 14:19:37 -05:00
Sara Golemon fabade1573 Bump for 7.1.27 2019-01-08 14:17:43 -05:00
Nikita Popov 1165a9068c Don't swap operands of ZEND_MUL
If this is used with operator overloading, then the operation does
not necessarily commute (for example, matrix multiplication).
2019-01-08 09:37:49 +01:00
Remi Collet 0d9935739c cleanup merge 2019-01-08 09:33:41 +01:00
twosee 6305119a51 Prefix error_code with underscore in FastZPP implementation
To avoid conflicts with parameter names.
2019-01-08 09:25:35 +01:00
Derick Rethans bd1d2c7bfe Update tests due to data changes in tzdata 2018i 2019-01-07 12:48:42 +00:00
Derick Rethans 81da7f75e3 Updated to version 2018.9 (2018i) 2019-01-07 11:50:14 +00:00
Remi Collet 3e780d7f25 [ci skip] fix NEWS 2019-01-07 11:12:13 +01:00
Remi Collet 03a630ded7 [ci skip] fix NEWS 2019-01-07 11:02:40 +01:00
Stanislav Malyshev 289c45109c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Still leaking for some reason, XFAIL for now, I'll look into it later.
2019-01-07 01:03:26 -08:00
Stanislav Malyshev 27625f063e Still leaking for some reason, XFAIL for now, I'll look into it later. 2019-01-07 01:03:04 -08:00
Stanislav Malyshev cfe77ea543 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77418 - Heap overflow in utf32be_mbc_to_code
  Add NEWS
  [ci skip] Add NEWS
  Fix more issues with encodilng length
  Fix #77270: imagecolormatch Out Of Bounds Write on Heap
  Fix bug #77380  (Global out of bounds read in xmlrpc base64 code)
  Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)
  Fix bug #77370 - check that we do not read past buffer end when parsing multibytes
  Fix #77269: Potential unsigned underflow in gdImageScale
  Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)
  Fix bug #77242 (heap out of bounds read in xmlrpc_decode())
  Regenerate certs for openssl tests
2019-01-06 23:34:26 -08:00
Stanislav Malyshev 1afebfb3fa Merge branch 'PHP-5.6' into PHP-7.1
* PHP-5.6:
  Fix bug #77418 - Heap overflow in utf32be_mbc_to_code
  [ci skip] Add NEWS
  Fix more issues with encodilng length
  Fix #77270: imagecolormatch Out Of Bounds Write on Heap
  Fix bug #77380  (Global out of bounds read in xmlrpc base64 code)
  Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)
  Fix bug #77370 - check that we do not read past buffer end when parsing multibytes
  Fix #77269: Potential unsigned underflow in gdImageScale
  Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)
  Fix bug #77242 (heap out of bounds read in xmlrpc_decode())
  Regenerate certs for openssl tests
2019-01-06 23:33:34 -08:00
Stanislav Malyshev 9d6c59eeea Fix bug #77418 - Heap overflow in utf32be_mbc_to_code 2019-01-06 23:31:15 -08:00
Stanislav Malyshev d0d0d922de Fix tests - newer versions check Unicode 2019-01-06 13:28:30 -08:00
Stanislav Malyshev fc02e7e3fe Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add NEWS
2019-01-06 13:08:48 -08:00
Stanislav Malyshev 08bb0ce4e4 Add NEWS 2019-01-06 13:08:24 -08:00
Stanislav Malyshev 25c95752d6 Add NEWS 2019-01-06 13:04:51 -08:00
Stanislav Malyshev b51eaf4166 [ci skip] Add NEWS 2019-01-06 13:03:38 -08:00
Stanislav Malyshev ed4db1bb22 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test
2019-01-06 12:54:09 -08:00
Stanislav Malyshev 0c35032012 Fix test 2019-01-06 12:30:44 -08:00
Stanislav Malyshev fe820fcba6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77369 - memcpy with negative length via crafted DNS response
  Fix more issues with encodilng length
  Fix #77270: imagecolormatch Out Of Bounds Write on Heap
  Fix bug #77380  (Global out of bounds read in xmlrpc base64 code)
  Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node)
  Fix bug #77370 - check that we do not read past buffer end when parsing multibytes
  Fix #77269: Potential unsigned underflow in gdImageScale
  Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext)
  Fix bug #77242 (heap out of bounds read in xmlrpc_decode())
  Regenerate certs for openssl tests
2019-01-06 11:57:16 -08:00
Stanislav Malyshev 8d3dfabef4 Fix #77369 - memcpy with negative length via crafted DNS response 2019-01-06 11:39:09 -08:00
Stanislav Malyshev 31f59e1f30 Fix more issues with encodilng length
Should fix bug #77381, bug #77382, bug #77385, bug #77394.
2019-01-06 11:38:46 -08:00
Christoph M. Becker 567c9f5842 Fix #77270: imagecolormatch Out Of Bounds Write on Heap
At least some of the image reading functions may return images which
use color indexes greater than or equal to im->colorsTotal.  We cater
to this by always using a buffer size which is sufficient for
`gdMaxColors` in `gdImageColorMatch()`.
2019-01-06 11:38:46 -08:00
Stanislav Malyshev 4feb9e66ff Fix bug #77380 (Global out of bounds read in xmlrpc base64 code) 2019-01-06 11:38:46 -08:00
Stanislav Malyshev c6e34d91b8 Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node) 2019-01-06 11:38:46 -08:00
Stanislav Malyshev deb06bbb9c Fix bug #77370 - check that we do not read past buffer end when parsing multibytes 2019-01-06 11:38:46 -08:00
Christoph M. Becker dfd8237aec Fix #77269: Potential unsigned underflow in gdImageScale
Belatedly, we're porting the respective upstream patch[1].

[1] <https://github.com/libgd/libgd/commit/60bfb401ad5a4a8ae995dcd36372fe15c71e1a35>
2019-01-06 11:38:46 -08:00
Stanislav Malyshev 78bd347774 Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext) 2019-01-06 11:38:46 -08:00
Stanislav Malyshev 9c62b95e5e Fix bug #77242 (heap out of bounds read in xmlrpc_decode()) 2019-01-06 11:38:46 -08:00
Alexander Kurilo e3e3289bd1 Regenerate certs for openssl tests 2019-01-06 11:38:46 -08:00
Stanislav Malyshev c95daa9c75 Fix more issues with encodilng length
Should fix bug #77381, bug #77382, bug #77385, bug #77394.
2019-01-06 11:34:27 -08:00
Christoph M. Becker 7a12dad4dd Fix #77270: imagecolormatch Out Of Bounds Write on Heap
At least some of the image reading functions may return images which
use color indexes greater than or equal to im->colorsTotal.  We cater
to this by always using a buffer size which is sufficient for
`gdMaxColors` in `gdImageColorMatch()`.
2019-01-06 11:34:20 -08:00
Stanislav Malyshev 1cc2182bcc Fix bug #77380 (Global out of bounds read in xmlrpc base64 code) 2019-01-06 11:34:00 -08:00
Stanislav Malyshev 28362ed4fa Fix bug #77371 (heap buffer overflow in mb regex functions - compile_string_node) 2019-01-06 11:33:54 -08:00
Stanislav Malyshev 20407d06ca Fix bug #77370 - check that we do not read past buffer end when parsing multibytes 2019-01-06 11:33:44 -08:00
Christoph M. Becker a918020c03 Fix #77269: Potential unsigned underflow in gdImageScale
Belatedly, we're porting the respective upstream patch[1].

[1] <https://github.com/libgd/libgd/commit/60bfb401ad5a4a8ae995dcd36372fe15c71e1a35>
2019-01-06 11:33:38 -08:00
Stanislav Malyshev 428d8164ff Fix bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext) 2019-01-06 11:33:32 -08:00
Stanislav Malyshev 4fc0bceb7c Fix bug #77242 (heap out of bounds read in xmlrpc_decode()) 2019-01-06 11:33:25 -08:00
Nikita Popov 41af1e6781 Fix self::class inside constant in global scope
Previously this triggered an assertion failure. The behavior is
not quite correct, in that self::class should generate an exception
if there is no self, but returns an empty string here. Fixing that
would be a bit too intrusive for the 7.2 branch.
2019-01-04 09:52:04 +01:00
Nikita Popov cb009b12a5 Fixed bug #77273 2019-01-03 09:40:07 +01:00
Alexander Kurilo f51062523d Regenerate certs for openssl tests 2019-01-02 10:00:36 -08:00
Nikita Popov 73596c56e7 Partial fix for bug #75426
This does not print the exact line of the comma, but rather the line
of the previous element. This should generally be "good enough", as
the line number is close (off by one) to the actual issue now.
Previously it would point to the start of the array, which may be
very far away.
2019-01-02 11:32:48 +01:00
Anatol Belski 7b3f8e746a Fixed bug #75684 In mysqlnd_ext_plugin.h the plugin methods family has no external visibility 2019-01-02 11:00:33 +01:00
Xinchen Hui 8ebae84674 Fixed bug #77395 (segfault about array_multisort) 2019-01-02 12:09:47 +08:00
Christoph M. Becker b0cfa28d6d Fix #77391: 1bpp BMPs may fail to be loaded
We port the upstream fix[1].

[1] <https://github.com/libgd/libgd/commit/d0859134fcbd8817f87895bd1cb158096568a7a2>
2018-12-31 20:45:47 +01:00
Alexander Kurilo 687dad3674 Regenerate certs for openssl tests 2018-12-31 18:20:34 +01:00
Christoph M. Becker 20de58f51d Drop deprecated /Gm compile option
The `/Gm` option of `cl` is deprecated[1], and `cl` claims that it will
be removed in the future, so we're dropping it right away.

[1] <https://docs.microsoft.com/en-us/cpp/build/reference/gm-enable-minimal-rebuild?view=vs-2017>
2018-12-30 14:36:05 +01:00
Anatol Belski 54a2b42778 Increase timeout for test on AppVeyor 2018-12-29 17:48:25 +01:00
Anatol Belski 222fa032d2 Add memory check to the test 2018-12-29 16:22:31 +01:00
Anatol Belski a2cb8228fe Update NEWS [ci skip] 2018-12-26 20:05:15 +01:00
Michael Meyer 3c42c784c2 Initialize s_un (sockaddr_un) to zero before using it. Fixes #76839. 2018-12-26 18:58:27 +01:00
Anatol Belski 3c7dc7b4c4 Update binary SDK version for AppVeyor 2018-12-26 14:15:21 +01:00
Dmitry Stogov 5888fbde0d Backport later interned strings destruction. 2018-12-24 13:45:02 +03:00
Dmitry Stogov 7e597f48e9 Fixed bug #77339 (__callStatic may get incorrect arguments) 2018-12-24 13:22:43 +03:00
Nikita Popov 64de5bc224 Fix invalid efree in browscap
Related to bug #77338.
2018-12-23 20:20:04 +01:00
Dmitry Stogov 8db63adb6d Removed /e modifirer and fixed ws. 2018-12-21 18:58:50 +03:00
Remi Collet 3245d1bb09 missing entry for #77020 2018-12-18 16:29:31 +01:00
Remi Collet 7161fe629d bump to 7.2.15-dev 2018-12-18 13:11:32 +01:00
Christopher Jones 3aee9ca571 LOL I had 2.10 on my mind 2018-12-10 21:54:13 +11:00
Christopher Jones 444e400c3b Bundle the new test 2018-12-10 10:45:43 +11:00
Christopher Jones e4d894edb3 Improve test portability 2018-12-10 10:16:15 +11:00
Christopher Jones 56e2c0d7db Update for newer Oracle versions 2018-12-10 10:15:53 +11:00
Anatol Belski 81207fc607 Fix syntax error 2018-12-09 19:13:09 +01:00
Anatol Belski 0d166f76ee Fix libtidy exports when ext/tidy compiled static 2018-12-09 18:59:05 +01:00
Christopher Jones 99f1f3dedf Add oci_set_call_timeout() and bump version to 2.10.0 2018-12-09 20:55:04 +11:00
Christopher Jones e2ecd60f2f Upgrade internal OCI call 2018-12-09 12:38:35 +11:00
Christopher Jones 4246702406 Enable Oracle Database DBOP tracing attribute 2018-12-09 12:16:47 +11:00
Christopher Jones 465c149cd3 Update OCI8 README 2018-12-09 11:28:52 +11:00
Christopher Jones 216d6592e1 Convert some parameter parsing to the Fast Parameter Parsing API 2018-12-09 11:28:04 +11:00
Remi Collet fd0077bf06 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  add imap.enable_insecure_rsh in php.ini
2018-12-08 10:25:05 +01:00
Remi Collet 4288674651 add imap.enable_insecure_rsh in php.ini 2018-12-08 10:24:36 +01:00
Christopher Jones 290671e7f2 Merge branch 'PHP-7.2' of https://git.php.net/repository/php-src into PHP-7.2 2018-12-08 20:19:59 +11:00
Christopher Jones 43adf3dc5e Note that PECL install now works on PHP 7.3 2018-12-08 20:13:40 +11:00
Christopher Jones 9a0ec35fa3 Don't skip with 18c DB 2018-12-08 20:12:43 +11:00
Remi Collet 431ff36f51 missing entry for #77020 2018-12-08 10:07:01 +01:00
Remi Collet da90b477c6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  missing entry for #77020
2018-12-08 10:06:34 +01:00
Remi Collet 9b8f2417ad missing entry for #77020 2018-12-08 10:06:19 +01:00
Christopher Jones dd0a8091f4 Fix resource warning value 2018-12-08 19:24:32 +11:00
Christopher Jones 2d53040a6d Bump OCI8 version 2018-12-08 19:23:22 +11:00
Christopher Jones 8ff6a30598 Update NEWS 2018-12-08 19:12:04 +11:00
KoenigsKind 3c91851874 When releasing an oci8 connection always set the resource to null. 2018-12-08 18:49:12 +11:00
Nikita Popov e3946534a4 Drop unnecessary HASH_OF uses in ext/oci8
These only operate on arrays.
2018-12-07 23:21:32 +11:00
Christopher Jones b797818e09 Simplify based on feedback from nikic 2018-12-07 23:07:37 +11:00
Ferenc Kovacs bc32061dba Merge branch 'PHP-7.1' into PHP-7.2 2018-12-05 09:36:31 +01:00
Ferenc Kovacs 6cbdc5e207 Merge branch 'PHP-7.0' into PHP-7.1 2018-12-05 09:30:20 +01:00
Ferenc Kovacs bd289af963 Merge branch 'PHP-5.6' into PHP-7.0 2018-12-05 09:25:53 +01:00
Ferenc Kovacs c26cb383a5 5.6.40 will be next. probably not 2018-12-05 09:13:30 +01:00
Anatol Belski 6e9435f339 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync NEWS [ci skip]
2018-12-04 12:50:04 +01:00
Anatol Belski d07e63211a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Sync NEWS [ci skip]
2018-12-04 12:49:42 +01:00
Anatol Belski a8f125fbca Sync NEWS [ci skip] 2018-12-04 12:49:10 +01:00
Stanislav Malyshev a9ef7ecc60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix null pointer deref in qprint-encode filter (bug #77231)
2018-12-03 10:20:02 -08:00
Stanislav Malyshev d5dc3c69f9 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix null pointer deref in qprint-encode filter (bug #77231)
2018-12-03 10:19:57 -08:00
Stanislav Malyshev 036bc5c1fb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix null pointer deref in qprint-encode filter (bug #77231)
2018-12-03 10:19:49 -08:00
Stanislav Malyshev 78bffa72c1 Fix null pointer deref in qprint-encode filter (bug #77231) 2018-12-03 10:19:08 -08:00
Stanislav Malyshev 8fff90250b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:42:50 -08:00
Stanislav Malyshev 8ab5d22332 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:42:45 -08:00
Stanislav Malyshev 5718d73dbb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77143 - add more checks to buffer reads
2018-12-03 00:42:35 -08:00
Stanislav Malyshev 48f0f73f75 Fix bug #77143 - add more checks to buffer reads 2018-12-03 00:41:46 -08:00
Stanislav Malyshev 66a0f061f6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:39:03 -08:00
Stanislav Malyshev 54212674b9 Fix bug #77143 - add more checks to buffer reads 2018-12-03 00:03:10 -08:00
Stanislav Malyshev 7edc639b9f Fix #77020: null pointer dereference in imap_mail
If an empty $message is passed to imap_mail(), we must not set message
to NULL, since _php_imap_mail() is not supposed to handle NULL pointers
(opposed to pointers to NUL).
2018-12-03 00:00:56 -08:00
Stanislav Malyshev 1f78b1dfd0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't need interactive progress on git clones in Travis
2018-12-02 16:04:33 -08:00
Philip Prindeville 61af343768 Don't need interactive progress on git clones in Travis
Travis logs are usually inspected after the build completes, by which time
progress info is useless.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2018-12-02 16:04:22 -08:00
Stanislav Malyshev 1225467d8a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-02 15:12:15 -08:00
Stanislav Malyshev f8eac1f438 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-02 13:38:59 -08:00
Stanislav Malyshev 6e3f5d57d4 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-02 13:18:07 -08:00
Stanislav Malyshev aabdb71dc3 Fix TSRM signature - php_stream_stat macro has it's own TSRM 2018-12-02 12:54:19 -08:00
Alexander Kurilo 0382e761d7 Regenerate certificates for openssl tests 2018-12-02 12:08:19 -08:00
Stanislav Malyshev 2fba1e2f59 Improve test for bug77022 2018-12-02 12:06:13 -08:00
Alexander Kurilo 655fb96354 Regenerate certificates for openssl tests 2018-12-02 19:37:10 +00:00
Stanislav Malyshev c5869fd1c8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
2018-12-01 21:48:40 -08:00
Stanislav Malyshev 09885f78c6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
2018-12-01 21:48:35 -08:00
Stanislav Malyshev cea277048d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:48:27 -08:00
Stanislav Malyshev 8136d130b6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:47:44 -08:00
Stanislav Malyshev 1aec05defd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:47:37 -08:00
Stanislav Malyshev 67f3615102 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77022 - use file mode or umask for new files
2018-12-01 21:08:38 -08:00
Stanislav Malyshev 69f5e7992b Fix bug #77022 - use file mode or umask for new files 2018-12-01 21:06:45 -08:00
BohwaZ 94ec262fca Fix #77051: Issue with re-binding on SQLite3
We have to call `sqlite3_reset()` before re-binding the parameters.
2018-11-29 02:16:57 +01:00
Stanislav Malyshev 4ac764e8bb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add DISPLAY_INI_ENTRIES for imap
  Disable rsh/ssh functionality in imap by default (bug #77153)
  Disable rsh/ssh functionality in imap by default (bug #77153)
2018-11-28 15:47:00 -08:00
Stanislav Malyshev 223b8c15a8 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Add DISPLAY_INI_ENTRIES for imap
  Disable rsh/ssh functionality in imap by default (bug #77153)
  Disable rsh/ssh functionality in imap by default (bug #77153)
2018-11-28 15:46:53 -08:00
Stanislav Malyshev 87bf84c8c7 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Add DISPLAY_INI_ENTRIES for imap
2018-11-28 15:46:39 -08:00
Stanislav Malyshev d8765852e0 Add DISPLAY_INI_ENTRIES for imap 2018-11-28 15:45:51 -08:00
Derick Rethans a3f2871b8e Fixed bug #77097 (DateTime::diff gives wrong diff when the actual diff is less than 1 second) by upgrading to timelib 2017.09 2018-11-28 20:34:21 +00:00
Nikita Popov 17f8b9fb36 Fixed bug #77215
Remove invalid assertion: A block can have multiple switch frees,
so if we don't do live range block splitting, it is not necessarily
true that the free is located at the start of a block.
2018-11-28 20:08:39 +01:00
Nikita Popov b565c85b9e Improve fix for #76046
Also locate the JMP at the start of the foreach.

Patch suggested by Derick.
2018-11-27 19:43:25 +01:00
Nikita Popov d6595f276f Fixed bug #76046
Place FE_FREE on start line of foreach, instead of whatever random
line number might be in CG(zend_lineno) at the time.
2018-11-27 16:37:55 +01:00
Colin Basnett 9ec519e094 Fixed bug #77184
The U in URATIONAL is for unsigned, so the values should be printed
as unsigned.
2018-11-26 22:48:48 +01:00
Sergei Morozov e126ca1557 Check column number before trying to fetch the value 2018-11-26 10:34:37 -05:00
Christoph M. Becker a1aaec08b5 Fix #77200: imagecropauto(…, GD_CROP_SIDES) crops left but not right
We apply the upstream patch[1].

[1] <https://github.com/libgd/libgd/commit/6613094e5d218dc4d4372757aef5e58c6462a9f7>
2018-11-25 19:00:50 +01:00
Christoph M. Becker b47b8886dd Fix #77198: auto cropping has insufficient precision
We apply the upstream patch[1], and also fix the erroneous bailout at
the end of `gdImageAutoCrop()`, since `crop.x` and `crop.y` may very
well be zero.

[1] <https://github.com/libgd/libgd/commit/bda85aaeeb1d7467d92c892ba4c30eaa53d7a6d4>
2018-11-25 15:41:27 +01:00
Frank Denis ff02d50909 ext/sodium: remove redundant code 2018-11-24 17:55:36 +01:00
Frank Denis 542d0bce50 ext/sodium: Correct base64 decoding with unpadded variants
Backports 0eee0b957a3b75f8175cdd30b306c15e372685e8 from the PECL extension
2018-11-24 17:53:08 +01:00
Christoph M. Becker 5af5f56fc9 Fix test case 2018-11-24 13:36:42 +01:00
Christoph M. Becker 60a9f7a3a3 Fix #77195: Incorrect error handling of imagecreatefromjpeg()
The broken JPEG image triggers a notice, two warnings and outputs a
message to stderr directly.  The additional notice is pretty useless,
and the direct output to stderr is bad.  Therefore, we port the
relevant differences from upstream to our bundled libgd.  This leaves
us with two warnings; the first one is triggered by libjpeg and shows
the actual problem, the second one is triggered by our libgd wrapper
whenever an image can't be read, what may not have necessarily
triggered a warning before.
2018-11-24 12:52:08 +01:00
Christoph M. Becker 115ee49b0b Fix #77177: Serializing or unserializing COM objects crashes
Firstly, we avoid returning NULL from the get_property handler, but
instead return an empty HashTable, which already prevents the crashes.
Secondly, since (de-)serialization obviously makes no sense for COM,
DOTNET and VARIANT objects (at least with the current implementation),
we prohibit it right away.
2018-11-23 16:32:33 +01:00
Sara Golemon f2de4d185d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prep for 7.1.26
2018-11-21 14:39:25 -05:00
Sara Golemon 0b3cbd665e Prep for 7.1.26 2018-11-21 14:37:37 -05:00
Nikita Popov bbbaf1ca85 Merge branch 'PHP-7.1' into PHP-7.2 2018-11-20 21:30:38 +01:00
Valentin V. Bartenev 11ddf7669a Fix bug #71041 dynamic embed SAPI load error
If the library is built with ZEND_SIGNALS defined, it's unusable with an
external SAPI module because the zend_signal_startup() call is mandatory
in this case.

This bug is similar to #74149, but related to dynamic loading of PHP library.
2018-11-20 21:30:02 +01:00
Mizunashi Mana e672cd4385 Define __APPLE_USE_RFC_3542 for new ipv6 constants 2018-11-20 21:16:03 +01:00
Sara Golemon 9fc52c16b5 Bump for 7.2.14 2018-11-20 14:40:21 -05:00
Stanislav Malyshev 336d2086a9 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 11:18:53 -08:00
Stanislav Malyshev 05782f01f5 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 11:16:08 -08:00
Stanislav Malyshev aed4065aa6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Disable rsh/ssh functionality in imap by default (bug #77153)
2018-11-20 11:14:18 -08:00
Stanislav Malyshev 628df47e79 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 11:14:07 -08:00
Remi Collet e7acb29eb0 NEWS 2018-11-20 11:20:05 +01:00
Remi Collet 6ce4be1762 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  Fix #77151 ftp_close(): SSL_read on shutdown
2018-11-20 11:19:52 +01:00
Remi Collet 1adbf70e26 NEWS 2018-11-20 11:19:29 +01:00
Remi Collet d9afc2f662 Fix #77151 ftp_close(): SSL_read on shutdown
Regression introduced in fix for #76972

only display the error message when sslerror
or if errno is set (for SSL_ERROR_SYSCALL case)
2018-11-20 11:18:34 +01:00
Stanislav Malyshev e5bfea64c8 Disable rsh/ssh functionality in imap by default (bug #77153) 2018-11-20 00:13:50 -08:00
Anatol Belski 6742b4b7cc [ci skip] Update NEWS 2018-11-18 14:38:35 +01:00
Anatol Belski 6e32f59525 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-11-18 14:37:56 +01:00
Anatol Belski 3e78380d02 [ci skip] Update NEWS 2018-11-18 14:37:04 +01:00
Anatol Belski fb06cca6cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #77047 pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type
2018-11-18 12:32:47 +01:00
Anatol Belski 0434141ce9 Fixed bug #77047 pg_convert has a broken regex for the 'TIME WITHOUT TIMEZONE' data type
Backport 369c991d and 282a63da to 7.1, closes #3634
2018-11-18 12:29:34 +01:00
Anatol Belski b4776cda2e [ci skip] Update NEWS 2018-11-17 23:00:12 +01:00
Anatol Belski a7e9790969 Fixed bug #77111 php-win.exe corrupts unicode symbols from cli parameters
The binary can be of course used on console, for whatever reasons, so
UNICODE API should be used in that case. That might however not work as
expected, if the binary is used for a service.
2018-11-16 23:19:33 +01:00
Christoph M. Becker 211c6189f6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77147: Fix for 60494 ignores ICONV_MIME_DECODE_CONTINUE_ON_ERROR
2018-11-14 14:57:40 +01:00
Christoph M. Becker a56cdd0a82 Fix #77147: Fix for 60494 ignores ICONV_MIME_DECODE_CONTINUE_ON_ERROR
If the `ICONV_MIME_DECODE_CONTINUE_ON_ERROR` flag is set, parsing
should not fail, if there are illegal characters in the headers;
instead we silently ignore these like before.
2018-11-14 14:55:38 +01:00
Joe Watkins ce4eb89976 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Validate length on socket_write
2018-11-13 12:58:23 +01:00
Thiago Carvalho ec2e7a2d48 Validate length on socket_write 2018-11-13 12:56:37 +01:00
Christoph M. Becker 77646d2fd9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77141: Signedness issue in SOAP when precision=-1
2018-11-12 23:22:16 +01:00
Christoph M. Becker f6079e3c56 Fix #77141: Signedness issue in SOAP when precision=-1
According to php_gcvt(), we assume at most 17 fractional digits for
negative precision.
2018-11-12 23:19:30 +01:00
Anatol Belski 1550451020 Update libmagic.patch [ci skip] 2018-11-10 22:01:49 +01:00
Anatol Belski 3fd46e19ac Fork test with pcre.jit=0 2018-11-10 20:06:47 +01:00
Anatol Belski 9d77bf0978 Fix regex 2018-11-10 12:11:02 +01:00
Anatol Belski 60adea5496 Rework magic data
Avoid patching where vanilla data suffices. More precisely, avoid data
using [:space:] posix class in regex, as it is likely to cause performance
regressions.
2018-11-10 01:28:23 +01:00
Anatol Belski 22f71a66ec Sync one more upstream libmagic piece 2018-11-10 00:19:42 +01:00
Anatol Belski fab72d7571 Update NEWS [ci skip] 2018-11-05 22:53:01 +01:00
Anatol Belski dbb2cce968 Update libmagic.patch [ci skip] 2018-11-05 22:24:27 +01:00
Anatol Belski 0e33c2822c Declare function proto in header 2018-11-05 21:28:04 +01:00
Anatol Belski c621182c42 Backport 7f5f4601 for 7.2 2018-11-04 16:57:55 +01:00
Christoph M. Becker 0afc818976 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault
2018-11-04 16:44:45 +01:00
Christoph M. Becker 625f614cb1 Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault
“Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end.”
2018-11-04 16:40:27 +01:00
Nikita Popov 4daa413898 Fixed bug #77092
Weird that this worked for so long, probably because nearly all
ext/standard functions use fast ZPP rather than ordinary ZPP.
2018-11-02 14:29:03 +01:00
Derick Rethans 10255a0cd9 Updated to version 2018.7 (2018g) 2018-10-30 11:25:48 +00:00
Derick Rethans fcefc28ce1 Empty merge 2018-10-30 11:25:47 +00:00
Derick Rethans e58388ea6d Updated to version 2018.7 (2018g) 2018-10-30 11:25:45 +00:00
Peter Kokot 69496a04ff [ci skip] Update NEWS 2018-10-30 00:23:20 +01:00
Peter Kokot b1de24e68c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  fix bug #77079
2018-10-30 00:22:26 +01:00
Peter Kokot 91a1111160 [ci skip] Update NEWS 2018-10-30 00:22:03 +01:00
Jon Allen 8775bead3a fix bug #77079 2018-10-30 00:19:07 +01:00
Nikita Popov 902ec36710 Merge branch 'PHP-7.1' into PHP-7.2 2018-10-25 16:43:36 +02:00
Nikita Popov f1ceec5533 Fixed bug #77058
Account for the fact that undef must be interpreted as null for
the purposes of INC/DEC inference.
2018-10-25 16:37:41 +02:00
Nikita Popov e7153e8a2f Improve "narrowing" error message
By including the opcode name.
2018-10-25 16:36:23 +02:00
Joe Watkins 33fa02ea38 bump versions 2018-10-24 08:43:27 +02:00
Cameron Porter db47e35373 Fixed bug #50675
SOAP: Stop overwriting the node name when creating an XML node
for an object reference.
2018-10-23 14:20:19 +02:00
Remi Collet 1d5baf167a bump to 7.2.13-dev 2018-10-23 12:15:30 +02:00
Derick Rethans c3a8313136 Updated to version 2018.6 (2018f) 2018-10-22 12:05:40 +01:00
Derick Rethans c22b9e0115 Empty merge 2018-10-22 12:05:40 +01:00
Derick Rethans 41241d109a Updated to version 2018.6 (2018f) 2018-10-22 12:05:39 +01:00
Christoph M. Becker 502b187ae8 Fix #75282: xmlrpc_encode_request() crashes
Since we allow ext/xmlrpc to be built against a system libxmlrpc(-epi),
we must not `efree` memory which has been allocated via `malloc`.  To
distinguish bundled and system libxmlrpc(-epi) we introduce the macro
`HAVE_XMLRPC_BUNDLED` (analogous to how it is done by ext/gd).  We
deliberately keep the ugly `#ifdef`s, instead of tucking them away in
an `XMLRPC_FREE()` macro, to not forget that it is a bad idea to fork
and bundle a library, but to also allow building against an unpatched
system lib.
2018-10-21 12:06:55 +02:00
Anatol Belski ba43d5acef Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tests for ICU 63.1
2018-10-20 23:04:15 +02:00
Anatol Belski 4461fb9c26 Fix tests for ICU 63.1
The most of change is U+00A0 vs. new U+202F used in some outputs.
2018-10-20 23:02:06 +02:00
Peter Kokot 3b8be227bd [ci skip] Update NEWS 2018-10-20 09:52:46 +02:00
Peter Kokot 0dc15e1885 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Fix #77041: buildconf should output error messages to stderr
2018-10-20 09:51:22 +02:00
Peter Kokot 1b936033b0 [ci skip] Update NEWS 2018-10-20 09:48:50 +02:00
Mizunashi Mana 9f5cb626ed Fix #77041: buildconf should output error messages to stderr 2018-10-20 09:42:56 +02:00
Peter Kokot b9d8e5d706 [ci skip] Update NEWS 2018-10-19 00:08:57 +02:00
Peter Kokot 5531dde5e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Fix #77035: The phpize and ./configure create redundant .deps file
2018-10-19 00:07:42 +02:00
Peter Kokot 4be0528476 [ci skip] Update NEWS 2018-10-19 00:06:11 +02:00
Peter Kokot 447b41f6bb Fix #77035: The phpize and ./configure create redundant .deps file
The `.deps` file(s) was once used by Automake and created to write
dependencies to it. The file creation has been removed via the commit
779c11af21.

The phpize and ./configure script create a redundant .deps file in a
PECL extension directory which might cause confusions why is it used.
Today it is no longer relevant so this redundant artefact can be
removed in the phpize configure script.
2018-10-19 00:02:09 +02:00
Peter Kokot de9f325c12 Fix tests/output/bug74815.phpt generating errors.log
Test tests/output/bug74815.phpt was creating an errors.log file
in project root directory and didn't removed it after the test.
2018-10-18 23:39:00 +02:00
Anatol Belski 6a5254bc96 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test when it's run on another drive
2018-10-18 00:44:43 +02:00
Anatol Belski fda06127fa Fix test when it's run on another drive 2018-10-18 00:43:24 +02:00
Christoph M. Becker 20695fb895 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #77027: tidy::getOptDoc() not available on Windows
2018-10-17 16:30:46 +02:00
Christoph M. Becker 8a9e0312ce Fix #77027: tidy::getOptDoc() not available on Windows
We define the `HAVE_TIDYOPTGETDOC` macro unconditionally, since the
Windows PHP SDK ships libtidy 2009/04/06 or newer for a long time.

We do not add a regression test, since 021.phpt already tests
`tidy_get_opt_doc`, but has previously been skipped due to
unavailability of the function.
2018-10-17 16:27:07 +02:00
Christoph M. Becker 310b95d7eb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add support for getting SKIP_TAGSTART and SKIP_WHITE options
2018-10-16 18:49:17 +02:00
Christoph M. Becker b33124239a Add support for getting SKIP_TAGSTART and SKIP_WHITE options
When `XML_OPTION_SKIP_TAGSTART` and `XML_OPTION_SKIP_WHITE` had been
introduced[1], it had been overlooked to also support them for
`xml_parser_get_option()`.  We catch up on that.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=b57dc275950b228f2399990471c4f22b7d154c6c>
2018-10-16 18:47:31 +02:00
Peter Kokot f1d7e3ca0b Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:31:31 +02:00
Peter Kokot f98c916845 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync leading and final newlines in *.phpt sections
2018-10-15 04:30:40 +02:00
Peter Kokot 113213f027 Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:29:24 +02:00
Peter Kokot 17ccbeec32 Trim trailing whitespace in *.phpt 2018-10-14 19:44:14 +02:00
Peter Kokot cc7215f48f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Trim trailing whitespace in *.phpt
2018-10-14 19:43:39 +02:00
Peter Kokot 7af945e271 Trim trailing whitespace in *.phpt 2018-10-14 19:43:12 +02:00
Peter Kokot 2707932241 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix failing ext/session/tests due to final newlines
2018-10-14 13:41:09 +02:00
Peter Kokot afd534f163 Fix failing ext/session/tests due to final newlines 2018-10-14 13:38:28 +02:00
Peter Kokot 60a69daec6 Sync leading and final newlines in source code files
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-14 12:54:08 +02:00
Peter Kokot 6f343d29a5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync leading and final newlines in source code files
2018-10-14 12:52:38 +02:00
Peter Kokot 03f3b8479b Sync leading and final newlines in source code files
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-14 12:51:01 +02:00
Frank Denis 5d70165f63 [ci skip] Update NEWS 2018-10-14 10:58:02 +02:00
Frank Denis 82a93c1794 ext/sodium: sodium_pad(): do not copy any bytes if the string is empty
Spotted by San Zhang, thanks!

Backport from PECL libsodium-php 2.0.13
2018-10-14 10:43:21 +02:00
Frank Denis bf48d0c475 ext/sodium: Fix sodium_pad() with blocksize >= 256
Backport from PECL libsodium-php 2.0.12
2018-10-14 10:37:37 +02:00
Frank Denis 15ba7df224 ext/sodium: Use a correct max output size for base64 decoding
Also handle the case where the function is not available in test.

Backport from PECL libsodium-php 2.0.12
2018-10-14 10:37:18 +02:00
Frank Denis d057458166 ext/sodium: Avoid shifts wider than 32 bits on size_t values
Backport from PECL libsodium-php 2.0.10
2018-10-14 10:21:29 +02:00
Peter Kokot c25b1a7e8c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix failing tests/lang due to whitespace
2018-10-13 15:23:35 +02:00
Peter Kokot ed64e1d59a Fix failing tests/lang due to whitespace 2018-10-13 15:22:49 +02:00
Peter Kokot 102cf75eeb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix failing ext/zlib/tests due to whitespace
2018-10-13 15:15:39 +02:00
Peter Kokot 9120e79e9f Fix failing ext/zlib/tests due to whitespace 2018-10-13 15:15:26 +02:00
Peter Kokot 902d39a3a7 Trim trailing whitespace in source code files 2018-10-13 14:14:50 +02:00
Peter Kokot 581f0141b6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Trim trailing whitespace in source code files
2018-10-13 14:13:37 +02:00
Peter Kokot 7f6387b59a Trim trailing whitespace in source code files 2018-10-13 14:12:55 +02:00
Peter Kokot 2aa897476f Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2018-10-13 11:22:30 +02:00
Peter Kokot 5a0610d8cc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Convert CRLF line endings to LF
2018-10-13 11:22:02 +02:00
Peter Kokot 3f72c77ce4 Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2018-10-13 11:21:27 +02:00
Derick Rethans 94a98f2c63 Upgrade timelib to 2017.08, to fix bug #77007 2018-10-12 11:41:05 +01:00
Christoph M. Becker ebecf569f9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #30875: xml_parse_into_struct() does not resolve entities
2018-10-09 16:06:56 +02:00
Christoph M. Becker 2845f859c1 Fix #30875: xml_parse_into_struct() does not resolve entities
Setting up an empty default handler is not only useless, but actually
harmful, since internal entity-references are not resolved anymore.
From the libexpat docs[1]:

| Setting the handler with this call has the side effect of
| turning off expansion of references to internally defined general
| entities. Instead these references are passed to the default
| handler.

[1] <https://www.xml.com/pub/1999/09/expat/reference.html#setdefhandler>
2018-10-09 16:04:43 +02:00
Pierrick Charron efa5674a9b Merge branch 'PHP-7.1' into PHP-7.2 2018-10-09 01:20:01 -04:00
Pierrick Charron f42d7bddc0 Fixed bug #76965 INI_SCANNER_RAW doesn't strip trailing whitespace 2018-10-09 00:00:21 -04:00
Christoph M. Becker 879c937a27 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76954: apache_response_headers removes last character from header name
2018-10-08 12:30:45 +02:00
stodorovic 47b89bc531 Fix #76954: apache_response_headers removes last character from header name 2018-10-08 12:29:31 +02:00
Christoph M. Becker 1b97f291a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75851: Year component overflow with date formats "c", "o", "r" and "y"
2018-10-08 11:50:37 +02:00
Adam Saponara c097acd52e Fix #75851: Year component overflow with date formats "c", "o", "r" and "y" 2018-10-08 11:48:58 +02:00
Pedro Magalhães 608b48e5f4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove unstable dns tests
2018-10-06 15:58:32 +01:00
Pedro Magalhães 49835e1436 Remove unstable dns tests 2018-10-06 15:58:01 +01:00
Pedro Magalhães 82e10f3974 Fix #76888 - Remove unstable test 2018-10-06 15:45:07 +01:00
Anatol Belski fec5786f87 [ci skip] Update NEWS 2018-10-05 22:59:55 +02:00
Anatol Belski 833a1daee2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Add test for bug #76942
2018-10-05 22:57:45 +02:00
Anatol Belski aaf4cc05eb [ci skip] Update NEWS 2018-10-05 22:57:27 +02:00
Anatol Belski 72df422d69 Add test for bug #76942 2018-10-05 22:54:50 +02:00
Anatol Belski a7754286d2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add test for bug #76942
  Fixed Bug #76942 U_ARGUMENT_TYPE_MISMATCH
2018-10-05 22:52:53 +02:00
Anatol Belski c2a956de6f Add test for bug #76942 2018-10-05 22:51:58 +02:00
Anatol Belski 534684d104 Fixed Bug #76942 U_ARGUMENT_TYPE_MISMATCH
ref bug #74484
2018-10-05 22:50:34 +02:00
Nikita Popov fde2ae3721 Merge branch 'PHP-7.1' into PHP-7.2 2018-10-05 18:41:28 +02:00
Manuel Mausz bb4a2e8bb7 Fix #76972: FTP data truncation due to forceful ssl socket shutdown
Do a correct bidirectional shutdown instead
2018-10-05 18:40:50 +02:00
Anatol Belski 42b769b9e2 Update NEWS [ci skip] 2018-10-03 18:49:52 +02:00
Anatol Belski 31a293f885 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS [ci skip]
2018-10-03 18:49:13 +02:00
Anatol Belski abfda3de99 Update NEWS [ci skip] 2018-10-03 18:48:40 +02:00
Anatol Belski b8cfa09657 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Avoid code duplication and don't miss env restore
2018-10-03 14:34:08 +02:00
Anatol Belski 044eb39e63 Avoid code duplication and don't miss env restore 2018-10-03 14:32:52 +02:00
Remi Collet da05b7e81e bump zip extension version 2018-10-03 12:59:01 +02:00
Anatol Belski dc48e01a19 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76948 Failed shutdown/reboot or end session in Windows
2018-10-03 12:13:22 +02:00
Anatol Belski b0547a3dfb Fixed bug #76948 Failed shutdown/reboot or end session in Windows 2018-10-03 12:11:43 +02:00
Nikita Popov 54aa76167b Merge branch 'PHP-7.1' into PHP-7.2 2018-10-03 10:50:16 +02:00
Nikita Popov 945f315506 Reflection: Copy invoke function also in the variadic case
It doesn't matter how the parameters are provided, we always have
to copy the trampoline invoke function.
2018-10-03 10:48:42 +02:00
Nikita Popov f0647edd88 Fixed bug #66430 2018-10-02 18:19:53 +02:00
Nikita Popov d2477b284b Fixed bug #76936 2018-10-02 17:47:07 +02:00
Nikita Popov 56d1578515 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-30 20:07:44 +02:00
Nikita Popov db80e0e2ad Fixed bug #75479
Wrap the zend_signal_init() call, so the hook arguments line up.
2018-09-30 20:07:15 +02:00
James Titcumb 950c338f80 Fix reflection arguments for sodium_memzero function 2018-09-29 21:19:42 +02:00
Nikita Popov 8e7dfc6ddf Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 19:17:29 +02:00
Nikita Popov 83e2b9e220 Fixed bug #76946 2018-09-28 19:15:19 +02:00
Sara Golemon fed09a23b7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bump versions for 7.1.24-dev
2018-09-28 11:32:41 -04:00
Sara Golemon 69c1b619c9 Bump versions for 7.1.24-dev 2018-09-28 11:31:22 -04:00
Nikita Popov 99eb4b2ea4 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 13:41:06 +02:00
Nikita Popov fa84b8ebb4 Fix test for release builds 2018-09-28 13:40:58 +02:00
Nikita Popov 1c35357b31 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-28 12:57:55 +02:00
Nikita Popov 45cdcb2d0b Fixed bug #76846 2018-09-28 12:56:47 +02:00
Sara Golemon 5f29e3fb6e Bump version 2018-09-25 16:39:25 -04:00
9532 changed files with 298814 additions and 298777 deletions

No files matched your search

+2 -4
View File
@@ -1,4 +1,3 @@
version: "{branch}.build.{build}"
image: Visual Studio 2017
@@ -14,10 +13,10 @@ cache:
- c:\build-cache
environment:
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
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.1.9beta1
PHP_BUILD_SDK_BRANCH: php-sdk-2.2.0beta3
PHP_BUILD_CRT: vc15
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
@@ -48,4 +47,3 @@ build_script:
test_script:
- appveyor\test.bat
+10 -10
View File
@@ -5,7 +5,7 @@ end
document set_ts
set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running,
but we could get the resource from the argument
but we could get the resource from the argument
of frame info.
end
@@ -153,7 +153,7 @@ end
define printzv
set $ind = 1
____printzv $arg0 0
____printzv $arg0 0
end
document printzv
@@ -190,7 +190,7 @@ define ____printzv_contents
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
if $type == 7
printf "array: "
if ! $arg1
set $ind = $ind + 1
@@ -287,7 +287,7 @@ define ____printzv
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
____printzv_contents $zcontents 0
end
end
@@ -340,7 +340,7 @@ define ____print_ht
set $n = $n - 1
end
printf "[%d] ", $i
if $p->key
if $p->key
printf "%s => ", $p->key->val
else
printf "%d => ", $p->h
@@ -389,7 +389,7 @@ document print_htptr
end
define print_htstr
set $ind = 0
set $ind = 0
____print_ht $arg0 2
end
@@ -543,10 +543,10 @@ define printzn
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
@@ -576,11 +576,11 @@ end
document printzn
print type and content of znode.
usage: printzn &opline->op1
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
-2
View File
@@ -26,7 +26,6 @@
*.tar.xz.asc
.FBCIndex
.FBCLockFolder
.deps
.libs
phpt.*
core
@@ -232,4 +231,3 @@ win32/wsyslog.h
# special cases to invert previous ignore rules
!ext/fileinfo/libmagic.patch
!ext/mbstring/oniguruma.patch
+5 -2
View File
@@ -1,3 +1,6 @@
git:
quiet: true
dist: trusty
language: c
sudo: required
@@ -19,7 +22,7 @@ addons:
- libt1-dev
notifications:
email:
email:
on_failure: change
irc:
template:
@@ -61,7 +64,7 @@ before_script:
- . ./travis/ext/pgsql/setup.sh
- . ./travis/ext/pdo_pgsql/setup.sh
# Run PHPs run-tests.php
# Run PHPs run-tests.php
script:
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120
+1 -1
View File
@@ -113,7 +113,7 @@ User Functions/Methods Naming Conventions
of ``parent_*``::
A family of 'foo' functions, for example:
Good:
'foo_select_bar'
'foo_insert_baz'
+13 -13
View File
@@ -1,7 +1,7 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2018 The PHP Group. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
@@ -9,22 +9,22 @@ are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
5. The PHP Group may publish revised and/or new versions of the
license from time to time. Each version will be given a
distinguishing version number.
@@ -41,27 +41,27 @@ are met:
"This product includes PHP software, freely available from
<http://www.php.net/software/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
This software consists of voluntary contributions made by many
individuals on behalf of the PHP Group.
The PHP Group can be contacted via Email at group@php.net.
For more information on the PHP Group and the PHP project,
For more information on the PHP Group and the PHP project,
please see <http://www.php.net>.
PHP includes the Zend Engine, freely available at
-1
View File
@@ -1,4 +1,3 @@
#
# Zend
#
+1 -2
View File
@@ -1,4 +1,3 @@
#
# LCOV
#
@@ -62,7 +61,7 @@ php_lcov.info: lcov-test
rm -rf lcov_data/$$dir ; \
fi; \
done
@echo
@echo
@echo "Generating $@"
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
+297 -33
View File
@@ -1,6 +1,271 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2018, PHP 7.2.11
07 Mar 2019, PHP 7.2.16
- Core:
. Fixed bug #77589 (Core dump using parse_ini_string with numeric sections).
(Laruence)
. Fixed bug #77630 (rename() across the device may allow unwanted access
during processing). (Stas)
- COM:
. Fixed bug #77621 (Already defined constants are not properly reported).
(cmb)
- EXIF:
. Fixed bug #77509 (Uninitialized read in exif_process_IFD_in_TIFF). (Stas)
. Fixed bug #77540 (Invalid Read on exif_process_SOFn). (Stas)
. Fixed bug #77563 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas)
. Fixed bug #77659 (Uninitialized read in exif_process_IFD_in_MAKERNOTE). (Stas)
- PDO_OCI:
. Support Oracle Database tracing attributes ACTION, MODULE,
CLIENT_INFO, and CLIENT_IDENTIFIER. (Cameron Porter)
- PHAR:
. Fixed bug #77396 (Null Pointer Dereference in phar_create_or_parse_filename).
(bishop)
- SPL:
. Fixed bug #51068 (DirectoryIterator glob:// don't support current path
relative queries). (Ahmed Abdou)
. Fixed bug #77431 (openFile() silently truncates after a null byte). (cmb)
- Standard:
. Fixed bug #77552 (Unintialized php_stream_statbuf in stat functions).
(John Stevenson)
- MySQL
. Disabled LOCAL INFILE by default, can be enabled using php.ini directive
mysqli.allow_local_infile for mysqli, or PDO::MYSQL_ATTR_LOCAL_INFILE
attribute for pdo_mysql. (Darek Slusarczyk)
07 Feb 2019, PHP 7.2.15
- Core:
. Fixed bug #77339 (__callStatic may get incorrect arguments). (Dmitry)
. Fixed bug #77494 (Disabling class causes segfault on member access).
(Dmitry)
. Fixed bug #77530 (PHP crashes when parsing `(2)::class`). (Ekin)
- Curl:
. Fixed bug #76675 (Segfault with H2 server push). (Pedro Magalhães)
- GD:
. Fixed bug #73281 (imagescale(…, IMG_BILINEAR_FIXED) can cause black border).
(cmb)
. Fixed bug #73614 (gdImageFilledArc() doesn't properly draw pies). (cmb)
. Fixed bug #77272 (imagescale() may return image resource on failure). (cmb)
. Fixed bug #77391 (1bpp BMPs may fail to be loaded). (Romain Déoux, cmb)
. Fixed bug #77479 (imagewbmp() segfaults with very large images). (cmb)
- ldap:
. Fixed bug #77440 (ldap_bind using ldaps or ldap_start_tls()=exception in
libcrypto-1_1-x64.dll). (Anatol)
- Mbstring:
. Fixed bug #77454 (mb_scrub() silently truncates after a null byte).
(64796c6e69 at gmail dot com)
- MySQLnd:
. Fixed bug #75684 (In mysqlnd_ext_plugin.h the plugin methods family has
no external visibility). (Anatol)
- Opcache:
. Fixed bug #77361 (configure fails on 64-bit AIX when opcache enabled).
(Kevin Adler)
- OpenSSL:
. Fixed bug #77390 (feof might hang on TLS streams in case of fragmented TLS
records). (Abyl Valg, Jakub Zelenka)
- PDO:
. Fixed bug #77273 (array_walk_recursive corrupts value types leading to PDO
failure). (Nikita)
- phpdbg:
. Fixed bug #76596 (phpdbg support for display_errors=stderr). (kabel)
- Sockets:
. Fixed bug #76839 (socket_recvfrom may return an invalid 'from' address
on MacOS). (Michael Meyer)
- Standard:
. Fixed bug #77395 (segfault about array_multisort). (Laruence)
. Fixed bug #77439 (parse_str segfaults when inserting item into existing
array). (Nikita)
10 Jan 2019, PHP 7.2.14
- Core:
. Fixed bug #77369 (memcpy with negative length via crafted DNS response). (Stas)
. Fixed bug #71041 (zend_signal_startup() needs ZEND_API).
(Valentin V. Bartenev)
. Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line).
(Nikita)
- COM:
. Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb)
- Date:
. Fixed bug #77097 (DateTime::diff gives wrong diff when the actual diff is
less than 1 second). (Derick)
- Exif:
. Fixed bug #77184 (Unsigned rational numbers are written out as signed
rationals). (Colin Basnett)
- GD:
. Fixed bug #77269 (efree() on uninitialized Heap data in imagescale leads to
use-after-free). (cmb)
. Fixed bug #77270 (imagecolormatch Out Of Bounds Write on Heap). (cmb)
. Fixed bug #77195 (Incorrect error handling of imagecreatefromjpeg()). (cmb)
. Fixed bug #77198 (auto cropping has insufficient precision). (cmb)
. Fixed bug #77200 (imagecropauto(…, GD_CROP_SIDES) crops left but not right).
(cmb)
- IMAP:
. Fixed bug #77020 (null pointer dereference in imap_mail). (cmb)
- Mbstring:
. Fixed bug #77370 (Buffer overflow on mb regex functions - fetch_token). (Stas)
. Fixed bug #77371 (heap buffer overflow in mb regex functions
- compile_string_node). (Stas)
. Fixed bug #77381 (heap buffer overflow in multibyte match_at). (Stas)
. Fixed bug #77382 (heap buffer overflow due to incorrect length in
expand_case_fold_string). (Stas)
. Fixed bug #77385 (buffer overflow in fetch_token). (Stas)
. Fixed bug #77394 (Buffer overflow in multibyte case folding - unicode). (Stas)
. Fixed bug #77418 (Heap overflow in utf32be_mbc_to_code). (Stas)
- OCI8:
. Fixed bug #76804 (oci_pconnect with OCI_CRED_EXT not working). (KoenigsKind)
. Added oci_set_call_timeout() for call timeouts.
. Added oci_set_db_operation() for the DBOP end-to-end-tracing attribute.
- Opcache:
. Fixed bug #77215 (CFG assertion failure on multiple finalizing switch
frees in one block). (Nikita)
- PDO:
. Handle invalid index passed to PDOStatement::fetchColumn() as error. (Sergei
Morozov)
- Phar:
. Fixed bug #77247 (heap buffer overflow in phar_detect_phar_fname_ext). (Stas)
- Sockets:
. Fixed bug #77136 (Unsupported IPV6_RECVPKTINFO constants on macOS).
(Mizunashi Mana)
- SQLite3:
. Fixed bug #77051 (Issue with re-binding on SQLite3). (BohwaZ)
- Xmlrpc:
. Fixed bug #77242 (heap out of bounds read in xmlrpc_decode()). (cmb)
. Fixed bug #77380 (Global out of bounds read in xmlrpc base64 code). (Stas)
06 Dec 2018, PHP 7.2.13
- ftp:
. Fixed bug #77151 (ftp_close(): SSL_read on shutdown). (Remi)
- CLI:
. Fixed bug #77111 (php-win.exe corrupts unicode symbols from cli
parameters). (Anatol)
- Fileinfo:
. Fixed bug #77095 (slowness regression in 7.2/7.3 (compared to 7.1)).
(Anatol)
- iconv:
. Fixed bug #77147 (Fixing 60494 ignored ICONV_MIME_DECODE_CONTINUE_ON_ERROR).
(cmb)
- IMAP:
. Fixed bug #77153 (imap_open allows to run arbitrary shell commands via
mailbox parameter). (Stas)
- ODBC:
. Fixed bug #77079 (odbc_fetch_object has incorrect type signature).
(Jon Allen)
- Opcache:
. Fixed bug #77058 (Type inference in opcache causes side effects). (Nikita)
. Fixed bug #77092 (array_diff_key() - segmentation fault). (Nikita)
- PGSQL:
. Fixed bug #77047 (pg_convert has a broken regex for the 'TIME WITHOUT
TIMEZONE' data type). (Andy Gajetzki)
- SOAP:
. Fixed bug #50675 (SoapClient can't handle object references correctly).
(Cameron Porter)
. Fixed bug #76348 (WSDL_CACHE_MEMORY causes Segmentation fault). (cmb)
. Fixed bug #77141 (Signedness issue in SOAP when precision=-1). (cmb)
- Sockets:
. Fixed bug #67619 (Validate length on socket_write). (thiagooak)
08 Nov 2018, PHP 7.2.12
- Core:
. Fixed bug #76846 (Segfault in shutdown function after memory limit error).
(Nikita)
. Fixed bug #76946 (Cyclic reference in generator not detected). (Nikita)
. Fixed bug #77035 (The phpize and ./configure create redundant .deps file).
(Peter Kokot)
. Fixed bug #77041 (buildconf should output error messages to stderr)
(Mizunashi Mana)
- Date:
. Upgraded timelib to 2017.08. (Derick)
. Fixed bug #75851 (Year component overflow with date formats "c", "o", "r"
and "y"). (Adam Saponara)
. Fixed bug #77007 (fractions in `diff()` are not correctly normalized).
(Derick)
- FCGI:
. Fixed #76948 (Failed shutdown/reboot or end session in Windows). (Anatol)
. Fixed bug #76954 (apache_response_headers removes last character from header
name). (stodorovic)
- FTP:
. Fixed bug #76972 (Data truncation due to forceful ssl socket shutdown).
(Manuel Mausz)
- intl:
. Fixed bug #76942 (U_ARGUMENT_TYPE_MISMATCH). (anthrax at unixuser dot org)
- Reflection:
. Fixed bug #76936 (Objects cannot access their private attributes while
handling reflection errors). (Nikita)
. Fixed bug #66430 (ReflectionFunction::invoke does not invoke closure with
object scope). (Nikita)
- Sodium:
. Some base64 outputs were truncated; this is not the case any more.
(jedisct1)
. block sizes >= 256 bytes are now supposed by sodium_pad() even
when an old version of libsodium has been installed. (jedisct1)
. Fixed bug #77008 (sodium_pad() could read (but not return nor write)
uninitialized memory when trying to pad an empty input). (jedisct1)
- Standard:
. Fixed bug #76965 (INI_SCANNER_RAW doesn't strip trailing whitespace).
(Pierrick)
- Tidy:
. Fixed bug #77027 (tidy::getOptDoc() not available on Windows). (cmb)
- XML:
. Fixed bug #30875 (xml_parse_into_struct() does not resolve entities). (cmb)
. Add support for getting SKIP_TAGSTART and SKIP_WHITE options. (cmb)
- XMLRPC:
. Fixed bug #75282 (xmlrpc_encode_request() crashes). (cmb)
11 Oct 2018, PHP 7.2.11
- Core:
. Fixed bug #76800 (foreach inconsistent if array modified during loop).
@@ -32,7 +297,7 @@ PHP NEWS
- 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
. 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)
@@ -63,7 +328,7 @@ PHP NEWS
. Fixed bug #76517 (incorrect restoring of LDFLAGS). (sji)
- iconv:
. Fixed bug #68180 (iconv_mime_decode can return extra characters in a
. 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)
@@ -307,7 +572,7 @@ PHP NEWS
. Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite). (Laruence)
- SPL:
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
. Fixed bug #76131 (mismatch arginfo for splarray constructor).
(carusogabriel)
- standard:
@@ -389,7 +654,7 @@ PHP NEWS
- Phar:
. Fixed bug #54289 (Phar::extractTo() does not accept specific directories to
be extracted). (bishop)
. Fixed bug #65414 (deal with leading slash while adding files correctly).
. Fixed bug #65414 (deal with leading slash while adding files correctly).
(bishopb)
. Fixed bug #65414 (deal with leading slash when adding files correctly).
(bishopb)
@@ -465,7 +730,7 @@ PHP NEWS
. Fixed bug #75502 (Segmentation fault in zend_string_release). (Nikita)
- SPL:
. Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by
. Fixed bug #75717 (RecursiveArrayIterator does not traverse arrays by
reference). (Nikita)
. Fixed bug #75242 (RecursiveArrayIterator doesn't have constants from parent
class). (Nikita)
@@ -529,7 +794,7 @@ PHP NEWS
(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
. 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)
@@ -584,7 +849,7 @@ PHP NEWS
(Anatol)
. Implemented minor optimization in array_keys/array_values(). (Sara)
. Added PHP_OS_FAMILY constant to determine on which OS we are. (Jan Altensen)
. Fixed bug #73987 (Method compatibility check looks to original
. Fixed bug #73987 (Method compatibility check looks to original
definition and not parent). (pmmaga)
. Fixed bug #73991 (JSON_OBJECT_AS_ARRAY not respected). (Sara)
. Fixed bug #74053 (Corrupted class entries on shutdown when a destructor
@@ -614,7 +879,7 @@ PHP NEWS
. Added new VM instuctions ISSET_ISEMPTY_CV and UNSET_CV. Previously they
were implemented as ISSET_ISEMPTY_VAR and UNSET_VAR variants with
ZEND_QUICK_SET flag. (Nikita, Dmitry)
. Fixed bug #49649 (unserialize() doesn't handle changes in property
. Fixed bug #49649 (unserialize() doesn't handle changes in property
visibility). (pmmaga)
. Fixed #74866 (extension_dir = "./ext" now use current directory for base).
(Francois Laupretre)
@@ -647,7 +912,7 @@ PHP NEWS
- EXIF:
. Added support for vendor specific tags for the following formats:
Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon, AGFA,
Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon, AGFA,
Kyocera, Ricoh & Epson. (Kalle)
. Fixed bug #72682 (exif_read_data() fails to read all data for some
images). (Kalle)
@@ -659,15 +924,15 @@ PHP NEWS
reached for some cameras). (Kalle)
. Fixed Redhat bug #1362571 (PHP not returning full results for
exif_read_data function). (Kalle)
. Implemented #65187 (exif_read_data/thumbnail: add support for stream
. Implemented #65187 (exif_read_data/thumbnail: add support for stream
resource). (Kalle)
. Deprecated the read_exif_data() alias. (Kalle)
. Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with
. Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with
correct exif format). (bradpiccho at gmail dot com, Kalle)
. Fixed bug #72819 (EXIF thumbnails not read anymore). (Kalle)
. Fixed bug #62523 (php crashes with segfault when exif_read_data called).
. Fixed bug #62523 (php crashes with segfault when exif_read_data called).
(Kalle)
. Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with
. Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with
other exif readers). (skinny dot bravo at gmail dot com, Kalle)
- Fileinfo:
@@ -697,7 +962,7 @@ PHP NEWS
. Fixed Bug #75284 (sha3 is not supported on bigendian machine). (Remi)
- IMAP:
. Fixed bug #72324 (imap_mailboxmsginfo() return wrong size).
. Fixed bug #72324 (imap_mailboxmsginfo() return wrong size).
(ronaldpoon at udomain dot com dot hk, Kalle)
- Intl:
@@ -802,7 +1067,7 @@ PHP NEWS
read-only/getter mode). (Yasuo)
. Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a
warning in read mode). (morozov)
. Fixed bug #74941 (session fails to start after having headers sent).
. Fixed bug #74941 (session fails to start after having headers sent).
(morozov)
- Sodium:
@@ -885,7 +1150,7 @@ PHP NEWS
. Fixed bug #75437 (Wrong reflection on imagewebp). (Fabien Villepinte)
- intl:
. Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
. Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead
of destination). (andrewnester)
- interbase:
@@ -923,7 +1188,7 @@ PHP NEWS
. Fixed bug #75236 (infinite loop when printing an error-message). (Andrea)
. Fixed bug #75252 (Incorrect token formatting on two parse errors in one
request). (Nikita)
. Fixed bug #75220 (Segfault when calling is_callable on parent).
. Fixed bug #75220 (Segfault when calling is_callable on parent).
(andrewnester)
. Fixed bug #75290 (debug info of Closures of internal functions contain
garbage argument names). (Andrea)
@@ -943,7 +1208,7 @@ PHP NEWS
optional). (cmb)
- litespeed:
. Fixed bug #75248 (Binary directory doesn't get created when building
. Fixed bug #75248 (Binary directory doesn't get created when building
only litespeed SAPI). (petk)
. Fixed bug #75251 (Missing program prefix and suffix). (petk)
@@ -1070,7 +1335,7 @@ PHP NEWS
. Fixed bug #75049 (spl_autoload_unregister can't handle
spl_autoload_functions results). (Laruence)
. Fixed bug #74669 (Unserialize ArrayIterator broken). (Andrew Nester)
. Fixed bug #74977 (Appending AppendIterator leads to segfault).
. Fixed bug #74977 (Appending AppendIterator leads to segfault).
(Andrew Nester)
. Fixed bug #75015 (Crash in recursive iterator destructors). (Julien)
@@ -1091,9 +1356,9 @@ PHP NEWS
03 Aug 2017, PHP 7.1.8
- Core:
. Fixed bug #74832 (Loading PHP extension with already registered function
. Fixed bug #74832 (Loading PHP extension with already registered function
name leads to a crash). (jpauli)
. Fixed bug #74780 (parse_url() broken when query string contains colon).
. Fixed bug #74780 (parse_url() broken when query string contains colon).
(jhdxr)
. Fixed bug #74761 (Unary operator expected error on some systems). (petk)
. Fixed bug #73900 (Use After Free in unserialize() SplFixedArray). (nikic)
@@ -1102,7 +1367,7 @@ PHP NEWS
. Fixed bug #74906 (fixed incorrect errno.h include). (petk)
- Date:
. Fixed bug #74852 (property_exists returns true on unknown DateInterval
. Fixed bug #74852 (property_exists returns true on unknown DateInterval
property). (jhdxr)
- OCI8:
@@ -1313,7 +1578,7 @@ PHP NEWS
(Jakub Zelenka)
- phar:
. Fixed bug #74383 (phar method parameters reflection correction).
. Fixed bug #74383 (phar method parameters reflection correction).
(mhagstrand)
- Readline:
@@ -1485,7 +1750,7 @@ PHP NEWS
. Fixed bug #72898 (PHP_FCGI_CHILDREN is not included in phpinfo()). (Anatol)
- FPM:
. Fixed bug #69865 (php-fpm does not close stderr when using syslog).
. Fixed bug #69865 (php-fpm does not close stderr when using syslog).
(m6w6)
- GD:
@@ -1493,7 +1758,7 @@ PHP NEWS
- GMP:
. Fixed bug #69993 (test for gmp.h needs to test machine includes).
(Jordan Gigov)
(Jordan Gigov)
- Hash:
. Added hash_hkdf() function. (Andrey Andreev)
@@ -1527,7 +1792,7 @@ PHP NEWS
. Implemented FR #72583 (All data are fetched as strings). (Dorin Marcoci)
- PDO_PgSQL:
. Fixed bug #73959 (lastInsertId fails to throw an exception for wrong
. Fixed bug #73959 (lastInsertId fails to throw an exception for wrong
sequence name). (andrewnester)
- Phar:
@@ -1591,7 +1856,7 @@ PHP NEWS
- Mysqlnd:
. Optimized handling of BIT fields - less memory copies and lower memory
usage. (Andrey)
. Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE).
. Fixed bug #73800 (sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE).
(vanviegen)
- Opcache:
@@ -2097,7 +2362,7 @@ PHP NEWS
- PCRE:
. Fixed bug #73483 (Segmentation fault on pcre_replace_callback). (Laruence)
. Fixed bug #73612 (preg_*() may leak memory). (cmb)
. Fixed bug #73392 (A use-after-free in zend allocator management).
. Fixed bug #73392 (A use-after-free in zend allocator management).
(Laruence)
. Fixed bug #73121 (Bundled PCRE doesn't compile because JIT isn't supported
on s390). (Anatol)
@@ -2193,7 +2458,7 @@ PHP NEWS
. Implemented RFC: Session ID without hashing. (Yasuo)
https://wiki.php.net/rfc/session-id-without-hashing
. Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow). (Laruence)
. Custom session handlers that do not return strings for session IDs will
. Custom session handlers that do not return strings for session IDs will
now throw an instance of Error instead of resulting in a fatal error
when a function is called that must generate a session ID.
(Aaron Piotrowski)
@@ -2229,7 +2494,7 @@ PHP NEWS
unserialize()). (Stas)
- Soap:
. Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP
. Fixed bug #73538 (SoapClient::__setSoapHeaders doesn't overwrite SOAP
headers). (duncan3dc)
. Fixed bug #73452 (Segfault (Regression for #69152)). (Dmitry)
. Fixed bug #73037 (SoapServer reports Bad Request when gzipped). (Anatol)
@@ -2237,7 +2502,7 @@ PHP NEWS
(Keith Smiley)
. Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient)
(Keith Smiley)
. Fixed bug #71711 (Soap Server Member variables reference bug). (Nikita)
. Fixed bug #71711 (Soap Server Member variables reference bug). (Nikita)
. Fixed bug #71996 (Using references in arrays doesn't work like expected).
(Nikita)
@@ -2382,4 +2647,3 @@ PHP NEWS
php_stream_zip_opener). (Stas)
. ZipArchive::addGlob() will throw an instance of Error instead of resulting
in a fatal error if glob support is not available. (Aaron Piotrowski)
+9 -10
View File
@@ -1,6 +1,6 @@
(NOTE: you may also want to take a look at the pear package
PECL_Gen, a PHP-only alternative for this script that
supports way more extension writing tasks and is
supports way more extension writing tasks and is
supposed to replace ext_skel completely in the long run ...)
WHAT IT IS
@@ -17,16 +17,16 @@ HOW TO USE IT
./ext_skel --extname=module_name
and everything you need is placed in directory module_name.
and everything you need is placed in directory module_name.
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
#! line in skeleton/create_stubs and the cat $proto | awk line in
ext_skel to use gawk explicitly. ]
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
change back up to PHP sources top directory, and do
./buildconf; ./configure --enable-module_name; make
@@ -83,7 +83,7 @@ FORMAT OF FUNCTION DEFINITIONS FILE
']'s as there where '['s. Currently, it does not harm if you forget to do it
or there is a wrong amount of ']'s, but this may change in the future.
An additional short description may be added after the parameters.
An additional short description may be added after the parameters.
If present it will be filled into the 'proto' header comments in the stubs
code and the <refpurpose> tag in the XML documentation.
@@ -135,7 +135,7 @@ CURRENT LIMITATIONS, BUGS AND OTHER ODDITIES
handled. For other types you must write the code yourself. And for type
mixed, it wouldn't even be possible to write anything, because only you
know what to expect.
It can't handle correctly, and probably never will, variable list of
of arguments. (void foo(int bar [, ...])
@@ -185,4 +185,3 @@ PHP_FUNCTION(module_name_drawtext)
php_error(E_WARNING, "module_name_drawtext: not yet implemented");
}
/* }}} */
+2 -2
View File
@@ -44,7 +44,7 @@ Having said that, here are the organizational rules::
Currently we have the following branches in use::
master The active development branch.
master The active development branch.
PHP-7.1 Is used to release the PHP 7.1.x series. This is a prerelease
version.
@@ -110,7 +110,7 @@ The format of the commit messages is pretty simple.
An Example from the git project (commit 2b34e486bc):
pack-objects: Fix compilation with NO_PTHREDS
It looks like commit 99fb6e04 (pack-objects: convert to use
parse_options(), 2012-02-01) moved the #ifdef NO_PTHREDS around but
hasn't noticed that the 'arg' variable no longer is available.
+2 -2
View File
@@ -3,7 +3,7 @@ $Id: README.NEW-OUTPUT-API 219039 2006-08-30 07:39:09Z mike $
API adjustment to the old output control code:
Everything now resides beneath the php_output namespace,
Everything now resides beneath the php_output namespace,
and there's an API call for every output handler op.
Checking output control layers status:
@@ -134,7 +134,7 @@ Output handler hooks
Open questions
Should the userland API be adjusted and unified?
Many bits of the manual (and very first implementation) do not comply
with the behaviour of the current (to be obsoleted) code, thus should
the manual or the behaviour be adjusted?
+9 -9
View File
@@ -42,11 +42,11 @@ See also https://wiki.php.net/rfc/zpp_improv#expose_zend_parse_arg_as_zend_parse
Type specifiers
---------------
The following list shows the type specifier, its meaning and the parameter
The following list shows the type specifier, its meaning and the parameter
types that need to be passed by address. All passed parameters are set
if the PHP parameter is non optional and untouched if optional and the
if the PHP parameter is non optional and untouched if optional and the
parameter is not present. The only exception is O where the zend_class_entry*
has to be provided on input and is used to verify the PHP parameter is an
has to be provided on input and is used to verify the PHP parameter is an
instance of that class.
a - array (zval*)
@@ -54,7 +54,7 @@ Type specifiers
b - boolean (zend_bool)
C - class (zend_class_entry*)
d - double (double)
f - function or array containing php method call info (returned as
f - function or array containing php method call info (returned as
zend_fcall_info and zend_fcall_info_cache)
h - array (returned as HashTable*)
H - array or HASH_OF(object) (returned as HashTable*)
@@ -88,9 +88,9 @@ Type specifiers
Note on 64bit compatibility
---------------------------
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
not the other way round!
Both mistakes might cause memory corruptions and segfaults:
@@ -103,7 +103,7 @@ Both mistakes might cause memory corruptions and segfaults:
int num; /* XXX THIS IS WRONG!! Use zend_long instead. */
zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num)
If you're in doubt, use check_parameters.php script to the parameters
If you're in doubt, use check_parameters.php script to the parameters
and their types (it can be found in ./scripts/dev/ directory of PHP sources):
# php ./scripts/dev/check_parameters.php /path/to/your/sources/
@@ -152,7 +152,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/!",
/* Get either a set of 3 longs or a string. */
zend_long l1, l2, l3;
char *s;
/*
/*
* The function expects a pointer to a size_t in this case, not a long
* or any other type. If you specify a type which is larger
* than a 'size_t', the upper bits might not be initialized
+21 -22
View File
@@ -46,7 +46,7 @@ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
6. ext/standard crypt's blowfish implementation
@@ -92,7 +92,7 @@ http://www.usenix.org/events/usenix99/provos.html
Some of the tricks in BF_ROUND might be inspired by Eric Young's
Blowfish library (I can't be sure if I would think of something if I
hadn't seen his code).
7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite
@@ -126,7 +126,7 @@ Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
Copyright (C) 2000 - 2003, Richard J. Wagner
All rights reserved.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -139,8 +139,8 @@ are met:
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
3. The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
@@ -261,26 +261,26 @@ SUCH DAMAGE.
12. libxmlrpc ext/xmlrpc
Copyright 2000 Epinions, Inc.
Copyright 2000 Epinions, Inc.
Subject to the following 3 conditions, Epinions, Inc. permits you, free
of charge, to (a) use, copy, distribute, modify, perform and display this
software and associated documentation files (the "Software"), and (b)
permit others to whom the Software is furnished to do so as well.
Subject to the following 3 conditions, Epinions, Inc. permits you, free
of charge, to (a) use, copy, distribute, modify, perform and display this
software and associated documentation files (the "Software"), and (b)
permit others to whom the Software is furnished to do so as well.
1) The above copyright notice and this permission notice shall be included
without modification in all copies or substantial portions of the
Software.
1) The above copyright notice and this permission notice shall be included
without modification in all copies or substantial portions of the
Software.
2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.
2) THE SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY OR CONDITION OF
ANY KIND, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION ANY
IMPLIED WARRANTIES OF ACCURACY, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE OR NONINFRINGEMENT.
3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
3) IN NO EVENT SHALL EPINIONS, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR LOST PROFITS ARISING OUT
OF OR IN CONNECTION WITH THE SOFTWARE (HOWEVER ARISING, INCLUDING
NEGLIGENCE), EVEN IF EPINIONS, INC. IS AWARE OF THE POSSIBILITY OF SUCH
DAMAGES.
13. libzip ext/zip
@@ -414,4 +414,3 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+6 -7
View File
@@ -32,7 +32,7 @@ team (Bjori) on hand.
6. Verify the tags to be extra sure everything was tagged properly.
7. Moving extensions from/to PECL requires write access to the destination.
Most developers should have this.
Most developers should have this.
Moving extensions from php-src to PECL
- Checkout the pecl directory, most likely you want a sparse-root checkout
@@ -125,7 +125,7 @@ Getting the non stable release (alpha/beta/RC) announced
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
3. Add a short notice to phpweb stating that there is a new release, and
3. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important
to upgrade.
@@ -140,7 +140,7 @@ to upgrade.
*Wait for web and qa sites to update with new information before sending announce*
5. Send an email **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
5. Send an email **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
lists pointing out "the location of the release" and "the possible release date of
either the next RC, or the final release". Include in this information the verification
information output by ``gen_verify_stub``.
@@ -193,7 +193,7 @@ Check if the pear files are updated (phar).
``gpg -u YOUREMAIL --armor --detach-sign php-X.Y.Z.tar.xxx``
11. Commit and push all the tarballs and signature files to web/php-distributions.git,
then update the git submodule reference in web/php.git:
then update the git submodule reference in web/php.git:
``git submodule init;
git submodule update;
cd distributions;
@@ -263,7 +263,7 @@ f.e. ``ChangeLog-5.php`` from the NEWS file
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
e. You may want to try php-web/bin/news2html to automate this task
6. Add a short notice to phpweb stating that there is a new release, and
@@ -338,7 +338,7 @@ New Release Manager Checklist
one or more of the previous RMs sign your key. Publish your public key to pgp.mit.edu with:
`gpg --keyserver pgp.mit.edu --send-keys $KEYID`
3. Request karma to eding main/php_version.h. Possibly karma for other restricted parts of
3. Request karma to eding main/php_version.h. Possibly karma for other restricted parts of
php-src might come in question.
4. Request karma for web/qa.git and web/php.git for publishing release announcements.
@@ -346,4 +346,3 @@ New Release Manager Checklist
5. Request moderation access to announce@php.net and primary-qa-tester@lists.php.net lists, to
be able to moderate your release announcements. All the announcements should be sent from
the @php.net alias.
+8 -9
View File
@@ -23,7 +23,7 @@ PREPARING YOUR SYSTEM
GNU libtool
GNU m4
All of these are available from
All of these are available from
ftp://ftp.gnu.org/pub/gnu/
@@ -33,7 +33,7 @@ CONVERTING AN EXISTING EXTENSION
extension, we will convert an embedded extension into a
self-contained one. Install PHP and execute the following
commands.
$ mkdir /tmp/newext
$ cd /tmp/newext
@@ -56,7 +56,7 @@ CONVERTING AN EXISTING EXTENSION
[--with-mysql=MYSQL-DIR]
$ make install
The MySQL module will either use the embedded MySQL client
The MySQL module will either use the embedded MySQL client
library or the MySQL installation in MYSQL-DIR.
@@ -67,8 +67,8 @@ DEFINING THE NEW EXTENSION
It consists of two source files "foo.c" and "bar.c"
(and any arbitrary amount of header files, but that is not
important here).
The demo extension does not reference any external
The demo extension does not reference any external
libraries (that is important, because the user does not
need to specify anything).
@@ -78,7 +78,7 @@ DEFINING THE NEW EXTENSION
CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
The m4 configuration can perform additional checks. For a
self-contained extension, you do not need more than a few
macro calls.
@@ -97,7 +97,7 @@ fi
The first argument of PHP_NEW_EXTENSION describes the name of the
extension. The second names the source-code files. The third passes
$ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework.
@@ -138,7 +138,7 @@ INSTALLING A SELF-CONTAINED EXTENSION
ADDING SHARED MODULE SUPPORT TO A MODULE
In order to be useful, a self-contained extension must be loadable
as a shared module. I will explain now how you can add shared module
as a shared module. I will explain now how you can add shared module
support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will
@@ -167,4 +167,3 @@ PECL SITE CONFORMITY
This macros has to be used within your foo_module_entry to indicate the
extension version.
+5 -5
View File
@@ -28,7 +28,7 @@ The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count);
PHPAPI size_t php_stream_printf(php_stream * stream,
PHPAPI size_t php_stream_printf(php_stream * stream,
const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream);
@@ -63,7 +63,7 @@ Where:
file/URL, use this option to arrange for the stream
to be copied (if needed) into a stream that can
be seek()ed.
opened_path is used to return the path of the actual file opened,
but if you used STREAM_MUST_SEEK, may not be valid. You are
responsible for efree()ing opened_path. opened_path may be (and usually
@@ -95,7 +95,7 @@ PHPAPI php_stream *php_stream_sock_open_host(const char *host, unsigned short po
PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent,
struct timeval *timeout);
Open a UNIX domain socket.
Stream Utilities
================
@@ -246,7 +246,7 @@ PHPAPI php_stream * php_stream_fopen(const char * filename, const char * mode)
{
FILE * fp = fopen(filename, mode);
php_stream * ret;
if (fp) {
ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode);
if (ret)
@@ -347,7 +347,7 @@ static size_t php_mysqlop_read(php_stream * stream, char * buf, size_t count)
else
return 0;
}
/* pull out some data from the stream and put it in buf */
... mysql_fetch_row(state->result) ...
/* we could do something strange, like format the data as XML here,
+1 -1
View File
@@ -128,7 +128,7 @@ How to create your PHP, PHP Documentation or PECL patch
-------------------------------------------------------
PHP and most PECL packages use Git for revision control. Some PECL
packages use Subversion (SVN) Read http://www.php.net/git.php for help
on using Git to get and build PHP source code. We recommend to look
on using Git to get and build PHP source code. We recommend to look
at our workflow on https://wiki.php.net/vcs/gitworkflow and our FAQ
https://wiki.php.net/vcs/gitfaq.
+8 -8
View File
@@ -9,7 +9,7 @@ it failed on your system without providing substantial backup information
on *why* the test failed on your special setup. Thank you :-)
[Testing Basics]
[Testing Basics]
----------------
The easiest way to test your PHP build is to run "make test" from the
command line after successfully compiling. This will run the complete
@@ -36,7 +36,7 @@ If you are running the run-tests.php script from the command line (as above)
you must set the TEST_PHP_EXECUTABLE environment variable to explicitly
select the PHP executable that is to be tested, that is, used to run the test scripts.
If you run the tests using make test, the PHP CLI and CGI executables are
If you run the tests using make test, the PHP CLI and CGI executables are
automatically set for you. "make test" executes "run-tests.php" script with the CLI binary. Some
test scripts such as session must be executed by CGI SAPI. Therefore,
you must build PHP with CGI SAPI to perform all tests.
@@ -62,7 +62,7 @@ from the source root and any subdirectories below. If there are files,
which have a "phpt" extension, "run-tests.php" looks at the sections
in these files, determines whether it should run it, by evaluating
the 'SKIP' section. If the test is eligible for execution, the 'FILE'
section is extracted into a ".php" file (with the same name besides
section is extracted into a ".php" file (with the same name besides
the extension) and gets executed.
When an argument is given or TESTS environment variable is set, the
GLOB is expanded by the shell and any file with extension "*.phpt" is
@@ -77,9 +77,9 @@ Examples:
[Test results]
--------------
Test results are printed to standard output. If there is a failed test,
Test results are printed to standard output. If there is a failed test,
the "run-tests.php" script saves the result, the expected result and the
code executed to the test script directory. For example, if
code executed to the test script directory. For example, if
ext/myext/tests/myext.phpt fails to pass, the following files are created:
ext/myext/tests/myext.php - actual test file executed
@@ -151,20 +151,20 @@ advised to test for non-zero, rather then a specific value.
[Creating new test files]
-------------------------
Writing test file is very easy if you are used to PHP.
Writing test file is very easy if you are used to PHP.
See the HOWTO at http://qa.php.net/write-test.php
[How to help us]
----------------
If you find bug in PHP, you can submit bug report AND test script
If you find bug in PHP, you can submit bug report AND test script
for us. You don't have to write complete script, just give us test
script with following format. Please test the script and make sure
you write the correct ACTUAL OUTPUT and EXPECTED OUTPUT before you
submit.
<?php
/*
/*
Bug #12345
substr() bug. Do not return expected string.
+8 -11
View File
@@ -1,13 +1,13 @@
[IMPORTANT NOTICE]
------------------
This is an addendum to README.TESTING with additional information
This is an addendum to README.TESTING with additional information
specific to server-tests.php.
server-tests.php is backward compatible with tests developed for
the original run-tests.php script. server-tests is *not* used by
'make test'. server-tests was developed to provide support for
testing PHP under it's primary environment, HTTP, and can run the
PHP tests under any of the SAPI modules that are direct executables,
PHP tests under any of the SAPI modules that are direct executables,
or are accessible via HTTP.
[New features]
@@ -25,7 +25,7 @@ or are accessible via HTTP.
can be configured to run test scripts through an HTTP server running
on localhost. localhost is required since either the web server must
alias a directory to the php source directory, or the test scripts
must be copied to a directory under the web server
must be copied to a directory under the web server
(see config options TEST_WEB_BASE_URL, TEST_BASE_PATH, and TEST_WEB_EXT)
* New sections supported for test files (see below)
@@ -49,7 +49,7 @@ Some (but not all!) examples of usage:
4. run tests over http, php sources have been aliased in web server
php server-tests.php -w -u http://localhost/test
5. run tests using configuration file
php server-tests.php -c /path/to/server-tests-config.php
@@ -59,10 +59,10 @@ Some (but not all!) examples of usage:
NOTE: configuration as described in README.TESTING still works.
[New Test Sections]
[New Test Sections]
----------------
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
under server-tests.
--POST--
@@ -78,7 +78,7 @@ in the test file.
Not used for anything, just a section for documenting the test
--ENV--
This section get's eval()'d to help build an environment for the
This section get's eval()'d to help build an environment for the
execution of the test. This can be used to change environment
vars that are used for CGI emulation, or simply to set env vars
for cli testing. A full example looks like:
@@ -132,6 +132,3 @@ regular expect sections. For example:
--EXPECTHEADERS--
Status: 404
-1
View File
@@ -3,4 +3,3 @@ The Win32 Build System.
See https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
vim:tw=78:sw=1:ts=1:et
+1 -1
View File
@@ -12,7 +12,7 @@ enforced. It is implemented as a SAPI hook and is called from the
treat_data and post handler functions. To implement your own security
policy you will need to write a standard PHP extension. There is also
a powerful standard implementation in ext/filter that should suit most
peoples' needs. However, if you want to implement your own security
peoples' needs. However, if you want to implement your own security
policy, read on.
A simple implementation might look like the following. This stores the
-1
View File
@@ -37,4 +37,3 @@ Guidelines for contributors
- [README.GIT-RULES](/README.GIT-RULES)
- [README.MAILINGLIST_RULES](/README.MAILINGLIST_RULES)
- [README.RELEASE_PROCESS](/README.RELEASE_PROCESS)
-2
View File
@@ -1,5 +1,3 @@
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+2 -2
View File
@@ -5,7 +5,7 @@
#
# Written by Sascha Schumann
#
# $Id$
# $Id$
LT_TARGETS = ltmain.sh ltconfig
@@ -34,7 +34,7 @@ aclocal.m4: configure.ac acinclude.m4
aclocal
$(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
-1
View File
@@ -3,4 +3,3 @@
ADD_SOURCES("TSRM", "TSRM.c tsrm_strtok_r.c tsrm_win32.c");
ADD_FLAG("CFLAGS_BD_TSRM", "/D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
+2 -2
View File
@@ -12,10 +12,10 @@ AH_TOP([
])
sinclude(tsrm.m4)
TSRM_BASIC_CHECKS
TSRM_THREADS_CHECKS
AM_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
AM_SET_LIBTOOL_VARIABLE([--silent])
-1
View File
@@ -194,4 +194,3 @@ esac
AC_LANG_POP
]) dnl end AC_DEFUN
+6 -6
View File
@@ -1,17 +1,17 @@
dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved.
dnl
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions
dnl are met:
dnl
dnl
dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer.
dnl
dnl
dnl 2. Redistributions in binary form must reproduce the above copyright
dnl notice, this list of conditions and the following disclaimer in
dnl the documentation and/or other materials provided with the
dnl distribution.
dnl
dnl
dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY
dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@@ -97,7 +97,7 @@ dnl -Kthread UDK cc (UnixWare)
dnl -mt WorkShop cc (Solaris)
dnl -mthreads gcc (AIX)
dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD)
dnl -pthreads gcc (Solaris)
dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
@@ -117,7 +117,7 @@ else
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
+4 -4
View File
@@ -1,6 +1,6 @@
m4_include([TSRM/m4/gethostbyname.m4])
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
@@ -75,12 +75,12 @@ AC_DEFUN([TSRM_CHECK_ST],[
sinclude(threads.m4)
AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
if test "$beos_threads" = "1"; then
if test "$beos_threads" = "1"; then
AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads)
else
else
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
fi
+15 -8
View File
@@ -99,6 +99,13 @@ PHP 7.2 UPGRADE NOTES
from PHP 7.1 on 64-bit machines. This change was necessary to resolve a
modulo bias bug in the implementation.
- IMAP:
Starting with 7.2.13, rsh/ssh logins are disabled by default. Use
imap.enable_insecure_rsh if you want to enable them. Note that the IMAP
library does not filter mailbox names before passing them to rsh/ssh
command, thus passing untrusted data to this function with rsh/ssh enabled
is insecure.
========================================
2. New Features
========================================
@@ -180,7 +187,7 @@ PHP 8.0.
. The each() function has been deprecated, use a foreach loop instead.
. The $errcontext error handler argument has been deprecated. However, using
it does not trigger a deprecation warning for technical reasons.
- EXIF:
. The read_exif_data() alias has been deprecated, use exif_read_data() instead.
@@ -210,14 +217,14 @@ See also: https://wiki.php.net/rfc/deprecations_php_7_2
========================================
- Standard:
. password_hash() can generate Argon2i hashes when the algorithm is set to PASSWORD_ARGON2I.
When using PASSWORD_ARGON2I, the following cost factors may be set: 'memory_cost', 'time_cost',
and 'threads'. These cost factors will default to 'PASSWORD_ARGON2_DEFAULT_MEMORY_COST',
. password_hash() can generate Argon2i hashes when the algorithm is set to PASSWORD_ARGON2I.
When using PASSWORD_ARGON2I, the following cost factors may be set: 'memory_cost', 'time_cost',
and 'threads'. These cost factors will default to 'PASSWORD_ARGON2_DEFAULT_MEMORY_COST',
'PASSWORD_ARGON2_DEFAULT_TIME_COST', and 'PASSWORD_ARGON2_DEFAULT_THREADS' respectively if not set.
. password_verify() can verify Argon2i hashes.
. password_get_info() and password_needs_rehash() can accept Argon2i hashes.
. mail()/mb_send_mail() accept array $extra_header. Array parameter is checked against RFC 2822.
Array format is
Array format is
$extra_headers = [
'Header-Name' => 'Header value',
'Multiple' => ['One header', 'Another header'],
@@ -290,10 +297,10 @@ See also: https://wiki.php.net/rfc/deprecations_php_7_2
========================================
- EXIF:
. Added extended exif tag support for the following formats:
Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon,
. Added extended exif tag support for the following formats:
Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon,
AGFA, Kyocera, Ricoh & Epson.
. exif_read_data() and exif_thumbnail() now supports a passed streams as their
. exif_read_data() and exif_thumbnail() now supports a passed streams as their
first parameter.
- GD:
+1 -2
View File
@@ -31,7 +31,7 @@ PHP 7.2 INTERNALS UPGRADE NOTES
The internal randomness source on Windows switched to use CNG API.
c. nice() now have a Windows alternative that is implemented in win32/nice.c, using
SetPriorityClass(). See the implementation for more in-depth details. This also
SetPriorityClass(). See the implementation for more in-depth details. This also
defines HAVE_NICE.
d. ZEND_ACC_CLONE is removed, but was not used in previous versions
@@ -80,4 +80,3 @@ PHP 7.2 INTERNALS UPGRADE NOTES
- OpenSSL:
. Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.
+12 -12
View File
@@ -1,25 +1,25 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The Zend Engine License, Version 2.00
Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
3. The names "Zend" and "Zend Engine" must not be used to endorse
or promote products derived from this software without prior
permission from Zend Technologies Ltd. For written permission,
please contact license@zend.com.
please contact license@zend.com.
4. Zend Technologies Ltd. may publish revised and/or new versions
of the license from time to time. Each version will be given a
distinguishing version number.
@@ -40,9 +40,9 @@ are met:
software must display the following acknowledgment:
"The Zend Engine is freely available at http://www.zend.com"
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND
TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
@@ -53,4 +53,4 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
-1
View File
@@ -53,4 +53,3 @@ depend:
zend_execute.lo: $(srcdir)/zend_execute.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(INLINE_CFLAGS) -c $(srcdir)/zend_execute.c
+8 -9
View File
@@ -21,7 +21,7 @@ ZEND_VM_HANDLER(<OPCODE-NUMBER>, <OPCODE>, <OP1_TYPES>, <OP2_TYPES>)
<OPCODE-NUMBER> is a opcode number (0, 1, ...)
<OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :)
<OP1_TYPES> & <OP2_TYPES> are masks for allowed operand op_types. Specializer
will generate code only for defined combination of types. You can use any
will generate code only for defined combination of types. You can use any
combination of the following op_types UNUSED, CONST, VAR, TMP and CV also
you can use ANY mask to disable specialization according operand's op_type.
<HANDLER'S CODE> is a handler's code itself. For most handlers it stills the
@@ -34,9 +34,9 @@ EXECUTE_DATA
execute_data
ZEND_VM_DISPATCH_TO_HANDLER(<OP>)
return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_CONTINUE()
return 0
@@ -72,7 +72,7 @@ FREE_OP<X>_VAR_PTR()
FREE_VAR_PTR(free_op<X>)
Executor's helpers can be defined without parameters or with one parameter.
Executor's helpers can be defined without parameters or with one parameter.
This is done with the following constructs:
ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>)
@@ -86,13 +86,13 @@ ZEND_VM_HELPER_EX(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>, <PARAM_SPEC>)
}
Executor's code is generated by PHP script zend_vm_gen.php it uses zend_vm_def.h
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
included from zend_compile.h. The second one is an executor code itself. It is
included from zend_execute.c.
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
disable opcode specialization using --without-specializer. You can include or
exclude old executor together with specialized one using --without-old-executor.
At last you can debug executor using original zend_vm_def.h or generated file
@@ -105,4 +105,3 @@ Zend Engine II currently includes two executors during the build process, one
is the specialized version and the other is the old one non-specialized with
function handlers. By default Zend Engine II uses the specialized one but you
can switch to the old executor at runtime by calling zend_vm_use_old_executor().
+22 -22
View File
@@ -7,10 +7,10 @@ dnl
AC_DEFUN([LIBZEND_CHECK_INT_TYPE],[
AC_MSG_CHECKING(for $1)
AC_TRY_COMPILE([
#if HAVE_SYS_TYPES_H
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#if HAVE_INTTYPES_H
#if HAVE_INTTYPES_H
#include <inttypes.h>
#elif HAVE_STDINT_H
#include <stdint.h>
@@ -137,7 +137,7 @@ int main()
], [
AC_MSG_RESULT(no)
])
])
AC_DEFUN([LIBZEND_ENABLE_DEBUG],[
@@ -147,7 +147,7 @@ AC_ARG_ENABLE(debug,
ZEND_DEBUG=$enableval
],[
ZEND_DEBUG=no
])
])
])
@@ -158,10 +158,10 @@ AC_ARG_ENABLE(maintainer-zts,
ZEND_MAINTAINER_ZTS=$enableval
],[
ZEND_MAINTAINER_ZTS=no
])
])
AC_ARG_ENABLE(inline-optimization,
[ --disable-inline-optimization
[ --disable-inline-optimization
If building zend_execute.lo fails, try this switch],[
ZEND_INLINE_OPTIMIZATION=$enableval
],[
@@ -196,7 +196,7 @@ if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
LIBZEND_CPLUSPLUS_CHECKS
fi
fi
changequote({,})
if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
@@ -249,7 +249,7 @@ int main()
}
fp = fopen("conftest.zend", "w");
fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros);
fprintf(fp, "%d %d\n", ZEND_MM_ALIGNMENT, zeros);
fclose(fp);
exit(0);
@@ -258,7 +258,7 @@ int main()
LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1`
LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2`
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT_LOG2, $LIBZEND_MM_ALIGN_LOG2, [ ])
], [], [
dnl cross-compile needs something here
LIBZEND_MM_ALIGN=8
@@ -374,7 +374,7 @@ AC_ARG_ENABLE(zend-signals,
ZEND_SIGNALS=$enableval
],[
ZEND_SIGNALS=yes
])
])
AC_CHECK_FUNC(sigaction, [
AC_DEFINE(HAVE_SIGACTION, 1, [Whether sigaction() is available])
@@ -395,24 +395,24 @@ AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define if the target system has /dev/urandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_MSG_CHECKING(whether /dev/arandom exists)
if test -r "/dev/arandom" && test -c "/dev/arandom"; then
AC_DEFINE([HAVE_DEV_ARANDOM], 1, [Define if the target system has /dev/arandom device])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
AC_ARG_ENABLE(gcc-global-regs,
[ --disable-gcc-global-regs
[ --disable-gcc-global-regs
whether to enable GCC global register variables],[
ZEND_GCC_GLOBAL_REGS=$enableval
],[
+2 -2
View File
@@ -7,7 +7,7 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
# min: 2.4 (i.e. 204, major * 100 + minor for easier comparison)
bison_version_min="204"
# non-working versions, e.g. "3.0 3.2";
# remove "none" when introducing the first incompatible bison version an
# remove "none" when introducing the first incompatible bison version an
# separate any following additions by spaces
bison_version_exclude=""
@@ -139,7 +139,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
else
AC_MSG_RESULT(no)
fi
AC_MSG_CHECKING([for usable fpsetprec])
AC_TRY_LINK([
#include <machine/ieeefp.h>
+5 -5
View File
@@ -5,18 +5,18 @@ if (function_exists("date_default_timezone_set")) {
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
$a++;
$thisisanotherlongname = 0;
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
$thisisanotherlongname++;
}
/****/
function simplecall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
strlen("hallo");
}
@@ -26,14 +26,14 @@ function hallo($a) {
}
function simpleucall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo("hallo");
}
/****/
function simpleudcall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo2("hallo");
}
+2 -2
View File
@@ -5,7 +5,7 @@
#
# Written by Sascha Schumann
#
# $Id$
# $Id$
LT_TARGETS = ltmain.sh ltconfig
@@ -34,7 +34,7 @@ aclocal.m4: configure.ac acinclude.m4
aclocal
$(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
-1
View File
@@ -30,4 +30,3 @@ if cmp configure.old configure > /dev/null 2>&1; then
else
echo "buildconf: created or modified ${1}configure"
fi
+3 -3
View File
@@ -4,12 +4,12 @@ function hallo() {
}
function simpleucall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo();
}
function simpleudcall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo2();
}
@@ -17,7 +17,7 @@ function hallo2() {
}
function simpleicall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
func_num_args();
}
+1 -1
View File
@@ -44,7 +44,7 @@ var_dump(func_num_args());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
int(0)
int(1)
Exception: Too few arguments to function test2(), 0 passed in %s001.php on line 18 and exactly 1 expected
+1 -1
View File
@@ -50,7 +50,7 @@ var_dump(func_get_arg(1));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
+1 -1
View File
@@ -44,7 +44,7 @@ var_dump(func_get_args());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(0) {
}
array(1) {
+1 -1
View File
@@ -12,7 +12,7 @@ var_dump(strncmp("qwerty", "qwerty123", 7));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -14,7 +14,7 @@ var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strcasecmp() expects exactly 2 parameters, 1 given in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -15,7 +15,7 @@ var_dump(strncasecmp("01", "01", 1000));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strncasecmp() expects exactly 3 parameters, 1 given in %s on line %d
NULL
+1 -1
View File
@@ -21,7 +21,7 @@ var_dump(each($a));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: each() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -22,7 +22,7 @@ var_dump(constant("test const"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: define() expects at least 2 parameters, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -35,7 +35,7 @@ $f1->testNull();
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Deprecated: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
+1 -1
View File
@@ -41,7 +41,7 @@ var_dump(get_parent_class(1));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
bool(false)
bool(false)
string(3) "foo"
+1 -1
View File
@@ -52,7 +52,7 @@ $bar->test();
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: property_exists() expects exactly 2 parameters, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(class_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: class_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(interface_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: interface_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
+1 -1
View File
@@ -20,7 +20,7 @@ var_dump(get_included_files());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(1) {
[0]=>
string(%d) "%s"
+1 -1
View File
@@ -13,7 +13,7 @@ var_dump(trigger_error("error", E_USER_DEPRECATED));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: trigger_error() expects at least 1 parameter, 0 given in %s on line %d
NULL
+2 -2
View File
@@ -3,10 +3,10 @@ isset() with object properties when operating on non-object
--FILE--
<?php
$foo = NULL;
$foo = NULL;
isset($foo->bar->bar);
echo "Done\n";
?>
--EXPECT--
--EXPECT--
Done
+1 -1
View File
@@ -43,7 +43,7 @@ var_dump(count(get_extension_funcs("zend")));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: get_resource_type() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -17,7 +17,7 @@ var_dump(constant("TEST_CONST2"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: constant() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+52 -52
View File
@@ -16,7 +16,7 @@ echo "*** Testing unset(), empty() & isset() with scalar variables ***\n";
// testing scalar variables
$scalar_variables = array(
0,
0,
1,
+1
-1,
@@ -52,23 +52,23 @@ foreach ($scalar_variables as $scalar_var) {
echo "-- Iteration $loop_counter --\n"; $loop_counter++;
// checking with isset before unsetting, expected: bool(true)
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
// checking if the var is empty, expected: bool(false) on most
// except "", 0, "0", NULL, FALSE
var_dump( empty($scalar_var) );
var_dump( empty($scalar_var) );
// destroy the variable using unset
unset( $scalar_var );
// dump and see if its destroyed, expcted: NULL
var_dump( $scalar_var );
unset( $scalar_var );
// dump and see if its destroyed, expcted: NULL
var_dump( $scalar_var );
// check using isset to see if unset, expected: bool(false)
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
// empty to check if empty, expecting bool(true)
var_dump( empty($scalar_var) );
var_dump( empty($scalar_var) );
// isset() with two args, one arg only unset, expected: bool(false)
var_dump( isset($scalar_var, $set_var) );
@@ -90,36 +90,36 @@ $array_variables = array(
array(1 => "One", 2 => "two"),
array("Name" => "Jack", "Age" => "30"),
array(1,2, "One" => "1", 2 => "two", ""=>"empty", "" => '')
);
);
$outer_loop_counter = 1;
foreach ($array_variables as $array_var) {
echo "--- Outerloop Iteration $outer_loop_counter ---\n";
// check the isset and unset on non existing key
$var = 1; // a var which is defined
// try to unset the element which is non-existent
unset($array_var['non_existent']);
unset($array_var['non_existent']);
// check using isset() & empty() on a non_existent element in the array
var_dump( isset($array_var['non_existent']) );
var_dump( isset($array_var['non_existent'], $var) );
var_dump( isset($array_var['non_existent'], $array_var['none']) );
var_dump( empty($array_var['non_existent']) );
// testing empty and isset on arrays
// testing empty and isset on arrays
var_dump( empty($array_var) ); // expecting bool(false), except: array(), which is considered empty
var_dump( isset($array_var) ); // expecting bool(true), except: array(), which is not set
// get the keys of the $array_var
// get the keys of the $array_var
$keys = array_keys($array_var);
// unset each element in the array and see the working of unset, isset & empty
$inner_loop_counter = 1;
foreach ($keys as $key_value) {
echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
$inner_loop_counter++;
// unset the element
unset($array_var[$key_value]);
unset($array_var[$key_value]);
// dump the array after element was unset
var_dump($array_var);
// check using isset for the element that was unset
@@ -127,10 +127,10 @@ foreach ($array_variables as $array_var) {
// calling isset with more args
var_dump( isset($array_var[$key_val], $array_var) ); //expected: bool(false)
// calling empty, expected bool(true)
// calling empty, expected bool(true)
var_dump( empty($array_var[$key_val]) );
// dump the array to see that that array did not get modified
// dump the array to see that that array did not get modified
// because of using isset, empty and unset on its element
var_dump($array_var);
}
@@ -144,7 +144,7 @@ foreach ($array_variables as $array_var) {
// use isset to see that array is not set
var_dump( isset($array_var) ); //expected: bool(false)
var_dump( isset($array_var, $array_var[$key_val]) ); // expected: bool(false)
// empty() to see if the array is empty
var_dump( empty($array_var) ); // expected: bool(true)
}
@@ -183,12 +183,12 @@ foreach ($resources as $resource) {
unset($temp_var);
// now the isset() with both the args as unset
var_dump( isset($resource, $temp_var) ); // expected: bool(false);
// dump the resource to see if there any effect on it
// dump the resource to see if there any effect on it
var_dump($resource);
}
// unset and dump the array containing all the resources to see that
// unset works correctly
// unset works correctly
unset($resources);
var_dump($resources);
var_dump( isset($resources) ); //expected: bool(false)
@@ -200,12 +200,12 @@ class Point
var $x;
var $y;
var $lable;
function __construct($x, $y) {
$this->x = $x;
$this->y = $y;
}
function setLable($lable) {
$this->lable = $lable;
}
@@ -215,8 +215,8 @@ class Point
}
$point1 = new Point(30,40);
// use unset/empty/isset to check the object
var_dump($point1); // dump the object
// use unset/empty/isset to check the object
var_dump($point1); // dump the object
// check the object and member that is not set
var_dump( isset($point1) ); // expected: bool(true)
@@ -229,7 +229,7 @@ $point1->setLable("Point1");
var_dump( isset($point1->$lable) ); //expected: bool(true)
var_dump( empty($point1->$lable) ); //expected: bool(false)
// dump the object to see that obj was not harmed
// dump the object to see that obj was not harmed
// because of the usage of the isset & empty
var_dump($point1);
@@ -270,36 +270,36 @@ var_dump($point2);
/* testing variation in operation for isset(), empty() & unset().
Note: Most of the variation for function unset() is testing by a
set of testcases named "Zend/tests/unset_cv??.phpt", only
set of testcases named "Zend/tests/unset_cv??.phpt", only
variation not tested are attempted here */
echo "\n*** Testing possible variation in operation for isset(), empty() & unset() ***\n";
/* unset() variation1: checking unset on static variable inside a function.
/* unset() variation1: checking unset on static variable inside a function.
* unset() destroys the variable only in the context of the rest of a function
* Following calls will restore the previous value of a variable.
*/
echo "\n** Testing unset() variation 1: unset on static variable inside a function **\n";
function test_unset1() {
static $static_var;
// increment the value of the static. this change is in function context
$static_var ++;
echo "value of static_var before unset: $static_var\n";
// check using isset and empty
echo "value of static_var before unset: $static_var\n";
// check using isset and empty
var_dump( isset($static_var) );
var_dump( empty($static_var) );
// unset the static var
unset($static_var);
echo "value of static_var after unset: $static_var\n";
// check using isset and empty
echo "value of static_var after unset: $static_var\n";
// check using isset and empty
var_dump( isset($static_var) );
var_dump( empty($static_var) );
// assign a value to static var
$static_var = 20;
echo "value of static_var after new assignment: $static_var\n";
echo "value of static_var after new assignment: $static_var\n";
}
// call the functiont
test_unset1();
@@ -308,10 +308,10 @@ test_unset1();
echo "\n** Testing unset() variation 2: unset on a variable passed by ref. inside of a function **\n";
/* unset() variation2: Pass by reference
* If a variable that is PASSED BY REFERENCE is unset() inside of a function,
/* unset() variation2: Pass by reference
* If a variable that is PASSED BY REFERENCE is unset() inside of a function,
* only the local variable is destroyed. The variable in the calling environment
* will retain the same value as before unset() was called.
* will retain the same value as before unset() was called.
*/
function test_unset2( &$ref_val ) {
// unset the variable passed
@@ -329,7 +329,7 @@ var_dump($value);
test_unset2($value);
var_dump($value);
echo "\n** Testing unset() variation 3: unset on a global variable inside of a function **\n";
/* unset() variation2: unset on a global variable inside a function
* If a globalized variable is unset() inside of a function, only the
@@ -340,17 +340,17 @@ $global_var = 10;
function test_unset3() {
global $global_var;
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// unset the global var
unset($global_var);
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
}
var_dump($global_var);
+1 -1
View File
@@ -19,7 +19,7 @@ foo(1,2);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: func_get_arg() expects exactly 1 parameter, 3 given in %s on line %d
NULL
+4 -4
View File
@@ -7,7 +7,7 @@ class foo {
public $test = 0;
private $test_2 = 1;
protected $test_3 = 2;
public function bar() {
try {
throw new Exception('foo');
@@ -15,13 +15,13 @@ class foo {
var_dump($this);
}
$this->baz();
$this->baz();
}
public function baz() {
foreach ($this as $k => $v) {
printf("'%s' => '%s'\n", $k, $v);
}
}
print "ok\n";
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing array with '[]' passed as argument by value
--FILE--
<?php
<?php
function test($var) { }
test($arr[]);
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing array with '[]' passed as argument by reference
--FILE--
<?php
<?php
function test(&$var) { }
test($arr[]);
+1 -2
View File
@@ -1,7 +1,7 @@
--TEST--
Using undefined multidimensional array
--FILE--
<?php
<?php
$arr[1][2][3][4][5];
@@ -17,7 +17,6 @@ $arr[][]->bar = 2;
?>
--EXPECTF--
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing multiples 'default:' in switch
--FILE--
<?php
<?php
switch (1) {
case 2:
+14 -14
View File
@@ -649,7 +649,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -665,7 +665,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -681,7 +681,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
@@ -698,7 +698,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -714,7 +714,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -730,7 +730,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -746,7 +746,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -762,7 +762,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -778,7 +778,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -794,7 +794,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -810,7 +810,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -826,7 +826,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -842,7 +842,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
try {
@@ -858,7 +858,7 @@ try {
var_dump($e->getPrevious() === NULL);
var_dump($e->getFile() === __FILE__);
var_dump($e->getTraceAsString() === EXCEPTION_TRACE_AS_STRING_MSG);
}
}
}
?>
-1
View File
@@ -9,5 +9,4 @@ abstract class TestClass
?>
===DONE===
--EXPECTF--
===DONE===
+1 -1
View File
@@ -8,5 +8,5 @@ abstract class B extends A { abstract function bar($x); }
echo "DONE";
?>
--EXPECT--
--EXPECT--
DONE
+1 -1
View File
@@ -8,5 +8,5 @@ abstract class B extends A { abstract function bar($x, $y = 0); }
echo "DONE";
?>
--EXPECT--
--EXPECT--
DONE
+1 -1
View File
@@ -8,5 +8,5 @@ abstract class B extends A { abstract function bar($x); }
echo "DONE";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Declaration of B::bar($x) must be compatible with A::bar($x, $y = 0) in %s
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ final final class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple final modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple abstract modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple final modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple static modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Cannot use the final modifier on an abstract class member in %s on line %d
+1 -1
View File
@@ -21,7 +21,7 @@ abstract class b extends a {
class c extends b {
public function __construct() {
$this->test();
}
}
}
new c;
+1 -1
View File
@@ -32,7 +32,7 @@ echo $a->func1(),"\n";
echo $a->func2(),"\n";
?>
--EXPECTF--
--EXPECTF--
var1 value
var2 value
in func1
+1 -1
View File
@@ -29,7 +29,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(3) {
[0]=>
int(1)
+1 -1
View File
@@ -19,7 +19,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %sadd_002.php on line %d
Exception: Unsupported operand types
+2 -2
View File
@@ -1,5 +1,5 @@
--TEST--
adding arrays to objects
adding arrays to objects
--FILE--
<?php
@@ -19,7 +19,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Notice: Object of class stdClass could not be converted to int in %sadd_003.php on line %d
Exception: Unsupported operand types
+1 -1
View File
@@ -16,7 +16,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Exception: Unsupported operand types
Fatal error: Uncaught Error: Unsupported operand types in %s:%d
+1 -1
View File
@@ -16,7 +16,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
float(2834756759.1231)
float(2834756759.1231)
Done
+1 -2
View File
@@ -37,8 +37,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: A non-numeric value encountered in %s on line %d
int(75636)
+2 -3
View File
@@ -1,5 +1,5 @@
--TEST--
adding strings to arrays
adding strings to arrays
--FILE--
<?php
@@ -18,8 +18,7 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: A non-numeric value encountered in %s on line %d
Exception: Unsupported operand types
+1 -1
View File
@@ -30,7 +30,7 @@ var_dump($s);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
string(3) "020"
string(4) "pead"
string(4) "pead"
-2
View File
@@ -6,5 +6,3 @@ var_dump(new class{});
--EXPECTF--
object(class@%s)#%d (0) {
}
-1
View File
@@ -18,4 +18,3 @@ var_dump($a instanceof A, $a instanceof B);
--EXPECTF--
bool(true)
bool(true)
-1
View File
@@ -51,4 +51,3 @@ object(class@%s)#1 (1) {
["i"]=>
int(10)
}
-1
View File
@@ -12,4 +12,3 @@ namespace {
--EXPECTF--
object(class@%s)#1 (0) {
}
-1
View File
@@ -20,4 +20,3 @@ namespace lone {
--EXPECTF--
object(class@%s)#2 (0) {
}
+2 -2
View File
@@ -1,12 +1,12 @@
--TEST--
Testing calls to anonymous function
--FILE--
<?php
<?php
for ($i = 0; $i < 10; $i++) {
$a = create_function('', 'return '. $i .';');
var_dump($a());
$b = "\0lambda_". ($i + 1);
var_dump($b());
}
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing anonymous function return as array key and accessing $GLOBALS
--FILE--
<?php
<?php
$test = create_function('$v', 'return $v;');
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Using throw $var with anonymous function return
--FILE--
<?php
<?php
try {
$a = create_function('', 'return new Exception("test");');
+2 -2
View File
@@ -4,12 +4,12 @@ Bug #55719 (Argument restriction should come with a more specific error message)
<?php
Class Base {
public function &test($foo, array $bar, $option = NULL, $extra = "lllllllllllllllllllllllllllllllllllllllllllllllllll") {
}
}
}
class Sub extends Base {
public function &test() {
}
}
}
?>
--EXPECTF--
+2 -2
View File
@@ -4,12 +4,12 @@ Bug #55719 (Argument restriction should come with a more specific error message)
<?php
Abstract Class Base {
public function test($foo, array &$bar, $option = NULL, $extra = 3.141592653589793238462643383279502884197169399375105 ) {
}
}
}
class Sub extends Base {
public function test($foo, array &$bar) {
}
}
}
?>
--EXPECTF--
+2 -2
View File
@@ -7,12 +7,12 @@ class Foo {
Abstract Class Base {
public function test(Foo $foo, array $bar, $option = NULL, $extra = "lllllllllllllllllllllllllllllllllllllllllllllllllll") {
}
}
}
class Sub extends Base {
public function test() {
}
}
}
?>
--EXPECTF--
+1 -1
View File
@@ -11,7 +11,7 @@ Abstract Class Base {
class Sub extends Base {
public function test(Foo $foo, array $bar, $option = NULL, $extra = 0xffffff ) {
}
}
}
?>
--EXPECTF--
Loaded 100 of 9532 files, more files were not shown because too many files have changed in this diff. Show more