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