Commit Graph

113120 Commits

Author SHA1 Message Date
Nikita Popov
974e77b345 Clarify that our usage of gettimeofday() is infallible
And that false can't be returned for this reason.
2019-09-09 17:11:22 +02:00
Christoph M. Becker
d9c0aa038b Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix version
2019-09-09 15:44:36 +02:00
Christoph M. Becker
73ede6911d Fix version
7.3.10 is next, not 7.3.11.
2019-09-09 15:44:06 +02:00
Christoph M. Becker
167ea6307b Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
2019-09-09 15:33:02 +02:00
Christoph M. Becker
af2033b1cd Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
2019-09-09 15:31:15 +02:00
Christoph M. Becker
8ead77936e Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
Backport jedisct1/libsodium.php@28d13bf437.
2019-09-09 15:30:28 +02:00
Nikita Popov
7807319b7c Fix typo 2019-09-09 14:24:26 +02:00
Remi Collet
a7b00f8787 zip edxtension is now 1.15.5 2019-09-09 14:22:12 +02:00
Remi Collet
766d5ff32f fix type consistency after
8f897f1040
2019-09-09 14:20:57 +02:00
Nikita Popov
36a8cf5182 Fixed bug #78514
The property class may have already been translated as part of
some other class. Only translate if xlat returns non-null.
2019-09-09 11:36:50 +02:00
Nikita Popov
66caca53ce Fix PDO pgsql memory leak with scrollable cursors 2019-09-09 10:50:10 +02:00
Nikita Popov
645b0372e3 Fix double free of DSN credentials 2019-09-09 10:10:41 +02:00
Peter Kokot
f5dfea60a2 Update NEWS 2019-09-08 21:49:42 +02:00
Peter Kokot
a8c97f0531 Fix #78349: Bundled pcre2 library missing LICENCE file
Most bundled libraries in PHP code already include license information
in the dedicated README.REDIST.BINS file. Instead of complicating
documentation files more this patch only updates the PCRE license info
in the readme file.
2019-09-08 21:46:48 +02:00
Nikita Popov
279f745a60 Fix reporting of redirect test failures in junit
These were being reported under the wrong name ... which means that
they don't show up as failures on azure :(
2019-09-07 22:47:50 +02:00
Dmitry Stogov
eef85229d0 Link executable files using non PIC object files. This reduces PIC overhead and improves performance. 2019-09-07 11:59:11 +03:00
Nikita Popov
768c93ed13 Remove defines for specific oraldap versions
These are not used for anything.
2019-09-06 14:59:59 +02:00
Nikita Popov
148ee16ff3 Remove support for umich_ldap
Doesn't seem to exist anymore, and their website now redirects to
openldap.
2019-09-06 14:57:26 +02:00
Nikita Popov
025ff3b5a3 Remove nsldap support
The newest version we're checking (libssldap50) seems to be about
15 years out of date. We could add support for libssldap60 (also
unmainted, but more recent), but given how nobody has expressed any
interest in this, I'm going ahead and dropping this code.
2019-09-06 14:39:42 +02:00
Nikita Popov
34f4ad61dc Fix detection of gmp on clang
Split the default and custom path case. If the default is used,
assume that the library must be on the default include and lib path.
Only check that the version is appropriate.

Something similar is needed for ldap, but the checking code is much
more complex there, so I'm only adding a workaround for now.
2019-09-06 14:35:39 +02:00
Nikita Popov
e81751ceac Fixed bug #78502
We need to make sure that the function is fully compiled before we
calculate the stack size. There already was a check for directly
recursive calls, but the same issue exists with indirectly recursive
calls.

I'm using DONE_PASS_TWO as the indication that the function is
fully compiled.
2019-09-06 11:33:28 +02:00
Stanislav Malyshev
df35d5cc21 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  fix version
2019-09-05 09:55:54 -07:00
Stanislav Malyshev
60cfa5781a fix version 2019-09-05 09:54:43 -07:00
Nikita Popov
9ec61e43d4 Fix pipe detection and stream position handling
There are two related changes here:
1. Also check for S_ISCHR/FILE_TYPE_CHAR when checking for pipes, so
   that we detect ttys as well, which are also not seekable.
2. Always set position=-1 (i.e. ftell will return false) when a pipe
   is detected. Previously position=0 was sometimes used, depending on
   whether we're on Windows/Linux and whether the FD or FILE codepath
   was used.
2019-09-05 18:29:15 +02:00
Dmitry Stogov
4ecdff2da8 Revert "Microoptimization (avoid code duplication)"
This reverts commit 25d97f5eee.
2019-09-05 15:35:19 +03:00
Dmitry Stogov
25d97f5eee Microoptimization (avoid code duplication) 2019-09-05 13:44:46 +03:00
Dmitry Stogov
7237da27fe Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used. 2019-09-05 11:40:15 +03:00
Nikita Popov
a2c21e10b2 Remove --with-zlib-dir option from mysqlnd config
mysqlnd doesn't actually use this. PDO MySQL uses it, but also
declares it separately.
2019-09-05 10:39:04 +02:00
Nikita Popov
b6f76aca54 Improve exception handling for abstract/deprecated calls
Reuse existing arg freeing loop instead of duplicating it.

Additionally also handle deprecated in DO_FCALL_BY_NAME.
2019-09-04 15:19:21 +02:00
Nikita Popov
4bb7282742 Fix handling of abstract/deprecated exception
The exception mechanism assumes that exceptions from DO_FCALL are
already happening after the function call. This means that we are
currently leaking the passed arguments, and I think we can also
corrupt the VM stack due to incorrect frame linking in some cases
(there are assertion failures if the VM stack page size is reduced).

Instead handle the stack frame freeing manually for this special
case.
2019-09-04 12:46:00 +02:00
Dmitry Stogov
1db0bad6a7 Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)). 2019-09-04 12:16:12 +03:00
Tyson Andre
94e2f25f07 Add missing opcache return types for functions in spl
(excluding spl_autoload)

spl_object_id() is of the most interest to me,
since I frequently call it in an application.

This includes false/null types caused by wrong argument types and wrong argument
counts.

I can't rule out iterator_to_array returning null in spl_iterator_apply,
so leave MAY_BE_NULL in.

With review comments by nikic:
Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
2019-09-04 11:12:41 +02:00
Fabien Villepinte
ced5bb7d88 Add the last missing SKIPIF 2019-09-04 08:53:35 +02:00
Fabien Villepinte
db4f5e44e1 Add missing SKIPIF (mbstring) 2019-09-04 08:51:03 +02:00
Fabien Villepinte
7aece45f4d Add missing SKIPIF (openssl)
Co-Authored-By: Gabriel Caruso <carusogabriel34@gmail.com>
2019-09-04 08:43:32 +02:00
Fabien Villepinte
bbf7b8dd69 Add missing SKIPIF (sqlite) 2019-09-04 08:39:15 +02:00
Fabien Villepinte
c0c1f9d38c Add missing SKIPIF 2019-09-04 08:36:11 +02:00
Christoph M. Becker
61dcae50d5 Document opcache.preload_user directive 2019-09-03 14:08:17 +02:00
Nikita Popov
6255308624 Report false for inherited private methods in method_exists()
These shadow methods only exist as internal implementation markers.
This mirrors the behavior of property_exists().
2019-09-03 13:59:25 +02:00
Christoph M. Becker
fd7309d194 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #41997: SP call yields additional empty result set
2019-09-03 13:33:15 +02:00
Christoph M. Becker
b90cd91eba Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #41997: SP call yields additional empty result set
2019-09-03 13:31:24 +02:00
Christoph M. Becker
41a4379cb4 Fix #41997: SP call yields additional empty result set
When stored procedures are called, the "final result set is a status
result that includes no result set".  Calling `::nextRowset()` on the
actual last result set should return FALSE, since there is actually no
further result set to be processed.
2019-09-03 13:29:30 +02:00
Dmitry Stogov
5dc37cc306 Execute preload script under user defined by opcache.preload_user directive 2019-09-03 14:23:13 +03:00
Nikita Popov
518c651c66 Avoid pointer UB in strip_header
Don't calculate header_start if lc_header_start is NULL, as we're
going to overflow the address space in that case.
2019-09-03 12:28:18 +02:00
Nikita Popov
265af40a0a Use unsigned subtraction in php_random_int()
This subtraction may overflow the signed domain, which is UB. Use
an unsigned subtraction instead.
2019-09-03 12:28:18 +02:00
Derick Rethans
ac356ba81f Merge branch 'PHP-7.4' of git://github.com/php/php-src into PHP-7.4 2019-09-03 09:11:00 +01:00
Tyson Andre
4de8503c22 Add missing opcache return info for ext/standard.
array_key_first/last returns null for invalid args,
wrong argument counts, and empty arrays.

random_bytes returns a string or throws.
2019-09-03 09:57:51 +02:00
Tyson Andre
1a905bcb1e Add new missing functions from ext/hash 2019-09-03 09:53:41 +02:00
Nikita Popov
c0e9b1532e Add zpp check to spl_classes() 2019-09-03 09:50:08 +02:00
Derick Rethans
c53da9b631 Update NEWS for 7.4.0RC2 2019-09-03 07:46:16 +00:00