History log of /PHP-7.3/Zend/zend_hash.c (Results 1 – 25 of 410)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e304468e 12-Oct-2020 Nikita Popov

Deindirect source elements in zend_hash_merge

If the RHS has INDIRECT elements, we do not those to be added to
the LHS verbatim. As we're using UPDATE_INDIRECT, we might even
create

Deindirect source elements in zend_hash_merge

If the RHS has INDIRECT elements, we do not those to be added to
the LHS verbatim. As we're using UPDATE_INDIRECT, we might even
create a nested INDIRECT that way.

This is a side-quest of oss-fuzz #26245.

show more ...


# 64931fd3 07-Jul-2020 Nikita Popov

Fixed bug #79792

We need to remove the iterators even if the array is empty (we
will not create one if the first place, but the array may become
empty after the fact).


# 79a36ff7 15-Apr-2020 Nikita Popov

Fixed bug #79477

Make sure to deindirect properties when creating array.


# 2462f2da 10-Mar-2020 Christoph M. Becker

Fix #79364: When copy empty array, next key is unspecified

We must not forget to keep the `nNextFreeElement` when duplicating
empty arrays.


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, php-7.2.18RC1
# f9a755d0 16-Apr-2019 Nikita Popov

Fix HT flags copying wrt iterator count

HT_FLAGS() includes the full flag word, including the iterator
count. When we're fully reassigning it, we need to make sure that
we either rea

Fix HT flags copying wrt iterator count

HT_FLAGS() includes the full flag word, including the iterator
count. When we're fully reassigning it, we need to make sure that
we either really do want to copy the iterator count (as in some
cases in array.c) or we need to mask only the actual flag byte.

Add an assert to hash_iterators_del() to make sure the iterator
count is non-zero (which is how I ran into this) and make sure that
the iterator count is correctly preserved during array splicing.

show more ...


Revision tags: php-7.3.5RC1
# 9a9eed47 16-Apr-2019 Nikita Popov

Fix second part of bug #77903

When a HT iterator is one past the end and we rehash, we need to make
sure that it is move to the new one past the end position, to make
sure that newly

Fix second part of bug #77903

When a HT iterator is one past the end and we rehash, we need to make
sure that it is move to the new one past the end position, to make
sure that newly inserted elements are picked up.

show more ...


# e1b4cabb 16-Apr-2019 Nikita Popov

Partial fix for bug #77903

In the hash position APIs, make sure we always advance to the next
non-undef element and not just when the position is 0 (similar to
what foreach does). Th

Partial fix for bug #77903

In the hash position APIs, make sure we always advance to the next
non-undef element and not just when the position is 0 (similar to
what foreach does). This can happen when the position of an
ArrayIterator is one past its current end and a new element is
inserted not directly at that position because the array is packed.

There is still a bug here (as shown in the tests), but this is a
separate issue that also affects plain array iteration in foreach.

show more ...


# c7a86a38 10-Apr-2019 Nikita Popov

Fix pgsql use after free trying to reuse closed connection

When a connection is closed, we also need to remove the hash entry
from the regular_list, as it now points to freed memory. To

Fix pgsql use after free trying to reuse closed connection

When a connection is closed, we also need to remove the hash entry
from the regular_list, as it now points to freed memory. To do this
store a reverse mapping from the connection to the hash string.

It would be nicer to introduce a wrapping structure for the pgsql
link resource that could store the hash (and notices), but that would
require large changes to the extension, so I'm going for a more
minimal fix here.

show more ...


Revision tags: 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, php-7.3.2RC1, php-5.6.40, 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, php-7.1.24, php-7.2.12, php-7.3.0RC5
# 9afce019 01-Nov-2018 Zeev Suraski

Future-proof email addresses


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
# 3bc4a63f 14-Sep-2018 Dmitry Stogov

Fixed bug #76800 (foreach inconsistent if array modified during loop)


Revision tags: 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
# 5674cf88 30-Jul-2018 Dmitry Stogov

Use better macros


# 909f943f 30-Jul-2018 Dmitry Stogov

Loop optimization


Revision tags: 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
# 8d3f8ca1 03-Jul-2018 Peter Kokot

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
use

Remove unused Git attributes ident

The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.

show more ...


# ebd1f5af 23-Jul-2018 Dmitry Stogov

API cleanup.
Removed useless filename and lineno arguments, used in DEBUG build.
The patch doesn't break source compatibility of public API (only binary compatibility).


# 3b6e1ee4 17-Jul-2018 Dmitry Stogov

Improved "Fast Shutdown".


Revision tags: php-7.3.0alpha2, php-7.1.19, php-7.2.7, php-7.1.19RC1, php-7.3.0alpha1, php-7.2.7RC1
# 0b90cf85 01-Jun-2018 Dmitry Stogov

Removed "dead" code (zend_hash_update() never fails)


# 0d72bb8f 30-May-2018 Dmitry Stogov

Optimize zend_new_array() for special case, when size <= HT_MIN_SIZE


# 37069d7d 28-May-2018 Dmitry Stogov

Replace unused generic zend_hash_*add_or_update() functions by compact implmentations.


# f4b7239c 28-May-2018 Dmitry Stogov

_zend_hash_index_add_or_update_i() optimization


# 5eb1f92f 28-May-2018 Dmitry Stogov

Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.


Revision tags: php-7.1.18, php-7.2.6, php-7.2.6RC1, php-7.1.18RC1
# a48ade17 08-May-2018 Xinchen Hui

Cleanup


# a0e4488e 07-May-2018 Dmitry Stogov

Optimize zend_hash_find() for the most usual case


# 34ed8e53 03-May-2018 Dmitry Stogov

Changed worst HashTable load factor from 1.0 to 0.5


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
# dc091870 02-Apr-2018 Dmitry Stogov

Prefer reloading key->h


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()


12345678910>>...17