History log of /PHP-8.1/Zend/zend_string.c (Results 1 – 25 of 95)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 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 ...


Revision tags: php-8.1.7RC1
# 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>

Revision tags: php-8.1.4RC1, php-8.1.3, php-8.1.2RC1, php-8.1.0, php-7.3.33, php-7.3.32, php-7.3.31, php-7.3.30
# 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 ...

Revision tags: php-7.3.29
# 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 ...

Revision tags: php-7.3.28, php-7.3.27
# 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 ...

Revision tags: php-7.3.26, php-7.3.26RC1, php-7.3.25, php-7.3.25RC1, php-7.3.24, php-7.3.24RC1, php-7.3.23, php-7.3.23RC1, php-7.3.22
# 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 ...

Revision tags: php-7.3.22RC1, php-7.3.21, php-7.3.21RC1, php-7.3.20, php-7.3.20RC1, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1, php-7.3.18RC1
# 4fb705a0 14-Apr-2020 Nikita Popov

Add zend_string_concat2 API

Revision tags: php-7.2.30, php-7.3.17
# d030ddb2 09-Apr-2020 Nikita Popov

Export the zend_string_concat3() API

Revision tags: php-7.3.17RC1, php-7.3.18, php-7.3.16, php-7.3.16RC1, php-7.3.15RC1, php-7.3.15, php-7.3.14, php-7.3.14RC1, php-7.3.13, 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 ...

Revision tags: php-7.1.24RC1, php-7.2.12RC1, php-7.3.0RC4, php-7.1.23, php-7.2.11, php-7.3.0RC3, php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2, php-5.6.38, php-7.1.22, php-7.3.0RC1, php-7.2.10, php-7.0.32, php-7.1.22RC1, php-7.3.0beta3, php-7.2.10RC1, php-7.1.21, php-7.2.9, php-7.3.0beta2, php-7.1.21RC1, php-7.3.0beta1, php-7.2.9RC1, php-5.6.37, php-7.1.20, php-7.3.0alpha4, php-7.0.31, php-7.2.8, php-7.1.20RC1, php-7.2.8RC1, php-7.3.0alpha3, php-7.3.0alpha2, php-7.1.19, php-7.2.7
# be49d61b 12-Jun-2018 Peter Kokot

Remove old SVN keywords substitutions

When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last

Remove old SVN keywords substitutions

When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last change time and author name. Such approach is not used
in Git so this patch removes these outdated artifacts from source
code files.

show more ...

Revision tags: php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1, php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1
# 858d545c 07-May-2018 Dmitry Stogov

micro optimization

Revision tags: php-5.6.36, php-7.2.5, php-7.1.17, php-7.0.30, php-7.1.17RC1, php-7.2.5RC1
# cb464a53 03-Apr-2018 Dmitry Stogov

Use "fastcall" calling convention

Revision tags: php-5.6.35, php-7.0.29, php-7.2.4, php-7.1.16
# a795bd82 22-Mar-2018 Dmitry Stogov

Optimize zend_hash_real_init()

Revision tags: php-7.1.16RC1, php-7.2.4RC1, php-7.1.15, php-5.6.34
# 6f483dc9 27-Feb-2018 Dmitry Stogov

Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited)

Revision tags: php-7.2.3, php-7.0.28, php-7.2.3RC1, php-7.1.15RC1
# e43ac263 31-Jan-2018 Dmitry Stogov

Fixed string comparison (it may fail in case of not null-terminated strings)

1234