1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 15:38:49 +02:00
Commit Graph

56993 Commits

Author SHA1 Message Date
Christoph M. Becker 5609701389 Define config var PHP_JSON
Otherwise, `ADD_EXTENSION_DEP('foo', 'json')` fails, even though the
JSON extension is available.
2020-10-24 15:36:05 +02:00
George Peter Banyard 158d308197 Throw Value/TypeError for invalid $bodies in imap_mail_compose()
Small drive by refactoring to use HashTables

Closes GH-6371
2020-10-23 20:47:35 +01:00
Máté Kocsis 47bbfe1fc0 Require stubs to declare return types for magic methods when possible
Closes GH-6376
2020-10-23 16:33:16 +02:00
Javier Eguiluz c64dcda5e5 Fixed some typos
Closes GH-6373.

[ci skip]
2020-10-23 09:34:09 +02:00
Dmitry Stogov 0f8518f875 Fixed register allocation 2020-10-22 23:16:41 +03:00
Dmitry Stogov 838d8d0ba0 Fixed reference-counter inference 2020-10-22 23:15:39 +03:00
Dmitry Stogov 5626dcdb9d Missed warning 2020-10-22 23:15:15 +03:00
George Peter Banyard ba27866aec Fix bug 76618
Apply patch which was attached to the bug in July 2018
2020-10-22 17:05:29 +01:00
Dmitry Stogov 20cbb233c4 Checj type guards before loading values into CPU registers 2020-10-22 18:23:49 +03:00
Dmitry Stogov 30cf0a04bf Avoid register allocation for ASSIGN into aliased variable (it might be indirectly changed into IS_REFERENCE) 2020-10-22 18:22:36 +03:00
George Peter Banyard 8b265fb602 Fix segfaults after conversion from zval to zend_string params 2020-10-22 15:50:01 +01:00
Nikita Popov 6de6f2a4e9 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Don't crash on uninitialized tidy object
2020-10-22 16:05:57 +02:00
Nikita Popov 85d9a1ca6e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Don't crash on uninitialized tidy object
2020-10-22 16:05:34 +02:00
Nikita Popov d4bf0799b8 Don't crash on uninitialized tidy object
"Uninitialized" here means that the object was created ordinarily
-- no constructor skipping involved. Most tidy methods seem to
handle this fine, but these three need to be guarded.
2020-10-22 16:04:22 +02:00
Nikita Popov bfe7a1168a Properly validate ArrayObject::asort() argument 2020-10-22 15:20:43 +02:00
Máté Kocsis 4fb5ccf00c Fix parameter name of pspell_config_save_repl()
Closes GH-6369.
2020-10-22 14:54:43 +02:00
Nikita Popov 97dd0eb98d Fix stub for dba_key_split()
This is an extremely weird function, but the behavior seems to be
intentional, and is quite clearly documented.

So we adjust the stub to also accept false|null as arguments. I
believe the implementation already correctly matches union type
semantics.
2020-10-22 14:50:52 +02:00
Nikita Popov db5979dfe2 Make highlight_string() accept string in zpp
To satisfy the type declaration.
2020-10-22 14:31:42 +02:00
Nikita Popov c23eefb1ad Don't leak pcntl last_error across requests 2020-10-22 14:21:22 +02:00
Nikita Popov aa0d886cbc Don't leak json error_code across requests 2020-10-22 12:42:09 +02:00
Nikita Popov 41b8cdd2e0 Don't leak pcre error_code across requests 2020-10-22 11:20:02 +02:00
Derick Rethans 5eb6f593ee Updated to version 2020.4 (2020d) 2020-10-22 10:12:27 +01:00
Derick Rethans 4ea01bdc67 Updated to version 2020.4 (2020d) 2020-10-22 10:12:26 +01:00
Derick Rethans d4200ba6cf Updated to version 2020.4 (2020d) 2020-10-22 10:12:24 +01:00
Nikita Popov dd3639341d Don't allow properties on GdImage
Just like all the other former resources... we missed this case.
2020-10-22 10:34:14 +02:00
Nikita Popov ac87880add Update bcmath.scale when calling bcscale()
We should keep the value of bcmath.scale and the internal
bc_precision global synchronized.

Probably more important than the ability to retrieve bcmath.scale
via ini_get(), this also makes sure that the set scale does not
leak into the next request, as it currently does.
2020-10-21 17:06:48 +02:00
Dmitry Stogov cb6f9a6568 More accurate live range construction 2020-10-21 16:05:13 +03:00
Dmitry Stogov 9efb258fc1 Eliminate useless mov(s) 2020-10-21 16:03:28 +03:00
Dmitry Stogov a1cac4fefc Eliminate dead type store 2020-10-20 23:37:19 +03:00
Dmitry Stogov 0ac810bbc5 Improve JIT for fetching character form string 2020-10-20 20:29:33 +03:00
Christoph M. Becker edd8bd64ba Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix #80242: imap_mail_compose() segfaults for multipart with rfc822
2020-10-20 19:02:15 +02:00
Christoph M. Becker 4ef7be20ab Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #80242: imap_mail_compose() segfaults for multipart with rfc822
2020-10-20 19:00:16 +02:00
Christoph M. Becker 315b95b065 Fix #80242: imap_mail_compose() segfaults for multipart with rfc822
libc-client expects `TYPEMESSAGE` with an explicit subtype of `RFC822`
to have a `nested.msg` (otherwise there will be a segfault during
free), but not to have any `contents.text.data` (this will leak
otherwise).

Closes GH-6345.
2020-10-20 18:58:45 +02:00
Máté Kocsis d5f92baad0 Fix default value handling of mysqli_fetch_object()
Make [] acceptable both for classes without constructors and
classes with a constructor that takes no arguments.

Closes GH-6336.
2020-10-20 16:48:12 +02:00
Christoph M. Becker 8f6cade864 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Add char* cast to avoid compiler warnings
2020-10-20 16:33:56 +02:00
Christoph M. Becker a54f0f7680 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Add char* cast to avoid compiler warnings
2020-10-20 16:31:25 +02:00
Christoph M. Becker de58fb34c9 Add char* cast to avoid compiler warnings
In libc-client 2007f `data` is declared as `unsigned char *`; there may
be variants which declare it as `void *`, but in any case picky
compilers may warn about a pointer type mismatch in the conditional
(and error with `-W-error`), so we're adding a `char *` cast for good
measure.
2020-10-20 16:29:42 +02:00
Nikita Popov 1c157d3fa2 Fixed bug #80256
Remove the transfer_encoding stream filter immediately when we
destroy the old stream, to make sure it doesn't get attached to
the new stream.
2020-10-20 15:35:41 +02:00
Christoph M. Becker 486c49dee8 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Properly fix #80220
2020-10-20 13:36:41 +02:00
Christoph M. Becker 9cfd650697 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Properly fix #80220
2020-10-20 13:35:06 +02:00
Christoph M. Becker 7f3bdda29b Properly fix #80220
The original fix for that bug[1] broke the formerly working composition
of message/rfc822 messages, which results in a segfault when freeing
the message body now.  While `imap_mail_compose()` does not really
support composition of meaningful message/rfc822 messages (although
libc-client appears to support that), some code may still use this to
compose partial messages, and using string manipulation to create the
final message.

The point is that libc-client expects `TYPEMESSAGE` with an explicit
subtype of `RFC822` to have a `nested.msg` (otherwise there will be a
segfault during free), but not to have any `contents.text.data` (this
will leak otherwise).

[1] <http://git.php.net/?p=php-src.git;a=commit;h=0d022ddf03c5fabaaa22e486d1e4a367ed9170a7>

Closes GH-6343.
2020-10-20 13:32:53 +02:00
Nikita Popov cf04707938 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0
2020-10-20 12:51:08 +02:00
twosee d134c0ac05 Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0 2020-10-20 12:50:28 +02:00
Dmitry Stogov 5e17d88b63 Improve register allocator (register reuse) 2020-10-20 13:46:32 +03:00
Dmitry Stogov ea1590937b Improve register allocator (give preference to loop variables). 2020-10-20 12:19:44 +03:00
Nikita Popov 87d2bb7424 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix CCM tag length setting for old OpenSSL versions
2020-10-20 10:52:50 +02:00
Nikita Popov 1359f793ee Fix CCM tag length setting for old OpenSSL versions
While OpenSSL 1.1 allows unconditionally setting the CCM tag length
even for decryption, some older versions apparently do not. As such,
we do need to treat CCM and OCB separately after all.
2020-10-20 10:50:50 +02:00
Dmitry Stogov ee5b1dd6dc Fixed range propagation 2020-10-20 02:27:24 +03:00
Dmitry Stogov fc2d477c5b Avoid partial register stall 2020-10-19 23:22:43 +03:00
Dmitry Stogov bf321f0c14 Use zero-extended mov insted of sign-signed movsxd 2020-10-19 19:39:51 +03:00