]>
granicus.if.org Git - php/log
Stanislav Malyshev [Tue, 29 Oct 2019 03:47:57 +0000 (20:47 -0700)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix libmagic buffer overflow issue (CVE-2019-18218)
bump version
set versions for release
Stanislav Malyshev [Tue, 29 Oct 2019 03:47:50 +0000 (20:47 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix libmagic buffer overflow issue (CVE-2019-18218)
bump version
set versions for release
Stanislav Malyshev [Tue, 29 Oct 2019 03:47:44 +0000 (20:47 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix libmagic buffer overflow issue (CVE-2019-18218)
bump version
set versions for release
Stanislav Malyshev [Tue, 29 Oct 2019 03:47:30 +0000 (20:47 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix libmagic buffer overflow issue (CVE-2019-18218)
bump version
set versions for release
Christoph M. Becker [Mon, 28 Oct 2019 15:41:16 +0000 (16:41 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add support for Interbase 1 dialect
Simonov Denis [Fri, 25 Oct 2019 16:38:01 +0000 (18:38 +0200)]
Add support for Interbase 1 dialect
Christoph M. Becker [Sun, 27 Oct 2019 12:12:45 +0000 (13:12 +0100)]
Add missing zend_parse_parameters_none()
We fix the trivial cases; some others need further discussion, see
<https://news-web.php.net/php.internals/107723>.
Nikita Popov [Mon, 28 Oct 2019 12:24:07 +0000 (13:24 +0100)]
Remove ability to unbind $this of closures if used
This was deprecated in PHP 7.4, removing it for PHP 8.0.
Fabien Villepinte [Mon, 28 Oct 2019 12:14:50 +0000 (13:14 +0100)]
Define IS_WINDOWS in the test runner
Avoid code duplication
Closes GH-4866.
Christoph M. Becker [Mon, 28 Oct 2019 12:09:44 +0000 (13:09 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #78751: Serialising DatePeriod converts DateTimeImmutable
Christoph M. Becker [Mon, 28 Oct 2019 12:09:11 +0000 (13:09 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78751: Serialising DatePeriod converts DateTimeImmutable
Christoph M. Becker [Mon, 28 Oct 2019 12:08:06 +0000 (13:08 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78751: Serialising DatePeriod converts DateTimeImmutable
Christoph M. Becker [Fri, 25 Oct 2019 13:43:38 +0000 (15:43 +0200)]
Fix #78751: Serialising DatePeriod converts DateTimeImmutable
When getting the properties of a DatePeriod instance we have to retain
the proper classes, and when restoring a DatePeriod instance we have to
cater to DateTimeImmutable instances as well.
Christoph M. Becker [Mon, 28 Oct 2019 10:59:20 +0000 (11:59 +0100)]
Elevate warnings to Error Exceptions in ext/bcmath
`bcdiv()` and `bcmod()` throw DivisionByZeroError if the divisor is 0,
which matches the behavior of the `/` and `%` operators, and `bcsqrt()`
throws ValueError for negative operands.
kharhamel [Tue, 15 Oct 2019 15:51:39 +0000 (17:51 +0200)]
Convert warnings to Errors in sprintf() functions
Closes GH-4837.
Tyson Andre [Sun, 27 Oct 2019 03:44:36 +0000 (23:44 -0400)]
Fix miscellaneous typos in docs and error messages
Closes GH-4863.
Nikita Popov [Mon, 28 Oct 2019 10:42:57 +0000 (11:42 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove redundant variable rv and optimize code
ZiMuyang [Sun, 27 Oct 2019 15:21:31 +0000 (23:21 +0800)]
Remove redundant variable rv and optimize code
Closes GH-4864.
Tyson Andre [Fri, 25 Oct 2019 13:31:06 +0000 (09:31 -0400)]
Optimize array_slice for packed arrays with large offsets
If the offset is 100000, and there are no gaps in the packed/unpacked array,
then advance the pointer once by 100000,
instead of looping and skipping 100000 times.
Add a new test of array_slice handling unset offsets.
Closes GH-4860.
Nikita Popov [Mon, 28 Oct 2019 09:28:24 +0000 (10:28 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #78752
Nikita Popov [Mon, 28 Oct 2019 09:28:14 +0000 (10:28 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #78752
Nikita Popov [Mon, 28 Oct 2019 09:27:46 +0000 (10:27 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix bug #78752
Nikita Popov [Mon, 28 Oct 2019 09:23:20 +0000 (10:23 +0100)]
Fix bug #78752
NULL out the execute_data before destroying it, otherwise GC may
trigger while the execute_data is partially destroyed, resulting
in double-frees.
The handling of call stack unfreezing is a bit awkward because it's
a ZEND_API function, so we can't change the signature.
Stanislav Malyshev [Sun, 27 Oct 2019 23:30:38 +0000 (16:30 -0700)]
Fix libmagic buffer overflow issue (CVE-2019-18218)
Ported from https://github.com/file/file/commit/
46a8443f76cec4b41ec736eca396984c74664f84
Christoph M. Becker [Sun, 27 Oct 2019 12:41:41 +0000 (13:41 +0100)]
Revert "Add missing zend_parse_parameters_none()"
This reverts commit
ef439ec895a97a12e8f88c3371dfc8881a501649 .
Test failures need to be resolved first.
Christoph M. Becker [Sun, 27 Oct 2019 12:12:45 +0000 (13:12 +0100)]
Add missing zend_parse_parameters_none()
Nikita Popov [Sun, 27 Oct 2019 08:36:44 +0000 (09:36 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Try one more FD in ext/standard/tests/file/php_fd_wrapper_04.phpt
Nikita Popov [Sun, 27 Oct 2019 08:33:46 +0000 (09:33 +0100)]
Try one more FD in ext/standard/tests/file/php_fd_wrapper_04.phpt
For some reason FD 120 seems to exist on macos quite often, while
FD 12 did not... Let's try an even larger number, otherwise we
should just drop this test.
Christoph M. Becker [Sat, 26 Oct 2019 14:24:02 +0000 (16:24 +0200)]
Remove generic type annotations
Cf. <https://github.com/php/php-src/commit/
de69a9d3ebad41da9bc7c59f836bb141f0af70f8 #r35675846>.
Christoph M. Becker [Sat, 26 Oct 2019 14:15:19 +0000 (16:15 +0200)]
Fix and make reflection arginfo stubs more specific
Fabien Villepinte [Sat, 26 Oct 2019 14:08:00 +0000 (16:08 +0200)]
Merge branch 'PHP-7.4'
Fabien Villepinte [Sat, 26 Oct 2019 14:05:02 +0000 (16:05 +0200)]
Replace EXPECTF by EXPECT
In ext/dom all the tests with a EXPECTF section
starting by "Fatal error: Uncaught" have been updated
to use the faster EXPECT
Christoph M. Becker [Sat, 26 Oct 2019 10:29:18 +0000 (12:29 +0200)]
Improve reflection arginfo stubs
Thomas Gerbet [Sun, 13 Oct 2019 18:57:09 +0000 (20:57 +0200)]
Add stubs for ext-reflection
Nikita Popov [Fri, 25 Oct 2019 14:38:13 +0000 (16:38 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add ARM64 CI to Travis
Nikita Popov [Wed, 23 Oct 2019 10:58:21 +0000 (12:58 +0200)]
Add ARM64 CI to Travis
We need to install a number of additional packages that are installed
by default on the AMD64 workers.
We also have to manually set up the MySQL user.
For now we don't set up Postgres -- if anyone wants to figure that
out, it would be great ;)
Log redirections in compile.sh are removed, because /dev/stdout is
not accessible. We don't see to use this anyway.
Nikita Popov [Fri, 25 Oct 2019 14:32:14 +0000 (16:32 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #78226: Don't call __set() on uninitialized typed properties
Nikita Popov [Thu, 24 Oct 2019 14:36:25 +0000 (16:36 +0200)]
Fix bug #78226: Don't call __set() on uninitialized typed properties
Assigning to an uninitialized typed property will no longer trigger
a call to __set(). However, calls to __set() are still triggered if
the property is explicitly unset().
This gives us both the behavior people generally expect, and still
allows ORMs to do lazy initialization by unsetting properties.
For PHP 8, we should fine a way to forbid unsetting of declared
properties entirely, and provide a different way to achieve lazy
initialization.
Nikita Popov [Fri, 25 Oct 2019 10:53:24 +0000 (12:53 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #78747
Nikita Popov [Fri, 25 Oct 2019 10:50:26 +0000 (12:50 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #78747
Nikita Popov [Fri, 25 Oct 2019 10:50:12 +0000 (12:50 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fixed bug #78747
Nikita Popov [Fri, 25 Oct 2019 10:47:18 +0000 (12:47 +0200)]
Fixed bug #78747
Nikita Popov [Fri, 25 Oct 2019 09:41:41 +0000 (11:41 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Optimize VERIFY_RETURN_TYPE for TMP operands as well
Nikita Popov [Fri, 25 Oct 2019 09:37:19 +0000 (11:37 +0200)]
Optimize VERIFY_RETURN_TYPE for TMP operands as well
Only exclude CONST operands, which use a different instruction
format (they have a return operand).
Nikita Popov [Fri, 25 Oct 2019 09:25:49 +0000 (11:25 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Check class linking in VERIFY_RETURN_TYPE optimization
Simplify travis setup scripts
Nikita Popov [Fri, 25 Oct 2019 09:24:32 +0000 (11:24 +0200)]
Check class linking in VERIFY_RETURN_TYPE optimization
instanceof_function() requires linked classes. I'm not reusing
unlinked_instanceof() here, because it performs class loading,
which wouldn't be right here, I think.
Nikita Popov [Fri, 25 Oct 2019 09:14:56 +0000 (11:14 +0200)]
Simplify travis setup scripts
Reduce duplication.
Nikita Popov [Fri, 25 Oct 2019 08:45:42 +0000 (10:45 +0200)]
Optimize instanceof_function
Split out the simple equality check into an inline function --
this is one of the common cases.
Replace instanceof_function_ex with zend_class_implements_interface.
There are a few more places where it may be used.
Nikita Popov [Fri, 25 Oct 2019 08:27:45 +0000 (10:27 +0200)]
Check type is set when verifying variadic args
Weird that there was no test for this...
This code is somewhat inefficient, because it will be performed
for every arg, rather than only once.
Nikita Popov [Fri, 25 Oct 2019 08:20:19 +0000 (10:20 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove recursive check from instanceof_interface
Nikita Popov [Thu, 24 Oct 2019 16:11:41 +0000 (18:11 +0200)]
Remove recursive check from instanceof_interface
Parent interfaces are copied into the interface list during
inheritance, so there's no need to perform a recursive check.
Only exception are instanceof checks performed during inheritance
itself. However, we already have unlinked_instanceof for this
purpose, it just needs to be taught to handle this case.
Closes GH-4857.
Nikita Popov [Thu, 24 Oct 2019 15:50:53 +0000 (17:50 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Optimize instanceof_class/interface
Nikita Popov [Thu, 24 Oct 2019 15:47:35 +0000 (17:47 +0200)]
Optimize instanceof_class/interface
instanceof_class does not need to check for a NULL pointer in the
first iteration -- passing NULL to this function is illegal.
instanceof_interface does not need to use instanceof_class(), it
only has to check whether the CEs match exactly. There is no way
for an interface to appear inside "parent", it will always be in
"interfaces" only.
Nikita Popov [Thu, 24 Oct 2019 15:42:04 +0000 (17:42 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Clean up and clarify instanceof_function_ex()
Nikita Popov [Thu, 24 Oct 2019 15:40:25 +0000 (17:40 +0200)]
Clean up and clarify instanceof_function_ex()
The instanceof_interface_only() function was dead code (always
returned zero).
Clarify that the last parameter indicates whether the passed CE
is interface or class and rewrite the code in terms of assertions.
Nikita Popov [Thu, 24 Oct 2019 13:52:06 +0000 (15:52 +0200)]
Remove unnecessary type checks in verify_missing_return_type
We don't emit VERIFY_RETURN_TYPE for void functions, so there's
no need to check it here. It's always an error.
Nikita Popov [Thu, 24 Oct 2019 13:40:25 +0000 (15:40 +0200)]
Don't check ZEND_TYPE_IS_SET() in zend_check_type()
Usually this function is only used if we already know that there is
a type. Add checks to the places where we don't.
Nikita Popov [Thu, 24 Oct 2019 13:26:24 +0000 (15:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Skip IntlTimeZone::getOffset() error tests on non-x86
Nikita Popov [Thu, 24 Oct 2019 12:41:05 +0000 (14:41 +0200)]
Skip IntlTimeZone::getOffset() error tests on non-x86
I'm not totally sure, but I have a strong suspicion that the fact
that this produces an error is an artifact of undefined cast behavior
(which will yield INDVAL on x86 but saturate on ARM). INF seems to
be the only value that results in an error even on x86 (variations
like -INF or NAN succeed).
It might make sense to just remove this test entirely, but for now
let's skip it on non-x86.
Nikita Popov [Thu, 24 Oct 2019 12:47:15 +0000 (14:47 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Skip large ftruncate test if large files not supported
Don't test "blocks" in lstat_stat_variation7.phpt
Increase FD used in php://fd test
Use posix_getuid() to check for root in pcntl_setpriority() test
Nikita Popov [Thu, 24 Oct 2019 12:32:11 +0000 (14:32 +0200)]
Skip large ftruncate test if large files not supported
Nikita Popov [Thu, 24 Oct 2019 12:26:17 +0000 (14:26 +0200)]
Don't test "blocks" in lstat_stat_variation7.phpt
This stat property seems to be somewhat unreliable depending on the
filesystem. On Travis ARM64 CI a much larger payload is required
to get this value to increase.
Nikita Popov [Thu, 24 Oct 2019 10:28:43 +0000 (12:28 +0200)]
Increase FD used in php://fd test
Nikita Popov [Thu, 24 Oct 2019 10:19:24 +0000 (12:19 +0200)]
Use posix_getuid() to check for root in pcntl_setpriority() test
Using SUDO_USER doesn't seem to work on Travis ARM CI -- I guess
that sudo might be in use without the target being root.
Remi Collet [Thu, 24 Oct 2019 05:43:56 +0000 (07:43 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
typo and better wording
Remi Collet [Thu, 24 Oct 2019 05:43:49 +0000 (07:43 +0200)]
typo and better wording
Remi Collet [Thu, 24 Oct 2019 05:40:27 +0000 (07:40 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Added suppot for glob() wildcard matching in ffi.preload directive
Reverting push to wrong repo
Update alloc patch
Dmitry Stogov [Wed, 23 Oct 2019 14:18:11 +0000 (17:18 +0300)]
Added suppot for glob() wildcard matching in ffi.preload directive
Rasmus Lerdorf [Wed, 23 Oct 2019 21:34:12 +0000 (14:34 -0700)]
Reverting push to wrong repo
Rasmus Lerdorf [Wed, 23 Oct 2019 21:31:27 +0000 (14:31 -0700)]
Update alloc patch
Dmitry Stogov [Wed, 23 Oct 2019 16:54:52 +0000 (19:54 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Ignore ZEND_FFI_TYPE_OWNED flag
Dmitry Stogov [Wed, 23 Oct 2019 16:50:58 +0000 (19:50 +0300)]
Ignore ZEND_FFI_TYPE_OWNED flag
Nikita Popov [Wed, 23 Oct 2019 15:42:16 +0000 (17:42 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix aarch64 crc32 implementation
Nikita Popov [Wed, 23 Oct 2019 14:58:47 +0000 (16:58 +0200)]
Fix aarch64 crc32 implementation
RETVAL vs RETURN mixup resulted in the fallback implementation
running as well.
Nikita Popov [Wed, 23 Oct 2019 10:21:32 +0000 (12:21 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Don't autoload when checking property types
Nikita Popov [Wed, 23 Oct 2019 10:19:33 +0000 (12:19 +0200)]
Don't autoload when checking property types
Noticed while working on union types: We do not load argument and
return types during type checks, but we do load property types.
I'm normalizing the behavior towards the existing status quo (not
loading), though we may consider loading everywhere (all types,
and instanceof) in order to properly support class aliases.
Nikita Popov [Tue, 22 Oct 2019 13:32:57 +0000 (15:32 +0200)]
JIT: Add option to disable SSA checks
Nikita Popov [Wed, 23 Oct 2019 08:56:50 +0000 (10:56 +0200)]
JIT: Handle typed refs in assign dim
Colin O'Dell [Mon, 21 Oct 2019 21:22:04 +0000 (17:22 -0400)]
Allow array_splice() length to be null
Colin O'Dell [Tue, 22 Oct 2019 10:32:41 +0000 (06:32 -0400)]
Document the changes to substr functions
Nikita Popov [Wed, 23 Oct 2019 09:18:05 +0000 (11:18 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Use ICU's CXXFLAGS when using pkg-config
Nikita Popov [Wed, 23 Oct 2019 09:18:01 +0000 (11:18 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Use ICU's CXXFLAGS when using pkg-config
Nikita Popov [Wed, 23 Oct 2019 09:17:46 +0000 (11:17 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Use ICU's CXXFLAGS when using pkg-config
Ryan Schmidt [Tue, 22 Oct 2019 21:19:35 +0000 (16:19 -0500)]
Use ICU's CXXFLAGS when using pkg-config
This mirrors how ICU's CXXFLAGS are already used when using icu-config.
Nikita Popov [Wed, 23 Oct 2019 09:07:49 +0000 (11:07 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
Nikita Popov [Wed, 23 Oct 2019 09:07:41 +0000 (11:07 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
Nikita Popov [Wed, 23 Oct 2019 09:07:16 +0000 (11:07 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
Nikita Popov [Wed, 23 Oct 2019 09:06:51 +0000 (11:06 +0200)]
Add "-pthread" to EXTRA_LDFLAGS_PROGRAM as well
This is a backport of
c518932c0326a938f0fd0254f2adb03b1cddfbca
from the PHP 7.4 branch.
Christoph M. Becker [Wed, 23 Oct 2019 08:47:59 +0000 (10:47 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Added missing call to ZipArchive::close()
Florian Engelhardt [Wed, 23 Oct 2019 08:16:07 +0000 (10:16 +0200)]
Added missing call to ZipArchive::close()
Nikita Popov [Tue, 22 Oct 2019 14:39:40 +0000 (16:39 +0200)]
JIT: Fix handling of typed ref in assign dim op
Nikita Popov [Tue, 22 Oct 2019 14:20:15 +0000 (16:20 +0200)]
JIT: Fix handling of typed ref in assign op
Nikita Popov [Tue, 22 Oct 2019 13:33:12 +0000 (15:33 +0200)]
JIT: Check exception after jit_assign_dim_op_helper
Nikita Popov [Tue, 22 Oct 2019 12:59:24 +0000 (14:59 +0200)]
JIT: UNDEF result on "Illegal offset type" exception
Remi Collet [Wed, 23 Oct 2019 05:49:29 +0000 (07:49 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
add new ffi.preload option in php.ini and display ini entries in MINFO
Remi Collet [Wed, 23 Oct 2019 05:49:13 +0000 (07:49 +0200)]
add new ffi.preload option in php.ini and display ini entries in MINFO
Joe Watkins [Tue, 22 Oct 2019 16:58:39 +0000 (18:58 +0200)]
bump version
Joe Watkins [Tue, 22 Oct 2019 16:56:55 +0000 (18:56 +0200)]
set versions for release
Christoph M. Becker [Tue, 22 Oct 2019 15:54:28 +0000 (17:54 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix typo
Christoph M. Becker [Tue, 22 Oct 2019 15:53:34 +0000 (17:53 +0200)]
Fix typo