summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix #78788: ./configure generates invalid php_version.hmax2019-11-072-6/+7
| | | | | Change $SED to "${SED}" such that the IFS is not used to split the output of that variable.
* Remove bogus skipifs in get_browser testsNikita Popov2019-11-065-44/+0
| | | | | | | We provide this file, it should be readable. These checks no longer work, since --INI-- values are no longer passed to --SKIPIF--.
* Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-11-061-0/+22
|\ | | | | | | | | * PHP-7.3: Fixed bug #78787
| * Fixed bug #78787Nikita Popov2019-11-063-4/+34
| | | | | | | | | | Not the first time inheritance of shadow properties causes an issue, thankfully this whole concept is gone in PHP 7.4.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2019-11-050-0/+0
|\ \ | |/ | | | | | | * PHP-7.3: 7.3.13 is next
| * 7.3.13 is nextChristoph M. Becker2019-11-054-6/+8
| |
* | Merge branch 'PHP-7.3' into PHP-7.4Sara Golemon2019-11-050-0/+0
|\ \ | |/ | | | | | | * PHP-7.3: Bump for 7.2.26-dev
| * Merge branch 'PHP-7.2' into PHP-7.3Sara Golemon2019-11-050-0/+0
| |\ | | | | | | | | | | | | * PHP-7.2: Bump for 7.2.26-dev
| | * Bump for 7.2.26-devSara Golemon2019-11-053-5/+8
| | |
* | | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-11-053-0/+40
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fixed bug #78775
| * | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-11-053-0/+40
| |\ \ | | |/ | | | | | | | | | * PHP-7.2: Fixed bug #78775
| | * Fixed bug #78775Nikita Popov2019-11-053-0/+40
| | | | | | | | | | | | | | | | | | Clear the OpenSSL error queue before performing SSL stream operations. As we don't control all code that could possibly be using OpenSSL, we can't rely on the error queue being empty.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2019-11-050-0/+0
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Remove obsolete oniguruma.patch
| * | Remove obsolete oniguruma.patchChristoph M. Becker2019-11-051-28/+0
| | | | | | | | | | | | | | | The proper `SIZEOF_SIZE_T` definitions are available as of Oniguruma 6.9.1; no more need to patch.
* | | Remove dead code `ext/mysqlnd/mysqlnd_net.c`.Adam Saponara2019-11-041-1224/+0
| | | | | | | | | | | | | | | | | | | | | I believe this code has been dead since 05c5e05 (2015) now replaced by `ext/mysqlnd/mysqlnd_vio.c`. Closes GH-4888.
* | | Add a test for ReflectionClass:getInterfaceNames()Fabien Villepinte2019-11-041-0/+7
| | | | | | | | | | | | The method was not tested against a class without interface.
* | | Make test more robustChristoph M. Becker2019-11-041-2/+5
| | | | | | | | | | | | | | | | | | Time flies, so obviously the reported uptime may differ a bit (as already occasionally noticed on CI); we cater to that by allowing a delay of up to one second.
* | | Revert "Remove configure checks for supported instruction sets"Nikita Popov2019-11-043-6/+36
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit edccf32f7f36a8bc759b9482737e0c3efcb3a005. This was reported to cause issues for as yet unknown reasons in bug #78769. As this was intended as code cleanup, revert this from 7.4 at least. May reapply it to master later.
* | | Fixed bug #78774Nikita Popov2019-11-043-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The string held by the zend_type may be released if the property type gets resolved to a CE. I initially wanted to fix this by storing a zend_type* instead (so the property type resolution propagates to the ReflectionType), but decided against this in light of upcoming union types support, where we also need to represent parts of the union, and will not have a single zend_type* we can reference.
* | | Print Client Library Version in phpinfoSimonov Denis2019-11-021-0/+4
| | |
* | | Explicitly specify ubuntu versions on azure pipelinesNikita Popov2019-11-025-5/+5
| | | | | | | | | | | | | | | Use the new 18.04 for the ones where the build succeeded and the previous 16.04 where it didn't.
* | | Fixed bug #78768Nikita Popov2019-11-012-4/+5
| | | | | | | | | | | | | | | Remove the typedef from zend_types.h, use explicit struct prefix instead.
* | | Fix conflicts between tests with obscure filenamesFabien Villepinte2019-11-012-0/+2
| | | | | | | | | | | | For non-windows tests
* | | Fix conflicts between tests with obscure filenamesFabien Villepinte2019-11-012-0/+4
| | |
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2019-10-312-4/+4
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix test cases for libxml2 2.9.10
| * | Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-10-312-4/+4
| |\ \ | | |/ | | | | | | | | | * PHP-7.2: Fix test cases for libxml2 2.9.10
| | * Fix test cases for libxml2 2.9.10Christoph M. Becker2019-10-312-4/+4
| | | | | | | | | | | | | | | Since the error reporting has been slightly changed, we have to adapt the two affected test cases.
* | | Remove configure checks for supported instruction setsNikita Popov2019-10-313-36/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were checking whether the instruction set is supported by the host CPU, however they were only used to condition on whether this instruction set is targeted at all. It would still use dynamic dispatch (e.g. based on ifunc resolvers) to select the actual implementation. Whether the target is guaranteed to support the instruction set without dispatch is determined based on pre-defined macros like __SSE2__. This removes the configure-time builtin cpu checks to remove confusion. Additionally this allows targeting an architecture that is newer than the host architecture.
* | | Fix bug #77930: Remove mmap limitNikita Popov2019-10-312-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, the limitation already doesn't trigger if you copy the whole file (i.e. use copy() or stream_copy_to_stream() and don't specify a length). This happens because length will be 0 at the time of the check and only later calculated based on the file size. This means that we're already completely blowing the length limit for what is likely the most common case, and it doesn't seem like anyone complained about that. Second, the premise of the code comment ("to avoid runaway swapping") seems incorrect to me. Because this performs a file-backed non-private mmap, no swap backing is needed for the mapping. Concerns over "memory usage" are also misplaced, as this is a virtual mapping.
* | | Fix #78761: Zend memory heap corruption with preload and castingChristoph M. Becker2019-10-305-0/+23
| | | | | | | | | | | | | | | We have to reset `FFI_G(persistent)` back to zero when preloading has finished.
* | | Fix #78762: Failing FFI::cast() may leak memoryChristoph M. Becker2019-10-303-0/+16
| | | | | | | | | | | | We have to release objects when we're done with them.
* | | Add UPGRADING note for stream_read() changeNikita Popov2019-10-301-0/+3
| | | | | | | | | | | | | | | | | | Ref bug #78575. [ci skip]
* | | Optimize creation of empty arrays in json_decodeTyson Andre2019-10-301-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the shared empty array from ZVAL_EMPTY_ARRAY For code that created an 10 arrays of 100000 empty arrays (has the same result with `$assoc=true` and `{}`) - This is the worst-case comparison, but I'd expect 0-length arrays to be fairly common in regular data for json_decode - The parser implementation was using function pointers so that third party extension developers could reuse the json parser for their own data structures, etc. (I think). This PR is meant to let those third party extensions continue working without changes. Before this patch: In 0.126 seconds: added 97.99 MiB After this patch: In 0.096 seconds: added 41.99 MiB ```php <?php $json = '[' . str_repeat('[],', 100000) . "null]"; $start_memory = memory_get_usage(); $start_time = microtime(true); $result = []; for ($i = 0; $i < 10; $i++) { $result[] = json_decode($json); } $end_memory = memory_get_usage(); $end_time = microtime(true); // Before this patch: In 0.126 seconds: added 97.99 MiB // After this patch: In 0.096 seconds: added 41.99 MiB printf("In %.3f seconds: added %.2f MiB\n", $end_time - $start_time, ($end_memory - $start_memory)/1000000); // For objects $json = '[' . str_repeat('{},', 100000) . "null]"; $start_memory = memory_get_usage(); $start_time = microtime(true); for ($i = 0; $i < 10; $i++) { $result[] = json_decode($json, true); } $end_memory = memory_get_usage(); $end_time = microtime(true); // Before this patch: In 0.126 seconds: added 97.99 MiB // After this patch: In 0.096 seconds: added 41.99 MiB printf("In %.3f seconds: added %.2f MiB (objects decoded as arrays) \n", $end_time - $start_time, ($end_memory - $start_memory)/1000000); ``` Closes GH-4861.
* | | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-10-301-0/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Add missing refcount increment
| * | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-301-0/+1
| |\ \ | | |/ | | | | | | | | | * PHP-7.2: Add missing refcount increment
| | * Add missing refcount incrementNikita Popov2019-10-301-0/+1
| | |
* | | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-10-292-1/+21
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fixed bug #78689
| * | Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-10-293-1/+23
| |\ \ | | |/ | | | | | | | | | * PHP-7.2: Fixed bug #78689
| | * Fixed bug #78689Nikita Popov2019-10-293-1/+23
| | |
* | | Skip test case on non Windows platformsChristoph M. Becker2019-10-291-0/+2
| | |
* | | Update NEWS for 7.4.0RC6Derick Rethans2019-10-291-0/+3
| | |
* | | Update NEWS for PHP 7.4.0RC5Derick Rethans2019-10-291-1/+1
| | |
* | | Implement #78270: Support __vectorcall convention with FFIChristoph M. Becker2019-10-298-209/+349
| | | | | | | | | | | | | | | | | | | | | To work around the limitation of the current rudimentary vectorcall support in our patched libffi, we forbid yet unsupported declarations, i.e. float/double parameters at certain positions (SIMD vector types and HVA types are not supported anyway).
* | | Merge branch 'PHP-7.3' into PHP-7.4Stanislav Malyshev2019-10-282-4/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | * PHP-7.3: Fix libmagic buffer overflow issue (CVE-2019-18218) bump version set versions for release
| * | Merge branch 'PHP-7.2' into PHP-7.3Stanislav Malyshev2019-10-282-4/+4
| |\ \ | | |/ | | | | | | | | | | | | | | | * PHP-7.2: Fix libmagic buffer overflow issue (CVE-2019-18218) bump version set versions for release
| | * Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-10-282-4/+4
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | * PHP-7.1: Fix libmagic buffer overflow issue (CVE-2019-18218) bump version set versions for release
| | | * Fix libmagic buffer overflow issue (CVE-2019-18218)Stanislav Malyshev2019-10-272-4/+4
| | | | | | | | | | | | | | | | Ported from https://github.com/file/file/commit/46a8443f76cec4b41ec736eca396984c74664f84
| | | * bump versionJoe Watkins2019-10-223-6/+10
| | | |
| | | * set versions for releasephp-7.1.33Joe Watkins2019-10-223-3/+3
| | | |
* | | | Add support for Interbase 1 dialectSimonov Denis2019-10-286-8/+83
| | | |