Skip to content
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

sync master #1

Merged
merged 2,499 commits into from Sep 2, 2020
Merged

sync master #1

merged 2,499 commits into from Sep 2, 2020

Conversation

chopins
Copy link
Owner

@chopins chopins commented Sep 2, 2020

No description provided.

mbeccati and others added 30 commits August 18, 2020 18:27
* PHP-7.3:
  Fix #47021: SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"
* PHP-7.4:
  Fix #47021: SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"
…rst operand and it may be used later in VM or different trace.
User-defined functions can't have multiple parameters with the same name.
Don't do that for var_dump/debug_zval_dump.

Consistently use array $array to match docs

Fix typo in UPGRADING

Fixes GH-6015
ini_entry->modifiable is of type uint8_t and so should be the temp. variable. Especially important after 4b77a15.

Closes GH-6028
* PHP-7.3:
  Fix wrong datatype
* PHP-7.4:
  Fix wrong datatype
Checking the version is not enough, the function might be available
but the symbols are not present still.

Closes GH-5993
* PHP-7.4:
  sqlite3 linkage issue on some systems/package combination fix.
Haiku already defines a unichar type and different than the fileinfo's anyway.

Closed GH-5983
Also it fixes test on 32-bit armv7 and x86
- Test unixtojd() function : error conditions [ext/calendar/tests/unixtojd_error1.phpt]

Closes GH-6033
* PHP-7.3:
  Fix #80007: Potential type confusion in unixtojd() parameter parsing
* PHP-7.4:
  Fix #80007: Potential type confusion in unixtojd() parameter parsing
alexdowad and others added 28 commits August 31, 2020 23:17
… ~15%)

This function uses various subfunctions to convert case of Unicode wchars.
Previously, these subfunctions would store the case-converted characters in
a buffer, and the parent function would then pass them (byte by byte) to
the next filter in the filter chain.

Rather than passing around that buffer, it's better for the subfunctions to
directly pass the case-converted bytes to the next filter in the filter chain.
This speeds things up nicely.
If NULL is not defined by the platform, mbfl_defs.h already defines it.
….h is used)

Very interesting... it turns out that when Valgrind support was enabled,
`#include "config.h"` from within mbstring was actually including the file "config.h"
from Valgrind, and not the one from mbstring!!

This is because -I/usr/include/valgrind was added to the compiler invocation _before_
-Iext/mbstring/libmbfl.

Make sure we actually include the file which was intended.
This is just a very silly feature of mbstring -- you can compile the source files with
HAVE_MBSTRING undefined, and it will all just compile to (almost) nothing. What is the
use of this? Why compile the source files and link against them if you don't want the
mbstring extension? It doesn't make any kind of sense.
These were unused, and almost certainly will never be used:

- MBFL_ENCTYPE_MWC4BE
- MBFL_ENCTYPE_MWC4LE
- MBFL_ENCTYPE_SHFTCODE
- MBFL_ENCTYPE_ENC_STRM

For the latter two, there were some encodings which were marked with these flags;
but nothing ever _checked_ these particular flags.
We can't just remove the uses, we need to replace uses.

The test case only fails on master with SSA integrity violations,
but I believe the root issue also existed previously.
Avoid precision warning.
* PHP-7.4:
  Fix pi node removal when removing predecessor
FE_RESET sets the result to UNDEF in this case. We should infer
some type here, because no type generally implies unreachable
code. In this case SCCP ended up replacing the FE_RESET result
with null, including in FE_FREE.
After a99d08b the type can
include UNDEF. However, UNDEF can only reach FE_FREE, not FE_FETCH.
As such, simply ignore this type.
This can happen if zend_call_function inserted a dummy frame,
and we already switched to the dummy frame in leave_helper,
and an exception is thrown during CV destruction.

Fixes oss-fuzz #25343.
* PHP-7.4:
  Check for null EX(func) in write_property
Closes GH-5857.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
Co-authored-by: Sammy Powers <sammyk@datadoghq.com>
As with other sanitizers, this is not supported.
@chopins chopins merged commit e3f29b4 into chopins:master Sep 2, 2020
chopins pushed a commit that referenced this pull request May 5, 2023
…#10533)

Commit a211956 added a TSRM destructor, but that destructor
will get called by tsrm_shutdown(), which is after opcache.so has
already been unloaded, resulting in a shutdown crash, e.g.:

  #0  0x00007fad01737500 in ?? ()
  #1  0x000055ac54e723c4 in tsrm_shutdown () at TSRM/TSRM.c:194
  #2  0x000055ac54c42180 in main (argc=80, argv=0x55ac57bc14d0) at sapi/cli/php_cli.c:1388

By calling ts_free_id() before opcache.so gets unloaded, we can easily
fix this crash bug.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet