summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix #78535: auto_detect_line_endings value not parsed as boolbugreportuser2019-09-145-2/+58
|
* NEWSKalle Sommer Nielsen2019-09-121-0/+3
|
* Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)Kalle Sommer Nielsen2019-09-125-23/+54
|
* Bump for 7.2.24Sara Golemon2019-09-103-5/+8
|
* Raise minimal GCC version,Remi Collet2019-09-101-2/+2
| | | | | Test with 4.8 is OK With 4.4: error: #pragma GCC diagnostic not allowed inside functions
* Drop regression testChristoph M. Becker2019-09-101-14/+0
| | | | | | | The state returned by `sodium_crypto_generichash_init()` has to be regarded as opaque byte string; neither its size nor its exact structure are fixed, and actually vary for diffent libsodium versions. Therefore we drop the test altogether.
* Fix bug #72884 isCloneable() on SplFileObject should return falseCHU Zhaowei2019-09-094-3/+17
|
* Fix #78510: Partially uninitialized buffer returned by ↵Christoph M. Becker2019-09-093-0/+19
| | | | | | sodium_crypto_generichash_init() Backport jedisct1/libsodium.php@28d13bf437cb969a0583031fc7ac54c5a8dc8116.
* Fix #41997: SP call yields additional empty result setChristoph M. Becker2019-09-035-8/+5
| | | | | | | When stored procedures are called, the "final result set is a status result that includes no result set". Calling `::nextRowset()` on the actual last result set should return FALSE, since there is actually no further result set to be processed.
* Fix opcache return type for hash_update_streamTyson Andre2019-09-031-1/+1
| | | | | | | | | | | | | | | | It can return false if the resource type is wrong. ``` php > var_export(hash_update_stream(hash_init('md5'), imagecreate(1,1))); Warning: hash_update_stream(): supplied resource is not a valid stream resource in php shell code on line 1 false ``` The return types were initially added in c88ffa9a5673cb3141660626ba1921671f0b84d6
* Fix #76577: outdated documentation concerning track_errorsChristoph M. Becker2019-09-021-5/+0
|
* Fix pkg-config version constraint for ICUNikita Popov2019-09-021-1/+1
| | | | On PHP 7.2 our minimum ICU version is 4.0, not 40.
* Fixed bug #78469Sergei Turchanov2019-08-302-2/+6
| | | | | | | | | | | | | | | | fcgi_accept_request function is supposed to call a FastCGI implementation's on_accept hook when entering an "accepting" stage (that is right before calling "accept"). This hook implementation (fpm_request_accepting) updates a worker state to an "accepting" state which is effectively an "Idle" state, and updates counters on the scoreboard of the corresponding pool (idle++, active--). But this is not done when listening for client connections on a named pipe on Windows platform. In that case a combination of ConnectNamedPipe/WaitForSingleObject is used (to be able to catch in_shutdown as far as I understand), but it is nonetheless functionally equivalent to "accept" call. Also by not calling on_hook neither a worker's state is updated to "accepting" state nor scoreboard counters are updated.
* Fix use-after-free of immediately invoked closure with extra argsNikita Popov2019-08-293-2/+21
|
* Fix #78473: odbc_close() closes arbitrary resourcesChristoph M. Becker2019-08-283-1/+21
| | | | | We have to bail out, if an invalid resource is given. For consistency with the other `zend_fetch_resource(2)` calls, we return `FALSE`.
* Update SDK version for AppVeyorChristoph M. Becker2019-08-271-1/+1
|
* Remove properties HT from nested GC dataNikita Popov2019-08-262-0/+30
| | | | | | | The properties HT may be a GC root itself, so we need to remove it. I'm not sure this issue actually applies to PHP 7.2, but committing it there to be safe. As seen from the test case, the handling here is rather buggy on 7.2.
* Also fix signature for passthruTyson Andre2019-08-261-1/+1
| | | | | | | | Backported from a1a8d144854acb1c891cf0c21abb0f612b1d8de7 https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues `passthru()` is false with invalid args `passthru('command')` is null.
* Fix opcache optimizer info for time_nanosleepTyson Andre2019-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This can also return an array. See https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues > If the delay was interrupted by a signal, an associative array will be returned with the components: > > - seconds - number of seconds remaining in the delay > - nanoseconds - number of nanoseconds remaining in the delay Sending a SIGUSR1 to the below program would trigger this behavior. ``` pcntl_signal(\SIGUSR1, function ($signo, $signinfo) { echo "Handling a signal $signo\n"; }); echo "Sleeping for 100 seconds\n"; var_export(time_nanosleep(100, 0)); ``` The incomplete signature existed since c88ffa9a5. No phpt tests existed for time_nanosleep returning an array
* Fix overflow in memory limit checksNikita Popov2019-08-262-5/+23
| | | | | | Due to overflows in the memory limit checks, we were missing cases where the allocation size was close to the address space size, and caused an OOM condition rather than a memory limit error.
* Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-08-251-0/+10
|\ | | | | | | | | * PHP-7.1: Fix #75457: heap-use-after-free in php7.0.25
| * Fix #75457: heap-use-after-free in php7.0.25Christoph M. Becker2019-08-252-1/+20
| | | | | | | | Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
* | Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-08-241-3/+3
|\ \ | |/ | | | | | | | | * PHP-7.1: Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe() set version for release
| * Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()Stanislav Malyshev2019-08-241-3/+3
| | | | | | | | Backport from https://github.com/kkos/oniguruma/commit/0f7f61ed1b7b697e283e37bd2d731d0bd57adb55
| * set version for releasephp-7.1.31Joe Watkins2019-07-313-4/+4
| |
* | Suppress deprecation warning on IDNA2003 ICU methods for clangChristoph M. Becker2019-08-231-2/+7
| |
* | fix the problem for connect_attr, set db condition, and add a new attribute ↵Qianqian Bu2019-08-206-2/+152
| | | | | | | | _server_host
* | Fix #78220: Can't access OneDrive folderChristoph M. Becker2019-08-193-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of Windows 1903, when the OneDrive on-demand feature is enabled, the OneDrive folder is reported as reparse point by `FindFirstFile()`, but trying to get information about the reparse point using `DeviceIoControl()` fails with `ERROR_NOT_A_REPARSE_POINT`. We work around this problem by falling back to `GetFileInformationByHandle()` if that happens, but only if the reparse point is reported as cloud reparse point, and only if PHP is running on Windows 1903 or later. The patch has been developed in collaboration with ab@php.net. We should keep an eye on the somewhat quirky OneDrive behavior, since it might change again in a future Windows release.
* | Suppress deprecation warning on IDNA2003 ICU methodsSara Golemon2019-08-161-0/+7
| |
* | Fixed bug #78412Nikita Popov2019-08-142-2/+6
| | | | | | | | | | $this should only be included in the generator GC buffer, if it will be released on destruction.
* | Bump for 7.2.23Sara Golemon2019-08-133-5/+7
| |
* | Fixed bug #77191Nikita Popov2019-08-133-1/+23
| |
* | Don't destroy properties array with unset GC typeNikita Popov2019-08-131-1/+2
| | | | | | | | | | As the properties array can also be a GC root, it might have already been destroyed.
* | Intern alias old_name earlyNikita Popov2019-08-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is likely going to end up interned lateron at some point when the new_name is referenced somewhere. However, it may be that there are some uses that do not get interned before that. In this case we will intern a string that already have zval users, without updating the refcounted flag on those zvals. In particular this can happen with something like [Foo::class], where Foo is an imported symbol. The string it resolves to won't get interned right away, but may be interned later. use Foo as Bar; $x = [Bar::class]; var_dump(Bar::X); debug_zval_dump($x); // Will show negative refcount class Foo { const X = 1; } However, this doesn't really fix the root cause, there are probably other situations where something similar can occur.
* | Fixed handling of references in nested data of objects with destructorDmitry Stogov2019-08-092-12/+49
| |
* | Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)Dmitry Stogov2019-08-092-4/+35
| |
* | Added asserts to catch GC errors when refcount goes below zero.Dmitry Stogov2019-08-091-0/+5
| |
* | Skip test when SIGKILL is not definedMatteo Beccati2019-08-091-1/+2
| |
* | Fixed bug #78379 (Cast to object confuses GC, causes crash)Dmitry Stogov2019-08-083-0/+38
| |
* | Fix #78282: atime and mtime mismatchChristoph M. Becker2019-08-062-1/+2
| | | | | | | | | | | | | | | | The fix for bug #78241 assumed that `time_t` would always be 64bit, but actually is 32bit for x86. We therefore enforce 64bit arithmetic to avoid wrapping. (cherry picked from commit bf242d58e77d50d4d8fdaaaca7ede686ec4467c0)
* | Fix #78179: MariaDB server version incorrectly detectedChristoph M. Becker2019-08-022-0/+11
| | | | | | | | | | | | | | | | As of MariaDB 10.0.2, the server reports a fake version number as work- around for replication issues[1]. We apply the same "fix" as in the MariaDB client to cater to this. [1] <https://github.com/MariaDB/server/commit/c50ee6c23dbeb090963580754bec2f0a96ac0557#diff-5b45fa673c88c06a9651c7906364f592>
* | Fixed bug #78363Nikita Popov2019-08-022-1/+4
| |
* | add security NEW entries + reorder [ci skip]Remi Collet2019-07-301-14/+23
| |
* | Merge branch 'PHP-7.1' into PHP-7.2Stanislav Malyshev2019-07-297-5/+32
|\ \ | |/ | | | | | | | | | | | | * PHP-7.1: Fix #77919: Potential UAF in Phar RSHUTDOWN Update NEWS Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment) Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
| * Fix #77919: Potential UAF in Phar RSHUTDOWNChristoph M. Becker2019-07-293-2/+10
| | | | | | | | | | | | | | We have to properly clean up in case phar_flush() is failing. We also make the expectation of the respective test case less liberal to avoid missing such bugs in the future.
| * Update NEWSStanislav Malyshev2019-07-291-0/+6
| |
| * Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)Stanislav Malyshev2019-07-293-3/+14
| |
| * Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)Stanislav Malyshev2019-07-293-1/+12
| |
* | Fix bug #78326Albert Casademont2019-07-294-1/+36
| | | | | | | | | | Similar to what fread() does, truncate the stream_get_contents() result if the original buffer was way too large.
* | Fix Zend signals unblockingNikita Popov2019-07-293-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a few parts here: * opcache should not be blocking signals while invoking compile_file, otherwise signals may remain blocked on a compile error. While at it, also protect SHM memory during compile_file. * We should deactivate Zend signals at the end of the request, to make sure that we gracefully recover from a missing unblock and signals don't remain blocked forever. * We don't use a critical section in deactivation, because it should not be necessary. Additionally we want to clean up the signal queue, if it is non-empty. * Enable SIGG(check) in debug builds so we notice issues in the future.