]>
granicus.if.org Git - php/log
Xinchen Hui [Mon, 17 Feb 2020 05:13:49 +0000 (13:13 +0800)]
Fixed bug #79255 (PHP cannot be compiled with enable JIT)
Tyson Andre [Sun, 16 Feb 2020 16:57:42 +0000 (11:57 -0500)]
[skip ci] Skip 2 tokenizer tests if tokenizer isn't loaded
`./configure --disable-tokenizer` can disable tokenizer
Closes GH-5184
Christoph M. Becker [Sun, 16 Feb 2020 18:20:54 +0000 (19:20 +0100)]
Replace @param annotations with type declarations
Christoph M. Becker [Sun, 16 Feb 2020 15:41:43 +0000 (16:41 +0100)]
Constrain number parameter of numfmt_format to int|float
This is inline with similar changes to the math functions. Especially,
array to number conversion makes no sense here, and is likely to hide
a programming error.
To make that feasible, we introduce the `n` specifier for classic ZPP
so we can stick with `zend_parse_method_parameters()`.
We also remove a test case, which has been degenerated to a ZPP test.
Tyson Andre [Sat, 15 Feb 2020 22:49:18 +0000 (17:49 -0500)]
[skip ci] Fix typos in UPGRADING
Closes GH-5183
Christoph M. Becker [Sun, 16 Feb 2020 13:29:36 +0000 (14:29 +0100)]
Fix arginfo
These parameters accept int|float, since they are parsed with
`Z_PARAM_NUMBER`.
Anatol Belski [Sat, 15 Feb 2020 12:43:31 +0000 (13:43 +0100)]
Update bundled config.guess and config.sub
Nikita Popov [Fri, 14 Feb 2020 15:49:43 +0000 (16:49 +0100)]
Clarify that token_get_all() never returns false
It can only fail in TOKEN_PARSE mode, in which case it will throw.
Christoph M. Becker [Fri, 14 Feb 2020 08:24:38 +0000 (09:24 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix typo in recent bugfix
Christoph M. Becker [Fri, 14 Feb 2020 08:23:29 +0000 (09:23 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix typo in recent bugfix
Christoph M. Becker [Fri, 14 Feb 2020 08:22:37 +0000 (09:22 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix typo in recent bugfix
Christoph M. Becker [Fri, 14 Feb 2020 08:21:13 +0000 (09:21 +0100)]
Fix typo in recent bugfix
Nikita Popov [Thu, 13 Feb 2020 15:37:49 +0000 (16:37 +0100)]
Add stubs for zend_test
Nikita Popov [Thu, 13 Feb 2020 15:39:45 +0000 (16:39 +0100)]
Add arginfo for HashContext::__construct()
Arginfo was already generated, just not referenced.
Nikita Popov [Thu, 13 Feb 2020 15:18:25 +0000 (16:18 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix Azure MacOS build
Nikita Popov [Thu, 13 Feb 2020 14:45:39 +0000 (15:45 +0100)]
Fix Azure MacOS build
Christoph M. Becker [Thu, 13 Feb 2020 14:17:25 +0000 (15:17 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #77569: Write Acess Violation in DomImplementation
Nikita Popov [Thu, 13 Feb 2020 14:16:23 +0000 (15:16 +0100)]
Fix JIT trait type errors
We need to load EX->func here rather than use a hardcoded op_array,
as it may be copied with adjusted scope for traits.
Christoph M. Becker [Thu, 13 Feb 2020 14:15:45 +0000 (15:15 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77569: Write Acess Violation in DomImplementation
Christoph M. Becker [Thu, 13 Feb 2020 14:14:45 +0000 (15:14 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #77569: Write Acess Violation in DomImplementation
Christoph M. Becker [Thu, 13 Feb 2020 14:13:26 +0000 (15:13 +0100)]
Fix #77569: Write Acess Violation in DomImplementation
We must not assume that the zval IS_STRING.
Michael Voříšek [Wed, 12 Feb 2020 11:13:26 +0000 (12:13 +0100)]
Add const modifier for name strings
Closes GH-5173.
Xinchen Hui [Thu, 13 Feb 2020 07:59:21 +0000 (15:59 +0800)]
Improved the check
makefile.global is also used while building shared extension
Nikita Popov [Wed, 12 Feb 2020 11:18:34 +0000 (12:18 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove value from comment in php.ini files
Michael Voříšek [Mon, 10 Feb 2020 11:03:57 +0000 (12:03 +0100)]
Remove value from comment in php.ini files
Closes GH-5164.
Nikita Popov [Wed, 12 Feb 2020 11:01:22 +0000 (12:01 +0100)]
Reset required_num_args for disabled functions
Otherwise we may get arginfo/zpp mismatch errors.
Nikita Popov [Wed, 12 Feb 2020 09:27:28 +0000 (10:27 +0100)]
var_dump(): Don't skip recursion detection on first level
This is confusing. The current output doesn't make it clear that
we're in fact recursing to the top-level structure.
Closes GH-5171.
Xinchen Hui [Wed, 12 Feb 2020 06:22:01 +0000 (14:22 +0800)]
Fixed build (Only PHP above 7.1 could run the gen_stub.php)
Nikita Popov [Tue, 11 Feb 2020 16:32:49 +0000 (17:32 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79257
Nikita Popov [Tue, 11 Feb 2020 16:30:59 +0000 (17:30 +0100)]
Fixed bug #79257
Replace an existing entry for a given name only if we have a match.
Dmitry Stogov [Tue, 11 Feb 2020 14:30:49 +0000 (17:30 +0300)]
Removed unused macro
Dmitry Stogov [Tue, 11 Feb 2020 13:42:23 +0000 (16:42 +0300)]
Reuse SEPARATE_ARRAY() macro
Nikita Popov [Tue, 11 Feb 2020 11:44:43 +0000 (12:44 +0100)]
Add UPGRADING notes
Not listing the details here, I think the RFC is a better reference
for the precise technical details.
[ci skip]
Nikita Popov [Mon, 6 Jan 2020 15:22:17 +0000 (16:22 +0100)]
Allow arbitrary expressions in new/instanceof using () syntax
Nikita Popov [Mon, 6 Jan 2020 15:13:39 +0000 (16:13 +0100)]
Treat magic constants like normal constants
Nikita Popov [Mon, 6 Jan 2020 14:57:47 +0000 (15:57 +0100)]
Make class constants fully dereferencable
Nikita Popov [Mon, 6 Jan 2020 14:22:25 +0000 (15:22 +0100)]
Unify array and object dereferencability
Nikita Popov [Mon, 6 Jan 2020 14:10:06 +0000 (15:10 +0100)]
Split into fully_dereferencable and array_dereferencable
Nikita Popov [Mon, 6 Jan 2020 14:03:55 +0000 (15:03 +0100)]
Split class_constant from constant production
Nikita Popov [Mon, 6 Jan 2020 13:51:00 +0000 (14:51 +0100)]
Make encapsed strings fully dereferencable
This allows operations that were previously allowed on constant
strings on interpolated strings as well.
Nikita Popov [Wed, 8 Jan 2020 14:57:13 +0000 (15:57 +0100)]
Add support for $obj::class
This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.
RFC: https://wiki.php.net/rfc/class_name_literal_on_object
Closes GH-5065.
Christoph M. Becker [Tue, 11 Feb 2020 11:07:19 +0000 (12:07 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79254: getenv() w/o arguments not showing changes
ekinhbayar [Tue, 11 Feb 2020 08:45:05 +0000 (11:45 +0300)]
Remove CURLOPT_PASSWDDATA block CURLOPT_PASSWDDATA was removed from curl as of 7.10.8
Closes GH-5166.
Christoph M. Becker [Tue, 11 Feb 2020 10:50:42 +0000 (11:50 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79254: getenv() w/o arguments not showing changes
Christoph M. Becker [Tue, 11 Feb 2020 08:43:15 +0000 (09:43 +0100)]
Fix #79254: getenv() w/o arguments not showing changes
To be able to see changes done only with `SetEnvironmentVariable()`, we
have to use `GetEnvironmentStrings()` instead of `environ`, because the
latter sees only changes done with `putenv()`.
For best backward compatibility we're using `GetEnvironmentStringsA()`;
switching to the wide string version likely makes sense for master,
though.
George Peter Banyard [Mon, 10 Feb 2020 23:57:11 +0000 (00:57 +0100)]
Revert "Fix [-Wmissing-field-initializers] compiler warning in ext/PDO"
Seems like Travis doesn't like this and now throws a
[-Werror=maybe-uninitialized] instead.
This reverts commit
051b01d465661e16f65bcfd58fcf1d7e03b26f35 .
George Peter Banyard [Mon, 10 Feb 2020 22:49:13 +0000 (23:49 +0100)]
Fix [-Wmissing-field-initializers] compiler warning in ext/PDO
George Peter Banyard [Mon, 10 Feb 2020 23:23:52 +0000 (00:23 +0100)]
Fix [-Wmissing-field-initializers] compiler warning in transliterator_methods.c
George Peter Banyard [Mon, 10 Feb 2020 11:14:47 +0000 (12:14 +0100)]
Fix [-Wmissing-field-initializers] compiler warning in mysqlnd_result.c
Explicitly initialize to NULL the unused pointers to preserve
ABI forwards compatibility.
George Peter Banyard [Mon, 10 Feb 2020 10:46:19 +0000 (11:46 +0100)]
Fix [-Wmissing-field-initializers] compiler warning in zend_iterator
Add missing NULL pointer for get_properties_for in iterator_object_handlers
initialization.
Also add two missing comments describing what the NULL pointer refer
to in iterator_object_handlers initialization.
Dmitry Stogov [Mon, 10 Feb 2020 10:42:24 +0000 (13:42 +0300)]
Save delayed call frame
George Peter Banyard [Mon, 10 Feb 2020 10:32:29 +0000 (11:32 +0100)]
Fix [-Wmissing-field-initializers] compiler warning in PHPDBG_COMMAND_HELP_D macro
Nikita Popov [Mon, 10 Feb 2020 10:05:26 +0000 (11:05 +0100)]
Always invoke zpp in ReflectionProperty::getValue/isInitialized
Make sure we still perform a zpp check for the static case, and
also always enforce that the parameter is ?object. Otherwise we
violate the specified signature.
Nikita Popov [Mon, 10 Feb 2020 09:51:37 +0000 (10:51 +0100)]
Rename reflection stub file
Where possible, the stub file should match the name of the C file,
so that the build system integration automatically recompiles it.
Nikita Popov [Mon, 10 Feb 2020 09:48:18 +0000 (10:48 +0100)]
Fix stub for DomImplementation::createDocumentType()
Nikita Popov [Mon, 10 Feb 2020 09:42:06 +0000 (10:42 +0100)]
Deref slow-path ASSIGN_OBJ result
We should not store a reference inside IS_TMP_VAR.
Nikita Popov [Mon, 10 Feb 2020 09:05:42 +0000 (10:05 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove hint to security purpose of disable_functions
jsmmo [Wed, 5 Feb 2020 10:27:33 +0000 (11:27 +0100)]
Remove hint to security purpose of disable_functions
These features are not intended to offer security against a
determined attacher with full local code execution privileges.
Closes GH-5150.
Xinchen Hui [Mon, 10 Feb 2020 05:02:45 +0000 (13:02 +0800)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79244 (php crashes during parsing INI file). (Laruence)
Xinchen Hui [Mon, 10 Feb 2020 05:01:51 +0000 (13:01 +0800)]
Fixed bug #79244 (php crashes during parsing INI file). (Laruence)
Cherry-picked the fix(not sure why this wasn't merged to 7.4) for:
Fixed bug #77589 (Core dump using parse_ini_string with numeric sections)
Section name should not be typed(NULL, FALSE, TRUE etc)
Conflicts:
Zend/zend_ini_scanner.c
Máté Kocsis [Mon, 14 Oct 2019 22:44:45 +0000 (00:44 +0200)]
Add stubs for NumberFormatter
Closes GH-4827
Ruud Boon [Mon, 3 Feb 2020 09:24:28 +0000 (10:24 +0100)]
Update release-process.md
I would like to suggest posting tweet to become part of the release process.
[skip ci] Closes GH-5144
Christoph M. Becker [Sat, 8 Feb 2020 16:07:49 +0000 (17:07 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79248: Traversing empty VT_ARRAY throws com_exception
Christoph M. Becker [Sat, 8 Feb 2020 16:06:34 +0000 (17:06 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79248: Traversing empty VT_ARRAY throws com_exception
Christoph M. Becker [Sat, 8 Feb 2020 15:56:30 +0000 (16:56 +0100)]
Fix #79248: Traversing empty VT_ARRAY throws com_exception
If the `VT_ARRAY` is empty, i.e. its upperbound is less than its lower
bound, we must not call `php_com_safearray_get_elem()`, because that
function throws in this case.
Christoph M. Becker [Sat, 8 Feb 2020 10:06:45 +0000 (11:06 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79247: Garbage collecting variant objects segfaults
Christoph M. Becker [Sat, 8 Feb 2020 09:58:15 +0000 (10:58 +0100)]
Fix #79247: Garbage collecting variant objects segfaults
variant objects have no (declared) properties, so the `get_properties`
handlers returns a pointer to constant storage for efficiency reasons.
This pointer must not be returned from the `get_gc` handler, though;
instead we set up an own `get_gc` handler and return NULL from it, to
signal that there are no properties to collect.
Anatol Belski [Sat, 8 Feb 2020 09:18:08 +0000 (10:18 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Update bundled stdxx check macros
Anatol Belski [Sat, 8 Feb 2020 09:13:46 +0000 (10:13 +0100)]
Update bundled stdxx check macros
Christoph M. Becker [Fri, 7 Feb 2020 20:11:32 +0000 (21:11 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Skip test case on x86 where it otherwise fails [ci skip]
Christoph M. Becker [Fri, 7 Feb 2020 20:10:44 +0000 (21:10 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Skip test case on x86 where it otherwise fails [ci skip]
Christoph M. Becker [Fri, 7 Feb 2020 20:00:27 +0000 (21:00 +0100)]
Skip test case on x86 where it otherwise fails [ci skip]
`-
2200000000 ` can't be converted to integer on x86, so the constructor
call would fail.
Christoph M. Becker [Fri, 7 Feb 2020 17:24:46 +0000 (18:24 +0100)]
Simplify COM_ERR_CONST definition for x64
This is also a wee bit faster.
Christoph M. Becker [Fri, 7 Feb 2020 17:11:41 +0000 (18:11 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79242: COM error constants don't match com_exception codes
Christoph M. Becker [Fri, 7 Feb 2020 17:04:52 +0000 (18:04 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79242: COM error constants don't match com_exception codes
Christoph M. Becker [Fri, 7 Feb 2020 17:04:14 +0000 (18:04 +0100)]
Fix #79242: COM error constants don't match com_exception codes
Because a `HRESULT` is a `LONG`[1], no special treatment is required on
x86 platforms to get appropriate values. On x64 platforms we prefer
positive values, what we could accomplish by casting the `HRESULT`
value to `ULONG` and then to `zend_long`, but since the current
behavior is correct and the performance improvement is negligible, we
defer that to master.
[1] <https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types#hresult>
Nikita Popov [Fri, 7 Feb 2020 16:02:49 +0000 (17:02 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
PCRE: Only remember valid UTF-8 if start offset zero
PCRE: Check whether start offset is on char boundary
Nikita Popov [Fri, 7 Feb 2020 16:01:39 +0000 (17:01 +0100)]
PCRE: Only remember valid UTF-8 if start offset zero
PCRE only validates the string starting from the start offset
(minus maximum look-behind, but let's ignore that), so we can
only remember that the string is fully valid UTF-8 is the original
start offset is zero.
Nikita Popov [Fri, 7 Feb 2020 15:39:06 +0000 (16:39 +0100)]
PCRE: Check whether start offset is on char boundary
We need not just the whole string to be UTF-8, but the start
position to be on a character boundary as well. Check this by
looking for a continuation byte.
Dmitry Stogov [Fri, 7 Feb 2020 13:52:26 +0000 (16:52 +0300)]
Removed ext/zip/tests/oo_namelocate.zip
Nikita Popov [Fri, 7 Feb 2020 10:33:42 +0000 (11:33 +0100)]
Enable -msse2 on m32 builder
This helps to catch stack alignment issues in JIT.
Dmitry Stogov [Fri, 7 Feb 2020 11:21:56 +0000 (14:21 +0300)]
typo
Dmitry Stogov [Fri, 7 Feb 2020 10:36:52 +0000 (13:36 +0300)]
Make ASSIGN, ASSIGN_OP, INC and DEC opcodes to return IS_TMP_VAR instead of IS_VAR.
This helps to avoid unnecessary IS_REFERENCE checks.
This changes some notices "Only variables should be passed by reference" to exception "Cannot pass parameter %d by reference".
Also, for consistency, compile-time fatal error "Only variables can be passed by reference" was converted to exception "Cannot pass parameter %d by reference"
Dmitry Stogov [Fri, 7 Feb 2020 10:00:48 +0000 (13:00 +0300)]
Fixed stack alignment
Nikita Popov [Thu, 6 Feb 2020 14:27:49 +0000 (15:27 +0100)]
Try to fix Windows build
Nikita Popov [Fri, 6 Dec 2019 14:02:15 +0000 (15:02 +0100)]
Basic JIT support for verify return
Benjamin Eberlei [Thu, 6 Feb 2020 21:24:18 +0000 (22:24 +0100)]
Fix ext/dom test helper method causing trailing whitespaces.
Dmitry Stogov [Thu, 6 Feb 2020 18:29:43 +0000 (21:29 +0300)]
Fixed JIT for PTR_INC instruction to return de-referenced value of reference
Christoph M. Becker [Thu, 6 Feb 2020 14:02:12 +0000 (15:02 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #66322: COMPersistHelper::SaveToFile can save to wrong location
Christoph M. Becker [Thu, 6 Feb 2020 14:00:39 +0000 (15:00 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #66322: COMPersistHelper::SaveToFile can save to wrong location
Christoph M. Becker [Thu, 6 Feb 2020 13:59:55 +0000 (14:59 +0100)]
Fix #66322: COMPersistHelper::SaveToFile can save to wrong location
Saving under the given `filename` may also work, but since
`::LoadFromFile` uses the `fullpath` we follow suit.
Dmitry Stogov [Thu, 6 Feb 2020 12:57:29 +0000 (15:57 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Make opcodes to return de-refereced values of typed references (in the same was as for non-typed)
Dmitry Stogov [Thu, 6 Feb 2020 12:48:54 +0000 (15:48 +0300)]
Make opcodes to return de-refereced values of typed references (in the same was as for non-typed)
George Peter Banyard [Thu, 6 Feb 2020 12:20:15 +0000 (13:20 +0100)]
Fix [-Wtype-limits] warning in LDAP by removing unnecessary condition
As context is a pointer to a berval struct and bv_len is of type
ber_len_t [1] which it self is defined as an unsigned integer [2]
this condition is always true.
[1] https://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=include/lber.h#l212
[2] https://www.openldap.org/software//man.cgi?query=ber_free&sektion=3&apropos=0&manpath=OpenLDAP+2.4-Release
Nikita Popov [Thu, 6 Feb 2020 10:59:52 +0000 (11:59 +0100)]
Remove spurious const qualifier from function return type
Nikita Popov [Thu, 6 Feb 2020 09:51:45 +0000 (10:51 +0100)]
Remove ZEND_ACC_IMPLEMENT_INTERFACES flag
This is equivalent to checking ce->num_interfaces. The only subtle
moment is during inheritance, where num_interface may change when
parent interfaces are inherited. The check in zend_do_link_class
thus uses "interfaces", not "ce->num_interfaces".
Christoph M. Becker [Thu, 6 Feb 2020 09:49:53 +0000 (10:49 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix NEWS [ci skip]
Christoph M. Becker [Thu, 6 Feb 2020 09:46:38 +0000 (10:46 +0100)]
Fix NEWS [ci skip]
This bugfix didn't make it into 7.4.3.
Nikita Popov [Thu, 6 Feb 2020 09:45:49 +0000 (10:45 +0100)]
Remove ZEND_ACC_IMPLEMENTS_TRAITS flag
This is equivalent to checking ce->num_traits.
Nikita Popov [Thu, 6 Feb 2020 09:42:25 +0000 (10:42 +0100)]
Remove ZEND_ACC_INHERITED flag
It is equivalent to checking ce->parent != NULL. Just adds more
state that needs to be kept in sync.