| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
We already use <= for IS_SERIALIZED(), but the same general
problem can also occur for IS_UNSERIALIZED(). We don't seem to
hit this in practice prior to GH-5595 though.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fixed bug #80782 (DASM_S_RANGE_VREG on PHP_INT_MIN-1)
|
| | | |
|
| | |
| | |
| | |
| | | |
Don't add to a void pointer.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This API only works in very limited circumstances -- relying on
it will invariably lead to leaks. The correct way to "free" something
from the pool is to use the checkpoint API.
|
| | |
| | |
| | |
| | |
| | | |
The last user has been dropped in the previous commit. This has
never worked meaningfully in the first place.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When row data split across multiple packets, allocate a temporary
buffer that can be reallocated, and only copy into the row buffer
pool arena once we know the final size. This avoids quadratic
memory usage for very large results.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fixed bug #80786
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't use r0 as temporary register in math_double_long if it is
already used for a memory result.
This was already done in one branch, but not the other.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
FilesystemIterator::FOLLOW_SYMLINKS is currently treated as a directory
key mode flag, even though it does not change the way that the key
during iteration is set. To address this, FOLLOW_SYMLINKS has been
converted into an OTHER flag.
Closes GH-6695.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* allow the user to specify a folder where files that can be sent
via LOAD DATA LOCAL can exist
* add mysqli.local_infile_directory for mysqli
(ignored if mysqli.allow_local_infile is enabled)
* add PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY for pdo_mysql
(ignored if PDO::MYSQL_ATTR_LOCAL_INFILE is enabled)
* add related tests
* fixes for building with libmysql 8.x
* small improvement in existing tests
* update php.ini-[development|production] files
Closes GH-6448.
Co-authored-by: Nikita Popov <nikic@php.net>
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #75776: Flushing streams with compression filter is broken
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #75776: Flushing streams with compression filter is broken
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
First, the `bzip2.compress` filter has the same issue as `zlib.deflate`
so we port the respective fix[1] to ext/bz2.
Second, there is still an issue, if a stream with an attached
compression filter is flushed before it is closed, without any writes
in between. In that case, the compression is never finalized. We fix
this by enforcing a `_php_stream_flush()` with the `closing` flag set
in `_php_stream_free()`, whenever a write filter is attached. This
call is superfluous for most write filters, but does not hurt, even
when it is unnecessary.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=20e75329f2adb11dd231852c061926d0e4080929>
Closes GH-6703.
|
| | |
| | |
| | |
| | |
| | |
| | | |
xsl, zip, Zend
Closes GH-6706
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #80771: phpinfo(INFO_CREDITS) displays nothing in CLI
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is no good reason not to show the credits in text based SAPIs,
except for brevity. Thus, we suppress the credits from `php -i`.
Closes GH-6710.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #80774: session_name() problem with backslash
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #80774: session_name() problem with backslash
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since we do no longer URL decode cookie names[1], we must not URL
encode the session name. We need to prevent broken Set-Cookie headers,
by rejecting names which contain invalid characters.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=6559fe912661ca5ce5f0eeeb591d928451428ed0>
Closes GH-6711.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A secret can be passed through the options array. The length is
currently in the range of 136 to 256 bytes. The concerned algos are
already marked as non serializable.
Signed-off-by: Anatol Belski <ab@php.net>
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 61cf1355fd53b6556f0502510ba3e1efbd04d242.
Class name validation is only performed if key is not passed. Here, lc_name is passed as key.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
ext\standard\tests\file\basename_bug66395_variation2-win32.phpt and ext\standard\tests\file\pathinfo_basic1-win32.phpt
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-6709
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a method is inherited, the static variables will now always
use the initial values, rather than the values at the time of
inheritance. As such, behavior no longer depends on whether
inheritance happens before or after a method has been called.
This is implemented by always keeping static_variables as the
original values, and static_variables_ptr as the modified copy.
Closes GH-6705.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The UNDEF marker here is important to prevent the creation of
a reference to the property currently being overwritten, which
would then leak.
This fixes oss-fuzz 6029559193534464, which was incorrectly
merged into oss-fuzz #30584 (which is reported at
https://github.com/google/oss-fuzz/issues/5211).
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Avoid signed integer overflow in substr()
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Perform negation after the (size_t) cast rather than before,
so as to avoid a signed integer overflow for PHP_INT_MIN.
Fixes oss-fuzz #31069.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This restores the previous behavior for this case. We'll continue
to use the mangled name, even if it does not correspond to a
declared property.
This also fixes an assertion failure for the case of property
overwrite, as the add_new was not guaranteed to be "new" previously.
Fixes oss-fuzz #31045.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fix #80763: msgfmt_format() does not accept DateTime references
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Fix #80763: msgfmt_format() does not accept DateTime references
|
| | |
| | |
| | |
| | |
| | |
| | | |
`intl_zval_to_millis()` needs to cater to references.
Closes GH-6707.
|
| | |
| | |
| | |
| | | |
and perform it only before autoloading.
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fixed bug #80745 (JIT produces Assert failure and UNKNOWN:0 var_dumps in code involving bitshifts)
|
| | |
| | |
| | |
| | | |
code involving bitshifts)
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Fixed bug #80742 (Opcache JIT makes some boolean logic unexpectedly be true)
|
| | | |
|
| | |
| | |
| | |
| | | |
Closes GH-6701
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Handle incomplete result set metadata more gracefully
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.4:
Handle incomplete result set metadata more gracefully
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rather than segfaulting because sname is missing lateron, report
a FAIL here. As this indicates a server bug, the errors is reported
as an out of band warning, rather than a client error.
This fixes the PHP side of bug #80713.
|
| | |
| | |
| | |
| | | |
Closes GH-6684
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-8.0:
Mark resource-like objects as non-comparable
|