forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from php:master #207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* PHP-8.4: Fix leak when creating cycle in hook
Clearly nobody has used this in a while given the compile errors and warnings. This patch fixes them so there are no errors nor warnings anymore. Closes GH-18910.
The precision and width _can_ be zero. Closes GH-18911.
* PHP-8.3: Fix misleading errors in printf() Unbreak PRINTF_DEBUG macro usages
* PHP-8.4: Fix misleading errors in printf() Unbreak PRINTF_DEBUG macro usages
ZEND_FUNC_INFO() can not be used on internal CE's. If preloading makes a CE that's an alias of an internal class, the invalid access happens when setting the FUNC_INFO. While we could check the class type to be of user code, we can just skip aliases altogether anyway which may be faster. Closes GH-18915.
* PHP-8.3: Fix GH-18639: Internal class aliases can break preloading + JIT
* PHP-8.4: Fix GH-18639: Internal class aliases can break preloading + JIT
…ning and opline is not set yet The crash happens because EX(opline) is attempted to be accessed but it's not set yet. Closes GH-18904.
* PHP-8.4: Fix GH-18899: JIT function crash when emitting undefined variable warning and opline is not set yet
DL_LOAD now doesn't use RTLD_DEEPBIND deepbind anymore on platforms where dlmopen with LM_ID_NEWLM is available: this means shared library symbol isolation (if needed) must be enabled on the user side when requiring libphp.so, by using dlmopen with LM_ID_NEWLM instead of dlopen. RTLD_DEEPBIND is still enabled when the Apache SAPI is in use. Closes GH-10670.
… ext/opcache/jit/zend_jit.c During persisting, the JIT may trigger and fill in the call graph. The call graph info is allocated on the arena which will be gone after preloading. To prevent invalid accesses during normal requests, the arena data should be cleared. This has to be done after all scripts have been persisted because shared op arrays between scripts can change the call graph. Closes GH-18916.
* PHP-8.3: Fix GH-14082: Segmentation fault on unknown address 0x600000000018 in ext/opcache/jit/zend_jit.c
* PHP-8.4: Fix GH-14082: Segmentation fault on unknown address 0x600000000018 in ext/opcache/jit/zend_jit.c
This fixes stream_socket_client() and fsockopen(). Specifically it adds a check to parse_ip_address_ex and it also makes sure that the \0 is not ignored in fsockopen() hostname formatting.
This adds error checks for escape function is pgsql and pdo_pgsql extensions. It prevents possibility of storing not properly escaped data which could potentially lead to some security issues.
These Autoconf macros have been marked as obsolete in PHP-8.4 and now also removed: - PHP_AP_EXTRACT_VERSION - PHP_BUILD_THREAD_SAFE - PHP_DEF_HAVE - PHP_OUTPUT - PHP_TEST_BUILD
The detect_unicode was removed and zend.detect_unicode was added in PHP 5.4 (bbf3d43).
No need to manually init a `zend_string` to then intern it, we can directly intern it while initializing, bypassing some of the safety checks that are redundant in this case.
Prior to this commit the return code of the pclose function was assumed to be the exit code of the process. However, the returned value as specified in wait(2) is a bit packed integer and must be interpreted with the provided macros. This has no effect in success cases as the integer is still zero, but in failure cases the wrong value is used, since the 8 least significant bits contain the status code. After this commit we use the macros to obtain the status code, which fixes the EX_TEMPFAIL conditional. For WIN32 the TSRM popen_ex and pclose function are used. The return value of TSRM's pclose is not bit packed so we only check if the return value is non-zero, which should solve, #43327, https://bugs.php.net/bug.php?id=43327
Prior to this commit the exit code of the sendmail command, called by the mail function was lost, since the mail function only returns true or false. Add additional logging to the mail function to capture the exit code when the sendmail command fails.
* php_gdb: Print `zend_string*`’s `h` field as hexadecimal A decimal representation of a hash value is not particularly meaningful and makes it harder to compare hash values. * php_gdb: Print `HashTable*`’s `nTableMask` field as hexadecimal
…not as precision 0 (#18912) Like in other languages, and especially C where printf originates from, a missing precision should be treated as a 0 precision. Because the ADJ_PRECISION flag was not set, the double formatting code resetted the precision to the default float precision of 6.
RFC: https://wiki.php.net/rfc/clone_with_v2 Co-authored-by: Volker Dusch <volker@tideways-gmbh.com>
* PHP-8.4: ext/soap/php_http.c: Fix memory leak of header value
This never worked and creates a broken object, and on master can cause a crash with foreach. It makes no sense to fix a behaviour that never worked, block it instead. Closes GH-19089.
…ipleIterator causes crash Closes GH-19097.
* PHP-8.3: Fix GH-19094: Attaching class with no Iterator implementation to MultipleIterator causes crash
* PHP-8.4: Fix GH-19094: Attaching class with no Iterator implementation to MultipleIterator causes crash
…> has_ns_named_item
This factors out the specific objmap handling to virtual functions. This is the last step in preparation for GH-18550.
Pipe compilation uses a temporary znode with QM_ASSIGN to remove references. Assert compilation wants to look at the operand AST and convert it to a string. However the original AST is lost due to the temporary znode. To solve this we either have to handle this specially in pipe compilation [1], or store the AST anyway somehow. Special casing this either way is not worth the complexity in my opinion, especially as it looks like a dynamic call anyway due to the FCC syntax. [1] Prototype (incomplete) at https://gist.github.com/nielsdos/50dc71718639c3af05db84a4dea6eb71 shows this is not worthwhile in my opinion. Closes GH-18965. Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
…k to AF_INET/AF_INET6 only. (#19040)
- When building with bundled libgd, it has support for TGA - When building with external libgd, at least 2.1.0 is required, which has TGA support.
- When building with bundled libgd, it has support for BMP - When building with external libgd, at least 2.1.0 is required, which has BMP support. - The HAVE_GD_PNG moved to PHP_GD_PNG Autoconf macro as it is always required when building with bundled libgd.
* PHP-8.4: Revert "Update IR"
Closes GH-18768 Co-authored-by: Gina Peter Banyard <girgias@php.net>
This header is not installed anymore and not intended to be used as a public header. Related to: d7bdf90
- On Solaris, strnlen was implemented on Solaris 11. - In Autotools, strnlen can be also checked in Zend scope as HAVE_STRNLEN is used only there.
Split out from the PropertyInfo class so that known strings can also be used for attributes in a follow-up commit.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )