44ade0e8 | 31-Aug-2020 |
Matteo Beccati |
Fix #80027 Terrible performance using $query->fetch on queries with many bind parameters Added new flags that allow skipping param_evt(s) that are not used by drivers, in a backwards and
Fix #80027 Terrible performance using $query->fetch on queries with many bind parameters Added new flags that allow skipping param_evt(s) that are not used by drivers, in a backwards and forward compatible manner. Updated the pgsql, mysql, sqlite and oci drivers to properly use the new flags. I've left out pdo_dblib, which doesn't have a param_hook, and pdo_firebird, which seems to be using PARAM_EVT_NORMALIZE in a wrong context (param type vs event type).
show more ...
|
b396fb34 | 31-Aug-2020 |
Nikita Popov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix handling of exception if valid() during yield from
|
ad750c3b | 31-Aug-2020 |
Nikita Popov |
Fix handling of exception if valid() during yield from Fixes oss-fuzz #25296. |
c45985d2 | 31-Aug-2020 |
Nikita Popov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Make MAX_IFD_NESTING_LEVEL an actual nesting level
|
376bbbdf | 12-Aug-2020 |
Nikita Popov |
Make MAX_IFD_NESTING_LEVEL an actual nesting level Currently we only ever increment ifd_nesting_level, so this ends up being a limit on the total number of IFD tags and we regularly get
Make MAX_IFD_NESTING_LEVEL an actual nesting level Currently we only ever increment ifd_nesting_level, so this ends up being a limit on the total number of IFD tags and we regularly get bug reports of it being exceeded. I think the intention behind this limit was to prevent recursion stack overflow, and for that we only need to check actual recursive usage. I've implemented that here, and dropped the nesting limit down to a smaller value (which still passes our tests). However, it seems that we do also need to have a total limit on the number of tags, as we don't catch some instances of infinite looping otherwise. Add this as a separate limit with a higher value, that should hopefully be sufficient. This is expected to fix a number of bugs: https://bugs.php.net/bug.php?id=78083 https://bugs.php.net/bug.php?id=78701 https://bugs.php.net/bug.php?id=79907 https://bugs.php.net/bug.php?id=80016
show more ...
|
45ed9b42 | 30-Aug-2020 |
twosee |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Improve error_handing replacement functions
|
e9481888 | 27-Aug-2020 |
twosee |
Improve error_handing replacement functions We explicitly skip calls to user_error_handler in EH_THROW mode Closes GH-6050. |
5ae657b2 | 27-Aug-2020 |
Nikita Popov |
Don't assert when comparing uninit DateTimeZone objects Nothing guarantees that the objects are initialized here... just check as usual. |
8daf7921 | 27-Aug-2020 |
Nikita Popov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Require non-negative length in stream_get_contents()
|
62dce979 | 27-Aug-2020 |
Nikita Popov |
Require non-negative length in stream_get_contents() If the length is not -1, require it to be non-negative. Using such lengths doesn't make sense (as only -1 is special-case to
Require non-negative length in stream_get_contents() If the length is not -1, require it to be non-negative. Using such lengths doesn't make sense (as only -1 is special-case to read in chunks, anything else will end up doing a huge upfront allocation) and can lead to string allocation overflow. A similar check is already in place for file_get_contents(). That one does not allow -1 (and uses null instead), but this function is explicitly specified to accept -1, so stick to that behavior.
show more ...
|
29603011 | 25-Aug-2020 |
Christoph M. Becker |
Catch potential exceptions during to string conversion As of PHP 7.4.0, exceptions are allowed to be thrown from inside `__toString()` methods; we have to cater to that, and catch these
Catch potential exceptions during to string conversion As of PHP 7.4.0, exceptions are allowed to be thrown from inside `__toString()` methods; we have to cater to that, and catch these exceptions early. Closes GH-6042
show more ...
|
247105ae | 26-Aug-2020 |
Nikita Popov |
Property handle read_property exception in fetch_property_address Otherwise we leak (and corrupt uninitialized_zval). |
8e2f219f | 26-Aug-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix com_safearray_proxy related memory management issues
|
1b7ee6db | 26-Aug-2020 |
Christoph M. Becker |
Fix com_safearray_proxy related memory management issues |
b087bd24 | 26-Aug-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Separate COM::__construct()s $server_name array
|
75ac3f1c | 25-Aug-2020 |
Christoph M. Becker |
Separate COM::__construct()s $server_name array This may otherwise be modified. |
1ff981d7 | 26-Aug-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #64130: COM obj parameters passed by reference are not updated
|
5ff15e26 | 26-Aug-2020 |
Christoph M. Becker |
Fix #64130: COM obj parameters passed by reference are not updated `ITypeInfo_GetIDsOfNames()` is supposed to fail with `E_NOTIMPL` for out-of-process servers, thus we should not remove
Fix #64130: COM obj parameters passed by reference are not updated `ITypeInfo_GetIDsOfNames()` is supposed to fail with `E_NOTIMPL` for out-of-process servers, thus we should not remove the already available typeinfo of the object in this case. We also properly free the `byref_vals`.
show more ...
|
358721bc | 26-Aug-2020 |
Nikita Popov |
Fix file name clash in test |
0487bcfa | 26-Aug-2020 |
Nikita Popov |
Avoid socket path clash in test |
bf3e7723 | 26-Aug-2020 |
Nikita Popov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix memory leak when yielding from non-iterable
|
d179e34e | 26-Aug-2020 |
Nikita Popov |
Fix memory leak when yielding from non-iterable |
571f6a59 | 25-Aug-2020 |
Nikita Popov |
Don't enable --with-mm in CI Turns out this has a large negative effect on startup time, making tests much slower. |
923a1462 | 25-Aug-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Avoid double-free
|
3324bb89 | 25-Aug-2020 |
Christoph M. Becker |
Avoid double-free As of commit b2e3fd1[1] the `authid.User` is no longer newly allocated, so we must not free it. [1] <http://git.php.net/?p=php-src.git;a=commit;h=b2e3fd1e691b1
Avoid double-free As of commit b2e3fd1[1] the `authid.User` is no longer newly allocated, so we must not free it. [1] <http://git.php.net/?p=php-src.git;a=commit;h=b2e3fd1e691b1dc82aaaf4150461db97bd5acf4a>
show more ...
|