#
99504aa1 |
| 15-Nov-2023 |
Ilija Tovilo |
Intercept strlcpy and strlcat for msan on Clang 17 (#12674)
|
#
6339938c |
| 09-Jan-2024 |
Dmitry Stogov |
Disable inlining and inter-procedure-analyses for zend_string_equal_val() function that may be overriden for valgrind (#13099) This is a more safely way to fix GH-9068 |
#
ab3f584a |
| 03-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18) Fix GH-11175 and GH-11177: Stream socket timeout und
Merge branch 'PHP-8.1' into PHP-8.2 * PHP-8.1: Fix GH-11178: Segmentation fault in spl_array_it_get_current_data (PHP 8.1.18) Fix GH-11175 and GH-11177: Stream socket timeout undefined behaviour Fix GH-9068: Conditional jump or move depends on uninitialised value(s)
show more ...
|
#
4ca8daf3 |
| 02-May-2023 |
nielsdos <7771979+nielsdos@users.noreply.github.com> |
Fix GH-9068: Conditional jump or move depends on uninitialised value(s) This patch preserves the scratch registers of the SysV x86-64 ABI by storing them to the stack and restoring them
Fix GH-9068: Conditional jump or move depends on uninitialised value(s) This patch preserves the scratch registers of the SysV x86-64 ABI by storing them to the stack and restoring them later. We need to do this to prevent the registers of the caller from being corrupted. The reason these get corrupted is because the compiler is unaware of the Valgrind replacement function and thus makes assumptions about the original function regarding registers which are not true for the replacement function. For implementation I used a GCC and Clang attribute. A more general approach would be to use inline assembly but that's also less portable and quite hacky. This attributes is supported since GCC 7.x, but the target option is only supported since 11.x. For Clang the target option does not matter. Closes GH-10221.
show more ...
|
#
be9adc4f |
| 07-May-2022 |
George Peter Banyard |
Merge branch 'PHP-8.1' * PHP-8.1: Fix build with Valgrind without I_REPLACE_SONAME_FNNAME_ZU symbol
|
#
b388e951 |
| 03-May-2022 |
Martin Vobruba |
Fix build with Valgrind without I_REPLACE_SONAME_FNNAME_ZU symbol Fixes #8453 Signed-off-by: George Peter Banyard <girgias@php.net> |
#
c2547ab7 |
| 20-Apr-2022 |
George Peter Banyard |
Add some const qualifiers in zend_string/hash (#8304) Co-authored-by: Levi Morrison <morrison.levi@gmail.com> |
#
b9e895bc |
| 31-Mar-2022 |
Max Kellermann |
Replace memcmp() with zend_string functions (#8216) * ext/oci8: use zend_string_equals() Eliminate duplicate code. * main/php_variables: use zend_string_equals_literal()
Replace memcmp() with zend_string functions (#8216) * ext/oci8: use zend_string_equals() Eliminate duplicate code. * main/php_variables: use zend_string_equals_literal() Eliminate duplicate code. * Zend/zend_string: add zend_string_equals_cstr() Allows eliminating duplicate code. * Zend, ext/{opcache,standard}, main/output: use zend_string_equals_cstr() Eliminate duplicate code. * Zend/zend_string: add zend_string_starts_with() * ext/{opcache,phar,spl,standard}: use zend_string_starts_with() This adds missing length checks to several callers, e.g. in cache_script_in_shared_memory(). This is important when the zend_string is shorter than the string parameter, when memcmp() happens to check backwards; this can result in an out-of-bounds memory access.
show more ...
|
#
4a4ae45a |
| 12-Aug-2021 |
Nikita Popov |
Fix bug #81142 by adding zend_string_init_existing_interned() Add a new interned string handler that fetches an interned string if it exists, but does not create one if it does not (and
Fix bug #81142 by adding zend_string_init_existing_interned() Add a new interned string handler that fetches an interned string if it exists, but does not create one if it does not (and instead returns a non-interned string). This fixes bug #81142, by preventing the creating of new interned strings for unserialized array keys. Closes GH-7360.
show more ...
|
#
a0c44fba |
| 21-May-2021 |
Nikita Popov |
Always define valgrind replacement symbol for zend_string_equal_val The required symbol name seems to be very stable, so we can hardcode a fallback. This avoids many false positives when
Always define valgrind replacement symbol for zend_string_equal_val The required symbol name seems to be very stable, so we can hardcode a fallback. This avoids many false positives when PHP is not built against valgrind.
show more ...
|
#
3e01f5af |
| 15-Jan-2021 |
Nikita Popov |
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool is retained as an alias.
show more ...
|
#
fa8d9b11 |
| 28-Aug-2020 |
George Peter Banyard |
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functio
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
show more ...
|
#
4fb705a0 |
| 14-Apr-2020 |
Nikita Popov |
Add zend_string_concat2 API |
#
d030ddb2 |
| 09-Apr-2020 |
Nikita Popov |
Export the zend_string_concat3() API |
Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5 |
|
#
5ffa5217 |
| 18-Apr-2019 |
Dmitry Stogov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Check assert only when RC_DEBUG is enabled
|
#
3a04adce |
| 18-Apr-2019 |
Dmitry Stogov |
Check assert only when RC_DEBUG is enabled |
Revision tags: php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1 |
|
#
92ac598a |
| 22-Jan-2019 |
Peter Kokot |
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly
Remove local variables This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
show more ...
|
#
a81202ac |
| 30-Jan-2019 |
Zeev Suraski |
Adios, yearly copyright ranges |
#
f80b1b0c |
| 24-Jan-2019 |
Dmitry Stogov |
Delay hash table allocation |
Revision tags: php-7.3.2RC1, php-5.6.40 |
|
#
fbdaabba |
| 08-Jan-2019 |
jvoisin |
Fix some sign-related issues in comparisons |
Revision tags: php-7.1.26, php-7.3.1, php-7.2.14, php-7.2.14RC1, php-7.3.1RC1, php-5.6.39, php-7.1.25, php-7.2.13, php-7.0.33, php-7.3.0, php-7.1.25RC1, php-7.2.13RC1, php-7.3.0RC6 |
|
#
12cbe930 |
| 13-Nov-2018 |
Nikita Popov |
Merge branch 'PHP-7.3'
|
Revision tags: php-7.1.24, php-7.2.12, php-7.3.0RC5 |
|
#
f76be1a0 |
| 24-Oct-2018 |
Jan Rękorajski |
Fix compilation on x32 Signed-off-by: Elan Ruusamäe <glen@pld-linux.org> |
#
9afce019 |
| 01-Nov-2018 |
Zeev Suraski |
Future-proof email addresses |
#
54dc07f3 |
| 01-Nov-2018 |
Zeev Suraski |
Update email addresses. We're still @Zend, but future proofing it... |
#
33e777ac |
| 25-Oct-2018 |
Dmitry Stogov |
Improved shared interned strings handling. The previous implementation worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same s
Improved shared interned strings handling. The previous implementation worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same shared interned strings. Also, on shutdown, we don't try to replace SHM interned strings back to process strings, but delay dettachment of SHM instead.
show more ...
|