]> granicus.if.org Git - php/log
php
4 years agoDon't allow properties on GdImage
Nikita Popov [Thu, 22 Oct 2020 08:34:14 +0000 (10:34 +0200)]
Don't allow properties on GdImage

Just like all the other former resources... we missed this case.

4 years agoSimplify and fix generator tree management
Nikita Popov [Thu, 15 Oct 2020 14:42:59 +0000 (16:42 +0200)]
Simplify and fix generator tree management

This makes a number of related changes to the generator tree
management, that should hopefully make it easier to understand,
more robust and faster for the common linear-chain case. Fixes
https://bugs.php.net/bug.php?id=80240, which was the original
motivation here.

 * Generators now only add a ref to their direct parent.
 * Nodes only store their children, not their leafs, which avoids
   any need for leaf updating. This means it's no longer possible
   to fetch the child for a certain leaf, which is something we
   only needed in one place (update_current). If multi-children
   nodes are involved, this will require doing a walk in the other
   direction (from leaf to root). It does not affect the common
   case of single-child nodes.
 * The root/leaf pointers are now seen as a pair. One leaf generator
   can point to the current root. If a different leaf generator is
   used, we'll move the root pointer over to that one. Again, this
   is a cache to make the common linear chain case fast, trees may
   need to scan up the parent link.

Closes GH-6344.

4 years agoUpdate bcmath.scale when calling bcscale()
Nikita Popov [Wed, 21 Oct 2020 15:03:54 +0000 (17:03 +0200)]
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.

4 years agoMore accurate live range construction
Dmitry Stogov [Wed, 21 Oct 2020 13:05:13 +0000 (16:05 +0300)]
More accurate live range construction

4 years agoEliminate useless mov(s)
Dmitry Stogov [Wed, 21 Oct 2020 13:03:28 +0000 (16:03 +0300)]
Eliminate useless mov(s)

4 years agoAdd test for zend_extension loading
Nikita Popov [Wed, 21 Oct 2020 08:34:34 +0000 (10:34 +0200)]
Add test for zend_extension loading

Closes GH-6363.

4 years agoFix invalid memory read on libpath
twosee [Wed, 21 Oct 2020 05:17:16 +0000 (13:17 +0800)]
Fix invalid memory read on libpath

Introduced in 3e33e1e86d15e262cd9e0224a9604e252f5d9284.

Closes GH-6362.

4 years agoEliminate dead type store
Dmitry Stogov [Tue, 20 Oct 2020 20:37:19 +0000 (23:37 +0300)]
Eliminate dead type store

4 years agoImprove JIT for fetching character form string
Dmitry Stogov [Tue, 20 Oct 2020 17:29:33 +0000 (20:29 +0300)]
Improve JIT for fetching character form string

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 20 Oct 2020 17:01:56 +0000 (19:01 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80242: imap_mail_compose() segfaults for multipart with rfc822

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 20 Oct 2020 17:00:04 +0000 (19:00 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80242: imap_mail_compose() segfaults for multipart with rfc822

4 years agoFix #80242: imap_mail_compose() segfaults for multipart with rfc822
Christoph M. Becker [Tue, 20 Oct 2020 14:38:16 +0000 (16:38 +0200)]
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.

4 years agoFix default value handling of mysqli_fetch_object()
Máté Kocsis [Tue, 13 Oct 2020 22:12:51 +0000 (00:12 +0200)]
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.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 20 Oct 2020 14:33:56 +0000 (16:33 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Add char* cast to avoid compiler warnings

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 20 Oct 2020 14:31:25 +0000 (16:31 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add char* cast to avoid compiler warnings

4 years agoAdd char* cast to avoid compiler warnings
Christoph M. Becker [Tue, 20 Oct 2020 14:25:00 +0000 (16:25 +0200)]
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.

4 years agoFixed bug #80256
Nikita Popov [Tue, 20 Oct 2020 13:32:01 +0000 (15:32 +0200)]
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.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 20 Oct 2020 11:36:17 +0000 (13:36 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Properly fix #80220

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 20 Oct 2020 11:34:27 +0000 (13:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Properly fix #80220

4 years agoProperly fix #80220
Christoph M. Becker [Fri, 16 Oct 2020 09:58:50 +0000 (11:58 +0200)]
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.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Tue, 20 Oct 2020 10:51:08 +0000 (12:51 +0200)]
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

4 years agoFix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0
twosee [Tue, 9 Jun 2020 06:55:36 +0000 (14:55 +0800)]
Fix bug #79643: Invalid memory read when opcache.interned_strings_buffer is 0

4 years agoImprove register allocator (register reuse)
Dmitry Stogov [Tue, 20 Oct 2020 10:46:32 +0000 (13:46 +0300)]
Improve register allocator (register reuse)

4 years agoImprove register allocator (give preference to loop variables).
Dmitry Stogov [Tue, 20 Oct 2020 09:19:44 +0000 (12:19 +0300)]
Improve register allocator (give preference to loop variables).

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Tue, 20 Oct 2020 08:52:50 +0000 (10:52 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix CCM tag length setting for old OpenSSL versions

4 years agoFix CCM tag length setting for old OpenSSL versions
Nikita Popov [Tue, 20 Oct 2020 08:50:50 +0000 (10:50 +0200)]
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.

4 years agoIncrease timeout on file cache job
Nikita Popov [Tue, 20 Oct 2020 07:53:50 +0000 (09:53 +0200)]
Increase timeout on file cache job

[ci skip]

4 years agoFixed range propagation
Dmitry Stogov [Mon, 19 Oct 2020 23:27:24 +0000 (02:27 +0300)]
Fixed range propagation

4 years agoAvoid partial register stall
Dmitry Stogov [Mon, 19 Oct 2020 20:22:43 +0000 (23:22 +0300)]
Avoid partial register stall

4 years agoUse zero-extended mov insted of sign-signed movsxd
Dmitry Stogov [Mon, 19 Oct 2020 16:39:51 +0000 (19:39 +0300)]
Use zero-extended mov insted of sign-signed movsxd

4 years agoFixed bug #80255
Nikita Popov [Mon, 19 Oct 2020 13:13:40 +0000 (15:13 +0200)]
Fixed bug #80255

This was a copy&paste mistake, target_block was used where
follow_block was intended. Also update copy&paste mistakes in
the comments.

4 years agoRevert "Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree"
Nikita Popov [Mon, 19 Oct 2020 09:22:32 +0000 (11:22 +0200)]
Revert "Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree"

This reverts commit 98bfad738ad2734dfba5733323f7ba733daf3ec3.

This doesn't work well in some setups, see bug #80113 and GH-5051.
Reverting this for now.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Mon, 19 Oct 2020 09:09:17 +0000 (11:09 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix bug #79983: Add support for OCB mode

4 years agoFix bug #79983: Add support for OCB mode
Nikita Popov [Wed, 14 Oct 2020 11:03:03 +0000 (13:03 +0200)]
Fix bug #79983: Add support for OCB mode

OCB mode ciphers were already exposed to openssl_encrypt/decrypt,
but misbehaved, because they were not treated as AEAD ciphers.
From that perspective, OCB should be treated the same way as GCM.
In OpenSSL 1.1 the necessary controls were unified under
EVP_CTRL_AEAD_* (and OCB is only supported since OpenSSL 1.1).

Closes GH-6337.

4 years agoDisable Laravel testing
Nikita Popov [Mon, 19 Oct 2020 08:43:43 +0000 (10:43 +0200)]
Disable Laravel testing

This has been failing for months now, let's make the scheduled
build status meaningful again.

[ci skip]

4 years agoAdd additional initialization checks to SplFileInfo
Nikita Popov [Mon, 19 Oct 2020 08:34:17 +0000 (10:34 +0200)]
Add additional initialization checks to SplFileInfo

4 years agoUpdated to version 2020.3 (2020c)
Derick Rethans [Mon, 19 Oct 2020 08:31:04 +0000 (09:31 +0100)]
Updated to version 2020.3 (2020c)

4 years agoEmpty merge
Derick Rethans [Mon, 19 Oct 2020 08:31:04 +0000 (09:31 +0100)]
Empty merge

4 years agoUpdated to version 2020.3 (2020c)
Derick Rethans [Mon, 19 Oct 2020 08:31:03 +0000 (09:31 +0100)]
Updated to version 2020.3 (2020c)

4 years agoEmpty merge
Derick Rethans [Mon, 19 Oct 2020 08:31:03 +0000 (09:31 +0100)]
Empty merge

4 years agoUpdated to version 2020.3 (2020c)
Derick Rethans [Mon, 19 Oct 2020 08:31:02 +0000 (09:31 +0100)]
Updated to version 2020.3 (2020c)

4 years agoCheck PDOStatement initialization during iteration
Nikita Popov [Mon, 19 Oct 2020 08:22:08 +0000 (10:22 +0200)]
Check PDOStatement initialization during iteration

4 years agoFix #80229: assert_options should have int and bool for parameter PHPDoc
Máté Kocsis [Sat, 17 Oct 2020 09:29:13 +0000 (11:29 +0200)]
Fix #80229: assert_options should have int and bool for parameter PHPDoc

Closes GH-6348

4 years agoProperly handle NULL output start filename
Nikita Popov [Fri, 16 Oct 2020 16:38:03 +0000 (18:38 +0200)]
Properly handle NULL output start filename

4 years agoMake sure output start filename is not freed early
Nikita Popov [Fri, 16 Oct 2020 15:23:10 +0000 (17:23 +0200)]
Make sure output start filename is not freed early

As filenames are no longer interned, we need to keep a reference
to the zend_string to make sure it isn't freed.

To avoid a nominal source compatibility break, create a new member
in the globals.

4 years agoFix leak when setting dynamic property on generator
Nikita Popov [Fri, 16 Oct 2020 14:57:50 +0000 (16:57 +0200)]
Fix leak when setting dynamic property on generator

4 years ago[ci skip] Make it clear what GD uses instead of resources
Anatoly Pashin [Fri, 16 Oct 2020 09:06:11 +0000 (19:06 +1000)]
[ci skip] Make it clear what GD uses instead of resources

Closes GH-6342.

4 years agoVerify parameter names of function aliases
Máté Kocsis [Tue, 13 Oct 2020 18:03:00 +0000 (20:03 +0200)]
Verify parameter names of function aliases

Closes GH-6335

4 years agoDragonFlyBSD build update for opcache JIT part.
David Carlier [Wed, 14 Oct 2020 18:49:30 +0000 (19:49 +0100)]
DragonFlyBSD build update for opcache JIT part.

Closes GH-6339.

4 years agoAvoid refcounting when return CV (similar to optimization in VM).
Dmitry Stogov [Thu, 15 Oct 2020 12:27:00 +0000 (15:27 +0300)]
Avoid refcounting when return CV (similar to optimization in VM).

4 years agoFix bug #80055
Nikita Popov [Thu, 15 Oct 2020 10:46:07 +0000 (12:46 +0200)]
Fix bug #80055

We need to perform trait scope fixup for both methods involved
in the inheritance check. For that purpose we already need to
thread through a separate fn scope through the entire inheritance
checking machinery.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Thu, 15 Oct 2020 11:20:58 +0000 (13:20 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix broken fix for #80239

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 15 Oct 2020 11:19:30 +0000 (13:19 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix broken fix for #80239

4 years agoFix broken fix for #80239
Christoph M. Becker [Thu, 15 Oct 2020 11:18:34 +0000 (13:18 +0200)]
Fix broken fix for #80239

No idea why that `git am` failed that badly.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Thu, 15 Oct 2020 10:57:13 +0000 (12:57 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80239: imap_rfc822_write_address() leaks memory

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 15 Oct 2020 10:55:44 +0000 (12:55 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80239: imap_rfc822_write_address() leaks memory

4 years agoFix #80239: imap_rfc822_write_address() leaks memory
Christoph M. Becker [Thu, 15 Oct 2020 10:51:10 +0000 (12:51 +0200)]
Fix #80239: imap_rfc822_write_address() leaks memory

We have to free the address when we're finished with it.

4 years agoChange $controls parameter to default to null in ext/ldap
Côme Chilliet [Thu, 15 Oct 2020 09:46:44 +0000 (11:46 +0200)]
Change $controls parameter to default to null in ext/ldap

It appeared that not passing $controls and passing [] caused different
 behaviors, when not passing it the controls set through ldap_set_option
 would be used, when passing [] they would not.

So, this parameter is now nullable and defaults to null to have a
 consistent behavior.

4 years agoSkip arginfo test under msan
Nikita Popov [Thu, 15 Oct 2020 08:40:23 +0000 (10:40 +0200)]
Skip arginfo test under msan

Msan is missing interceptors for some functions that result in
false positives.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Thu, 15 Oct 2020 08:17:55 +0000 (10:17 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix leak in gmp_export()

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 15 Oct 2020 08:16:56 +0000 (10:16 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix leak in gmp_export()

4 years agoFix leak in gmp_export()
Nikita Popov [Thu, 15 Oct 2020 08:16:22 +0000 (10:16 +0200)]
Fix leak in gmp_export()

4 years agoAdapt test expectation to cURL 7.73.0
Christoph M. Becker [Wed, 14 Oct 2020 16:50:56 +0000 (18:50 +0200)]
Adapt test expectation to cURL 7.73.0

cURL 7.73.0 introduced support for the MQTT protocol, so we have to
adapt our expectations regarding the supported protocols.

4 years agoSync zpp in phar interceptors
Nikita Popov [Wed, 14 Oct 2020 14:57:38 +0000 (16:57 +0200)]
Sync zpp in phar interceptors

This should match the zpp of the intercepted functions...

4 years agoFix null foreground in imagewbmp
Nikita Popov [Wed, 14 Oct 2020 14:40:09 +0000 (16:40 +0200)]
Fix null foreground in imagewbmp

The variable was not actually passed to zpp...

4 years agoMark ldap_exop() param as UNKNOWN
Nikita Popov [Wed, 14 Oct 2020 09:43:22 +0000 (11:43 +0200)]
Mark ldap_exop() param as UNKNOWN

This function actually has very different behavior depending on
whether $response_data is passed or not.

4 years agoMore arginfo/zpp verification
Nikita Popov [Tue, 21 Jul 2020 14:21:14 +0000 (16:21 +0200)]
More arginfo/zpp verification

Run all functions with a varying number of null arguments, which
helps us flush out all kinds of bugs.

Closes GH-5881.

4 years agoInitialize calendar_long variable
Nikita Popov [Wed, 14 Oct 2020 09:57:05 +0000 (11:57 +0200)]
Initialize calendar_long variable

As reported by cmb, this results a VC runtime warning. I don't
believe there's a problem here, as we only use calendar_long if
both calendar_is_null and calendar_obj are not set, but it doesn't
hurt to initialize it either...

4 years agoFix nullability of openssl_cms_sign() parameter
Nikita Popov [Wed, 14 Oct 2020 09:31:58 +0000 (11:31 +0200)]
Fix nullability of openssl_cms_sign() parameter

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Wed, 14 Oct 2020 08:56:51 +0000 (10:56 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Allow passing $tag for non-authenticated encryption

4 years agoAllow passing $tag for non-authenticated encryption
Nikita Popov [Tue, 13 Oct 2020 14:46:32 +0000 (16:46 +0200)]
Allow passing $tag for non-authenticated encryption

openssl_encrypt() currently throws a warning if the $tag out
parameter is passed for a non-authenticated cipher. This violates
the principle that a function should behave the same if a parameter
is not passed, and if the default value is passed for the parameter.

I believe this warning should simply be dropped and the $tag be
populated with null, as is already the case. Otherwise, it is not
possible to use openssl_encrypt() in generic wrapper APIs, that are
compatible with both authenticated and non-authenticated encryption.

Closes GH-6333.

4 years agoAdded missing side exit
Dmitry Stogov [Tue, 13 Oct 2020 22:17:39 +0000 (01:17 +0300)]
Added missing side exit

4 years agoUpdate NEWS for 8.0.0RC3
Sara Golemon [Tue, 13 Oct 2020 21:59:53 +0000 (21:59 +0000)]
Update NEWS for 8.0.0RC3

4 years agoUpdate NEWS for PHP 8.0.0RC2
Sara Golemon [Tue, 13 Oct 2020 21:53:31 +0000 (21:53 +0000)]
Update NEWS for PHP 8.0.0RC2

4 years agoNormalize mb_ereg() return value
Nikita Popov [Tue, 13 Oct 2020 14:17:40 +0000 (16:17 +0200)]
Normalize mb_ereg() return value

mb_ereg()/mb_eregi() currently have an inconsistent return value
based on whether the $matches parameter is passed or not:

> Returns the byte length of the matched string if a match for
> pattern was found in string, or FALSE if no matches were found
> or an error occurred.
>
> If the optional parameter regs was not passed or the length of
> the matched string is 0, this function returns 1.

Coupling this behavior to the $matches parameter doesn't make sense
-- we know the match length either way, there is no technical
reason to distinguish them. However, returning the match length
is not particularly useful either, especially due to the need to
convert 0-length into 1-length to satisfy "truthy" checks. We
could always return 1, which would kind of match the behavior of
preg_match() -- however, preg_match() actually returns the number
of matches, which is 0 or 1 for preg_match(), while false signals
an error. However, mb_ereg() returns false both for no match and
for an error. This would result in an odd 1|false return value.

The patch canonicalizes mb_ereg() to always return a boolean,
where true indicates a match and false indicates no match or error.
This also matches the behavior of the mb_ereg_match() and
mb_ereg_search() functions.

This fixes the default value integrity violation in PHP 8.

Closes GH-6331.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 13 Oct 2020 17:40:49 +0000 (19:40 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #64076: imap_sort() does not return FALSE on failure

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 13 Oct 2020 17:38:10 +0000 (19:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #64076: imap_sort() does not return FALSE on failure

4 years agoFix #64076: imap_sort() does not return FALSE on failure
Christoph M. Becker [Tue, 13 Oct 2020 14:20:55 +0000 (16:20 +0200)]
Fix #64076: imap_sort() does not return FALSE on failure

If unsupported `$search_criteria` are passed to `imap_sort()`, the
function returns an empty array, but there is also an error on the
libc-client error stack ("Unknown search criterion: UNSUPPORTED
(errflg=2)").  If, on the other hand, unsupported `$criteria` or
unsupported `$flags` are passed, the function returns `false`.  We
solve this inconsistency by returning `false` for unsupported
`$search_criteria` as well.

Closes GH-6332.

4 years agoFix incorrect zpp parameter count in mb_substr() / mb_strcut()
Nikita Popov [Tue, 13 Oct 2020 15:44:56 +0000 (17:44 +0200)]
Fix incorrect zpp parameter count in mb_substr() / mb_strcut()

These functions only accept 4 params.

4 years agoFix default value for some pgsql functions
Nikita Popov [Tue, 13 Oct 2020 15:28:38 +0000 (17:28 +0200)]
Fix default value for some pgsql functions

These set the PGSQL_DML_EXEC flag by default.

4 years agoFix null handling in mysqli_begin_transaction()
Nikita Popov [Tue, 13 Oct 2020 15:10:41 +0000 (17:10 +0200)]
Fix null handling in mysqli_begin_transaction()

We don't want an explicit null name hit the !name_len check.

4 years agoFix argument nullability in mbstring
Nikita Popov [Tue, 13 Oct 2020 14:02:29 +0000 (16:02 +0200)]
Fix argument nullability in mbstring

These arguments were declared nullable in stubs (and should be
nullable), but didn't accept null in zpp.

4 years agoDon't accept null in pg_unescape_bytea()
Nikita Popov [Tue, 13 Oct 2020 13:36:09 +0000 (15:36 +0200)]
Don't accept null in pg_unescape_bytea()

This is an error that slipped in via 8d37c37bcdbf6fa99cd275413342457eeb2c664e.
pg_unescape_bytea() did not accept null in PHP 7.4, and it is not
meaningful for it to accept null now -- it will always fail, and now
with a misleading OOM message.

4 years agoUpdate ext/odbc parameter names
Christoph M. Becker [Tue, 13 Oct 2020 12:57:17 +0000 (14:57 +0200)]
Update ext/odbc parameter names

Closes GH-6303.

4 years agoUse $statement in mysqli
Nikita Popov [Tue, 13 Oct 2020 10:38:39 +0000 (12:38 +0200)]
Use $statement in mysqli

As we went with $statement rather than $stmts in other places,
let's also use it in mysqli. The discrepancy with mysqli_stmt
is a bit unfortunate, but we can't be consistent with *both*.

Closes GH-6330.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Derick Rethans [Tue, 13 Oct 2020 11:29:14 +0000 (12:29 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

4 years agoPrepare for 7.4.13
Derick Rethans [Tue, 13 Oct 2020 11:28:58 +0000 (12:28 +0100)]
Prepare for 7.4.13

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 13 Oct 2020 11:12:39 +0000 (13:12 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Ignore memory leaks reported for some libc-client functions

4 years agoIgnore memory leaks reported for some libc-client functions
Christoph M. Becker [Mon, 12 Oct 2020 15:28:24 +0000 (17:28 +0200)]
Ignore memory leaks reported for some libc-client functions

At least on Windows, some static variables are lazily initialized
during `mail_open()` and `mail_lsub()`, which are reported as memory
leaks.  We suppress these false positives.

Closes GH-6326.

4 years agoGive preference to live-ranges with register hints to improve register reuse.
Dmitry Stogov [Tue, 13 Oct 2020 10:59:53 +0000 (13:59 +0300)]
Give preference to live-ranges with register hints to improve register reuse.

4 years agoUpdate ext/pdo_pgsql parameter names
Nikita Popov [Tue, 13 Oct 2020 09:11:13 +0000 (11:11 +0200)]
Update ext/pdo_pgsql parameter names

Closes GH-6329.

4 years agoUpdate ext/pgsql parameter names
Nikita Popov [Wed, 7 Oct 2020 14:07:03 +0000 (16:07 +0200)]
Update ext/pgsql parameter names

Closes GH-6294.

4 years agoFix handling of throwing undef var in verify return
Nikita Popov [Tue, 13 Oct 2020 09:38:30 +0000 (11:38 +0200)]
Fix handling of throwing undef var in verify return

If we have an undefined variable and null is not accepted by the
return type, we want to throw just the undef var error.

In this case this lead to an infinite loop, because we overwrite
the exception opline in SAVE_OPLINE and it does not get reset
when chaining into a previous exception. Add an assertiong to
catch this case earlier.

4 years agoUpdate ext/sodium parameter names
Nikita Popov [Tue, 6 Oct 2020 10:02:11 +0000 (12:02 +0200)]
Update ext/sodium parameter names

Closes GH-6279.

4 years agoAvoid useless register allocation
Dmitry Stogov [Tue, 13 Oct 2020 08:37:33 +0000 (11:37 +0300)]
Avoid useless register allocation

4 years agoUpdate ext/phar parameter names
Nikita Popov [Wed, 7 Oct 2020 15:33:22 +0000 (17:33 +0200)]
Update ext/phar parameter names

Closes GH-6307.

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Tue, 13 Oct 2020 07:55:33 +0000 (09:55 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  7.3.25 is next

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 13 Oct 2020 07:53:52 +0000 (09:53 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  7.3.25 is next

4 years ago7.3.25 is next
Christoph M. Becker [Tue, 13 Oct 2020 07:52:46 +0000 (09:52 +0200)]
7.3.25 is next

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 12 Oct 2020 21:21:35 +0000 (23:21 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80226: imap_sort() leaks sortpgm memory