summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| | * Fix #78876: Long variables cause OOM and temp files are not cleanedChristoph M. Becker2020-05-111-3/+3
| | | | | | | | | | | | We use the proper type for size calculations, which is `size_t`.
| | * Fix #78875: Long filenames cause OOM and temp files are not cleanedChristoph M. Becker2020-05-111-2/+3
| | | | | | | | | | | | | | | | | | We must not cast `size_t` to `int` (unless the `size_t` value is guaranteed to be less than or equal to `INT_MAX`). In this case we can declare `array_len` as `size_t` in the first place.
| | * Update NEWS for 7.2.31Sara Golemon2020-04-141-0/+3
| | |
| | * Update CREDITS for PHP 7.2.30Sara Golemon2020-04-142-11/+11
| | |
| | * Update NEWS for PHP 7.2.30Sara Golemon2020-04-141-1/+1
| | |
* | | Fix #79571: FFI: var_dumping unions may segfaultChristoph M. Becker2020-05-113-12/+46
| | | | | | | | | | | | | | | | | | | | | We must not attempt to access arbitrary union members when retrieving debug info, because that may not be valid. Therefore we do no longer dereference pointer types inside of unions, but report their address as string in `%p` format instead.
* | | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-05-112-4/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix default sendmail path when not found during build
| * | Fix default sendmail path when not found during buildIndrek Ardel2020-05-112-4/+2
| | | | | | | | | | | | Closes GH-5548.
* | | Don't check directory atime in lstat_stat_variation10.phpt testAlex Dowad2020-05-111-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a funny one. I discovered that lstat_stat_variation10.phpt was failing every now and again when the PHP test suite was run on my dev PC. The output from the failing test showed that the atime (access time) of the directory created in the test was changing between these lines: $old_stat = stat($dirname); clearstatcache(); sleep(1); var_dump( is_dir($dirname) ); $new_stat = stat($dirname); Could is_dir() be accessing the directory and changing the atime? strace showed that is_dir was only issuing a single stat() syscall. Could stat() change the atime? No, no, that would just be perverse. Nobody would be stupid enough to implement the kernel in that way. Checked the kernel source, found that the function called when atime needs to be updated appears to be touch_atime(). Broke out the BCC kernel tracing tools and ran this one while running the flaky test case in a loop: sudo trace -I<kernel src dir>/include/linux/path.h -I<same>/include/linux/dcache.h 'touch_atime(struct path *path) "%s", path->dentry->d_name.name' Inspecting the results showed that something called "git_thread" was occcasionally updating the atime on the directory in question!! What on earth...??? The PID shown by trace revealed that this was a background thread for Sublime Text 3. Sublime now has git integration and shows when there are untracked or modified files. It seems that it uses a background thread to regularly scan the project directory and look for new and modified files. This was causing the atime to change. Even though other developers may not be running ST3, there are any number of reasons why a background process might recurse through various directories and could cause the atime to change unexpectedly. Therefore, update the test case so it doesn't fail in such cases. Closes GH-5553.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-053-7/+35
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix #79566: Private SHM is not private on Windows
| * | Fix #79566: Private SHM is not private on WindowsChristoph M. Becker2020-05-053-7/+35
| | | | | | | | | | | | | | | | | | | | | We map the POSIX semantics of `IPC_PRIVATE` by creating unnamed file mapping objects on Windows. While that is not particularly useful for ext/shmop, which is the only bundled extension which uses `shmget()`, it may be useful for external extensions.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-043-1/+22
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix #79561: dns_get_record() fails with DNS_ALL
| * | Fix #79561: dns_get_record() fails with DNS_ALLChristoph M. Becker2020-05-043-1/+22
| | | | | | | | | | | | | | | Since Windows has its own definitions of the `PHP_DNS_*` macros, we have to use these when registering the PHP constants.
* | | Fixed bug #79548Nikita Popov2020-05-043-1/+35
| | | | | | | | | | | | | | | When duplicating user functions with static variables, make sure that we init a new map ptr slot for the static variables.
* | | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-05-042-0/+16
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fixed bug #79535
| * | Fixed bug #79535Nikita Popov2020-05-043-4/+24
| | | | | | | | | | | | | | | We did not allocate a cache slot for FETCH_CLASS. This is already fixed on newer PHP versions.
* | | Fix i386 build on AzureNikita Popov2020-05-042-5/+4
| | | | | | | | | | | | | | | | | | Disabling postgresql entirely for now, because I can't figure out how to fix it. Something broke big time with i386 packages on Azure pipelines.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-041-0/+21
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Add basic sapi_windows_cp_conv() test
| * | Add basic sapi_windows_cp_conv() testChristoph M. Becker2020-05-041-0/+21
| | | | | | | | | | | | This function is lacking any tests so far.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-05-016-108/+12
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4
| * | Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4Christoph M. Becker2020-05-016-108/+11
| | | | | | | | | | | | | | | | | | Revert "Fix #61597: SXE properties may lack attributes and content" This reverts commit 7c081db885756d7b176a55b90b8746f664d1e042.
* | | Reduce test parallelism on ARM64 CINikita Popov2020-04-291-1/+3
| | | | | | | | | | | | | | | | | | | | | Let's go from 32 to 16 parallel jobs. We can reduce this further if necessary. Closes GH-5426.
* | | Pass worker ID to clean scriptsChristoph M. Becker2020-04-291-4/+1
| | | | | | | | | | | | | | | | | | | | | On Windows, reusing/sharing of OPcache instances with different configuration is not necessarily supported, so we have to make that it does not happen for the clean scripts, by using `$orig_ini_settings` instead of `$clean_params`.
* | | Merge branch 'PHP-7.4' of git.php.net:/php-src into PHP-7.4Xinchen Hui2020-04-2910-8/+64
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'PHP-7.4' of git.php.net:/php-src: Fix #79532: sizeof off_t can be wrong Make 045.phpt busy wait Revert "Fix #79065: DOM classes do not expose properties to Reflection" Bump version Fix #79065: DOM classes do not expose properties to Reflection Fix #79470: PHP incompatible with 3rd party file system on demand
| * | | Fix #79532: sizeof off_t can be wrongChristoph M. Becker2020-04-299-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to actually determine the proper `SIZEOF_OFF_T`. Interestingly, it is `4` on Windows x64. We also have to prevent the redefinition in pg_config.h. The clean solution would likely be to not include pg_config.h at all, but that's out of scope for BC reasons for now.
| * | | Make 045.phpt busy waitNikita Popov2020-04-291-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | The timeout is only real-time based on Windows. Make this use a busy wait loop instead. If hard_timeout is broken, this will fail with a run-tests enforced timeout instead.
| * | | Revert "Fix #79065: DOM classes do not expose properties to Reflection"Nikita Popov2020-04-283-55/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6bc8f7e5a9949b2ba79376abd1ed13d0b4d0ae3c. This causes an assertion failure in PHPUnit.
| * | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-04-280-0/+0
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.3: Bump version
| | * | Bump versionChristoph M. Becker2020-04-284-6/+8
| | | |
| * | | Fix #79065: DOM classes do not expose properties to ReflectionChristoph M. Becker2020-04-273-0/+55
| | | | | | | | | | | | | | | | | | | | We add a `get_properties` handler which complements the already existing `has_property` and `read_property`handlers.
| * | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-04-272-1/+15
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.3: Fix #79470: PHP incompatible with 3rd party file system on demand
| | * | Fix #79470: PHP incompatible with 3rd party file system on demandChristoph M. Becker2020-04-272-1/+15
| | | | | | | | | | | | | | | | | | | | We add support for Activision HSM (`IO_REPARSE_TAG_ACTIVISION_HSM`) and VFS for Git (`IO_REPARSE_TAG_PROJFS`). The latter fixes bug #78784.
* | | | Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be ↵Xinchen Hui2020-04-293-2/+69
|/ / / | | | | | | | | | called).
* | | Fix #79514: Memory leaks while including unexistent fileChristoph M. Becker2020-04-243-0/+17
| | | | | | | | | | | | We have to destroy (un-opened) ZEND_HANDLE_FILENAMEs.
* | | Updated to version 2020.1 (2020a)Derick Rethans2020-04-241-792/+830
| | |
* | | Empty mergeDerick Rethans2020-04-240-0/+0
|\ \ \ | |/ /
| * | Updated to version 2020.1 (2020a)Derick Rethans2020-04-241-792/+830
| | |
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-04-230-0/+0
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Add additional preg_match test case
| * | Add additional preg_match test caseGraham Campbell2020-04-231-0/+35
| | | | | | | | | | | | | | | (cherry picked from commit a1a044dcc74379fafb2b63db5ab033aa062aada7 on author's explicit request)
* | | Fix bug #79447Nicolas Grekas2020-04-233-28/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially reverts 846b6479537a112d1ded725e6484e46462048b35: instead of throwing, this skips uninitialized typed properties when serializing objects. This makes serialize with __sleep() behave the same as serialize() without __sleep(). As in the non-__sleep() case, unserialize(serialize($x)) identity may not be preserved due to replacement of uninitialized/unset properties with default values. Fixing this will require changes to the serialization format. Closes GH-5396.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-04-224-1/+28
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix #79503: Memory leak on duplicate metadata
| * | Fix #79503: Memory leak on duplicate metadataChristoph M. Becker2020-04-224-0/+27
| | | | | | | | | | | | | | | Duplicate metadata can only happen if someone tampers with the phar, so we can and should treat that as error.
* | | Add additional preg_match test caseGraham Campbell2020-04-221-0/+35
| | |
* | | Upgrade to PCRE2 10.34Christoph M. Becker2020-04-2239-4628/+7354
| | | | | | | | | | | | We backport the slightly modified variant from master.
* | | Don't rand() in testNikita Popov2020-04-201-8/+10
| | | | | | | | | | | | Instead use port 0 to get a free port from the OS.
* | | Fix file name clash in touch_variation1.phptNikita Popov2020-04-201-2/+1
| | |
* | | Fix bug #67369 ArrayObject serializatino drops the iterator classAlex Dowad2020-04-208-14/+90
| | | | | | | | | | | | | | | | | | When ArrayObject is round-tripped through serialize() and unserialize(), it forgets any iterator class name which was set using ::setIteratorClass(). Fix that.
* | | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-04-202-3/+6
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Fix #79491: Search for .user.ini extends up to root dir
| * | Fix #79491: Search for .user.ini extends up to root dirChristoph M. Becker2020-04-202-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `start` parameter of `php_cgi_ini_activate_user_config` is supposed to hold the byte offset of the doc root in the given `path`. However, the current expression which fixes a potential type incompatibility will ever only evaluate to zero or one, because it uses the *logical* and operator (`&&`). Furthermore we notice that subtracting one from `doc_root_len` is not necessary, so there is even no need for the `start` parameter at all.
* | | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-04-201-3/+3
|\ \ \ | |/ / | | | | | | | | | * PHP-7.3: Apply doc root fix for FPM