| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
|
|
|
|
| |
Backport from https://github.com/kkos/oniguruma/commit/0f7f61ed1b7b697e283e37bd2d731d0bd57adb55
|
| |
|
| |
|
| |
|
|
|
|
|
| |
As the properties array can also be a GC root, it might have
already been destroyed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
* 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)
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Similar to what fread() does, truncate the stream_get_contents()
result if the original buffer was way too large.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
Don't dereference float/double values at unknown address, instead
memcpy it into an aligned stack slot and dereference that.
|
| |
| |
| |
| |
| | |
We have to check the return value of iconv_open() for error, to avoid
that and potentially other undesired behavior of iconv().
|
| |
| |
| |
| | |
This allows the sh script for failing tests with --POST-- to work
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
shutdown" introduced in 7.4.3,
1. falls in an infinite loop because PHP engine's inconsistent state, now override the ITIMER_PROF to 0.1 second, clean shutdown must finish before that.
2. generate too much error log, we completely disable "error_reporting" before calling php_request_shutdown().
|
| |
| |
| |
| | |
Save multi_info_read() result into easy handle.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This is a backport of 6fcae63f614d1ed4aaeaff7b13a7a4627b1f1312
to PHP 7.2.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
New opcache directives have been added recently which are returned
if using `ini_get_all('zend opcache')` but are not listed in the
directives if using `opcache_get_configuration()`. This fix adds
those missing directives as well as if `opcache.mmap_base` is used
instead of `opcache.lockfile_path`. Also adds a test to ensure the
directives match with both methods of fetching.
|
| |
| |
| |
| |
| | |
The DELREF part is a possible fix for bug #78278, the ADDREF part
is a drive-by fix.
|
| |
| |
| |
| |
| | |
Even if we don't initialize the callback on every request, we
should still reset our globals to default values...
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 35353dc49a73a58c17c7896c4c4c3997ef2c007d.
This changes causes issues for Symfony, see
https://github.com/symfony/symfony/issues/32395. I'm reverting it
from PHP 7.2 and PHP 7.3 and only leaving it in PHP 7.4.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.1:
Upgrade to SQLite 3.28.0
|
| |
| |
| |
| |
| |
| |
| |
| | |
Over the years, multiple security vulnerabilities[1] have been found
and fixed in SQLite3, so it makes sense to update our bundled libsqlite
to the latest available version.
[1] <https://www.cvedetails.com/vulnerability-list/vendor_id-9237/Sqlite.html>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Increased response header count limit from 100 to 1000.
Added crash handler to cleanly shutdown PHP request.
Added CloudLinux mod_lsapi mode
Fixed bug #76058
|
| | |
|
| |
| |
| |
| |
| |
| | |
`time_t` defaults to `_time64` (which is 64bit signed) even on x86, but
`Int32x32To64()` truncates it to signed 32bit. We replace the macro
with the "manual" calculation.
|
| |
| |
| |
| | |
Closes GH-3816.
|