| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* PHP-7.4:
Fixed bug #80747
|
| | | |
| | | |
| | | |
| | | | |
If RSA key generation fails, actually report that failure.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Fix symtable cache being used while cleaning symtable
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* PHP-7.4:
Fix symtable cache being used while cleaning symtable
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to first clean the symtable and then check whether a cache
slot is available for it. Otherwise, it may happen that a destructor
runs while cleaning the table and uses up all the remaining slots
in the cache.
This is particularly insidious because once we overflow the cache,
the first pointer we modify is symtable_cache_ptr, making it hard
to understand what happened after the fact.
Fixes oss-fuzz #30815.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Fix assertion failure in cufa optimization with named args
|
| | | |
| | | |
| | | |
| | | | |
Fixes oss-fuzz#30764.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a read-only property for which Transliterator internally
assigns a string value.
Also clean up the code handling this property a bit.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
These are read-only properties, and Reflection makes sure to assign
only strings.
|
| | | |
| | | |
| | | |
| | | | |
Closes GH-6696
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Fix #78680: mysqlnd pam plugin missing terminating null
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* PHP-7.4:
Fix #78680: mysqlnd pam plugin missing terminating null
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The PAM service requires the terminating null to be part
of the communication.
Tested with MariaDB-10.4(pam) and Percona Server 5.7.32(auth_pam_compat).
Also changed MySQL Enterprise test to the server side plugin, authentication_pam
as opposed to the client plugin mysql_clear_password.
Add additional check for pamtest user and pam service file as
all are required for the test.
More importantly, test result should actually succeed.
Thanks Geoff Montee for bug report.
Closes GH-78680.
|
| | | |
| | | |
| | | |
| | | | |
Closes GH-6689.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | | |
* PHP-8.0:
Fix leak when breaking out of FilesystemIterator
Fixed bug #80600
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* PHP-7.4:
Fix leak when breaking out of FilesystemIterator
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need to always destroy current, not just when iter.data is not
set.
Take this opportunity to clean up the iterator destructor code a
bit, to remove redundant checks and incorrect comments.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Closes GH-6690.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In case Apple changes the meaning of the macro in the future.
Closes GH-6687.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This feature has been completely removed.
Closes GH-6688.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
reflection, session, shmop
Closes GH-6692
|
| | | |
| | | |
| | | |
| | | | |
Closes GH-6691
|
| | | |
| | | |
| | | |
| | | | |
Closes GH-6685
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The C compiler sees that a dynamic function is being called, so it cannot infer
that iter->funcs has not changed.
This results in more assembly instructions and slightly more time to execute that code
path.
Unpacking traversables to arrays(`ZEND_ADD_ARRAY_UNPACK`),
starting foreach loops (`ZEND_FE_FETCH*`), etc. are affected.
```
<?php
/*
* Before: 1.576 seconds
* After: 1.474 seconds
*/
function example() {
$start = hrtime(true);
$it = new SplFixedArray(1000);
$total = 0;
for ($i = 0; $i < 100000; $i++) {
$total += count([...$it]);
}
$end = hrtime(true);
printf("Elapsed: %.6f\n", ($end - $start) / 1_000_000_000);
}
example();
```
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 1106ff9a0e420e043c2e56c8ca00db85f1b85ee6.
Looks like this sauses segfaults on MacOs ZTS with JIT.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This deprecates passing null to non-nullable scale arguments of
internal functions, with the eventual goal of making the behavior
consistent with userland functions, where null is never accepted
for non-nullable arguments.
This change is expected to cause quite a lot of fallout. In most
cases, calling code should be adjusted to avoid passing null. In
some cases, PHP should be adjusted to make some function arguments
nullable. I have already fixed a number of functions before landing
this, but feel free to file a bug if you encounter a function that
doesn't accept null, but probably should. (The rule of thumb for
this to be applicable is that the function must have special behavior
for 0 or "", which is distinct from the natural behavior of the
parameter.)
RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg
Closes GH-6475.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Fixed bug #80718
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Fixed bug #80719
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* PHP-7.4:
Fixed bug #80719
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Tested with php-cgi and wordpress and 1255 for jit settings.
Closes GH-6659.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This changes ini_set() to accept all scalar types
(string|int|float|bool|null) for the new value. The idea here is
that while the INI system ultimately works with strings, its value
interpretation is designed to be consistent with PHP's casting rules,
e.g. "1" and "" are interpreted as boolean true and false respectively.
I personally believe that writing ini_set('precision', 10) makes more
sense than ini_set('precision', '10'), and find strict_types to be
unnecessarily pedantic here.
Closes GH-6680.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Should be capture_warnings_during_sccp
Related to 4c088c5da7fb96380a4cfc420d272075b40b6141
|
| | | |
| | | |
| | | |
| | | | |
There are enough of them that sorting makes it a bit nicer.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some upcoming changes like https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg
will make it somewhat inconvenient to determine whether a given
function invocation will generate a diagnostic. Rather than trying
to exclude this in advance, call the function with diagnostics
suppressed, and check whether anything was thrown.
This adds a new EG flag that is kept specific to the SCCP use-case.
This does not use the error_cb hook as it is a (non-TLS) global,
and doesn't fully suppress error handling besides.
Test this by removing the in advance checks for implode and array_flip.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Update func info after password_get_info() change
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Don't return null from password_get_info()
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The get_info() handler should never fail, but even if it does,
we should still return a proper info array -- it doesn't make
sense that a completely incorrect hash returns an info array,
but a hash that is recognized but for which the options can't
be extracted would return null.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
In 19680f886f, I forgot about my own TODO. At least, now I understand what
this line was about :P
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-8.0:
Don't throw additional Error in require_once if exception already thrown
|
| | | |
| | | |
| | | |
| | | | |
As pointed out in comments on bug #66216.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
zend_file_cache_unserialize_type().
Don't use scope of closures.
|