#
2c508c4d |
| 01-Mar-2021 |
Nikita Popov |
Always remove HT iterators, even for uninit HT Fixes oss-fuzz #31423.
|
#
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 |
|
#
6a9127c1 |
| 04-Jul-2019 |
Nikita Popov |
Assert that HT entries using add_new APIs are really new
|
Revision tags: 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, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28 |
|
#
51fb8dc4 |
| 26-Mar-2019 |
Nikita Popov |
Add specialized pair construction API Closes GH-3990.
|
#
6fad150c |
| 17-Apr-2019 |
Sebastian Pop |
[AArch64] Use NEON to initialize zend_hash On A72, google-benchmark measure before and after the patch: -------------------------------------------------------------- Benchmark
[AArch64] Use NEON to initialize zend_hash On A72, google-benchmark measure before and after the patch: -------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------- BM_hash_init_before 43.6 ns 43.6 ns 16052937 BM_hash_init_after 27.0 ns 27.0 ns 25877296 Patch written by Ali Saidi <alisaidi@amazon.com> and Sebastian Pop <spop@amazon.com>
show more ...
|
#
bd6ebf40 |
| 16-Apr-2019 |
Nikita Popov |
Don't overwrite iterator count during real init
|
#
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 ...
|
#
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.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
|
Revision tags: php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14 |
|
#
76d8f392 |
| 28-Dec-2018 |
Dmitry Stogov |
Revert HASH_FLAG_INITIALIZED into HASH_FLAG_UNINITIALIZED.
|
#
d6f46522 |
| 20-Dec-2018 |
Dmitry Stogov |
Added specialized code for small arrays
|
#
dddf3c50 |
| 19-Dec-2018 |
Dmitry Stogov |
Added specialized code for small arrays
|
Revision tags: 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
|
#
54dc07f3 |
| 01-Nov-2018 |
Zeev Suraski |
Update email addresses. We're still @Zend, but future proofing it...
|
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 |
|
#
c2c20219 |
| 04-Oct-2018 |
Pedro Magalhães |
Use HT_MIN_SIZE when duplicating an empty array
|
Revision tags: php-7.1.23RC1, php-7.2.11RC1, php-7.3.0RC2 |
|
#
27b0fecd |
| 19-Sep-2018 |
Dmitry Stogov |
Turn zend_hash_exists() into inline function
|
#
dfa166e7 |
| 16-Sep-2018 |
Nikita Popov |
Remove unused ZEND_FILE_LINE in i_zval_ptr_dtor
|
#
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 |
|
#
437e91e1 |
| 03-Sep-2018 |
Dmitry Stogov |
Keep collision list ordered from higher to lower buckets.
|