- Avoid iterators check/update on each HashTable update opration
- Keep position equal (or above) nNumUsed instead of HT_INVALID_IDX
- Fixed iterators handling in array_unshift()
This reverts commit 94e9d0a2ae.
This code needs to be mindful about modifications to the array
happening during callback execution. It was written in a way that
only accessed the reference, which is guaranteed not to move. The
changed implementation instead accesses the array slot, leading to
use-after-free.
Run ext/standard/tests/array/bug61967.phpt under valgrind to see
the issue.
The behavior of RANGE_RANGE() is 7.1 changed completely, from
rescaling an already generated number to generating a number
itself. Because of this str_shuffle() ended up generating two
random numbers on every iteration.
To avoid further misuse the function is dropped entirely. Extensions
for PHP >= 7.1 should directly call php_mt_rand_range().
* master: (26 commits)
Better fix for bug #75451 (Assertion fails while foreach on empty xpath query)
Catch with the latest AppVeyor unzip errors
Fixed type inference
Fix bug #75453 Incorrect reflection on ibase_connect and ibase_pconnect
Fix compiler warnings
We don't use a specific model for a MAKERNOTE so remove these checks that doesn't do anything anyway
Remove these old comments, as for the TODO, there is already a FR for this
Re-enable AppVeyor cache
make sure run-tests reports exit status upon prerequisite error
Remove implicit constants from test case
Fix invalid read in zend_use_undefined_constant()
Fix invalid read in mb_ord()
Remove --with-libmbfl configure option
Fixed bug #75451 (Assertion fails while foreach on empty xpath query)
Add tests for UConverter::getStandards()
convert spaces to tabs in ext/ftp/tests/server.inc
Add tests for ftp_rename
Fix bug #75434 Wrong reflection for mysqli_fetch_all function
Don't optimize input arrays with suffix holes
Fix bug #75307 Wrong reflection for openssl_open function
...
Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead.
Added mactros to validate reference-counting (disabled for now).
These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.