]>
granicus.if.org Git - php/log
Christoph M. Becker [Mon, 17 Feb 2020 21:55:16 +0000 (22:55 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79038: PDOStatement::nextRowset() leaks column values
Christoph M. Becker [Mon, 17 Feb 2020 21:53:50 +0000 (22:53 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79038: PDOStatement::nextRowset() leaks column values
Christoph M. Becker [Fri, 27 Dec 2019 12:20:11 +0000 (13:20 +0100)]
Fix #79038: PDOStatement::nextRowset() leaks column values
Firstly, we must not rely on `stmt->column_count` when freeing the
driver specific column values, but rather store the column count in
the driver data. Since the column count is a `short`, 16 bit are
sufficient, so we can store it in reserved bits of `pdo_odbc_stmt`.
Furthermore, we must not allocate new column value storage when the
statement is not executed, but rather when the column value storage has
not been allocated.
Finally, we have to introduce a driver specific `cursor_closer` to
avoid that `::closeCursor()` calls `odbc_stmt_next_rowset()` which then
frees the column value storage, because it may be still needed for
bound columns.
Christoph M. Becker [Mon, 17 Feb 2020 21:49:59 +0000 (22:49 +0100)]
Rename php_dom_create_interator() to php_dom_create_iterator()
Thus fixing an obvious typo.
Christoph M. Becker [Mon, 17 Feb 2020 18:37:24 +0000 (19:37 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:36:07 +0000 (19:36 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:35:42 +0000 (19:35 +0100)]
Fix NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:25:36 +0000 (19:25 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Update NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:24:04 +0000 (19:24 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:22:15 +0000 (19:22 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Update NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:21:51 +0000 (19:21 +0100)]
Update NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:09:35 +0000 (19:09 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix # 79171: heap-buffer-overflow in phar_extract_file
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Mark bug76348.phpt as online test
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Christoph M. Becker [Mon, 17 Feb 2020 18:08:22 +0000 (19:08 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix # 79171: heap-buffer-overflow in phar_extract_file
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Mark bug76348.phpt as online test
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Christoph M. Becker [Mon, 17 Feb 2020 18:08:04 +0000 (19:08 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Mark bug76348.phpt as online test
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Christoph M. Becker [Mon, 17 Feb 2020 17:54:32 +0000 (18:54 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Create a new console for each test worker on Windows
Christoph M. Becker [Wed, 12 Feb 2020 13:34:48 +0000 (14:34 +0100)]
Create a new console for each test worker on Windows
The primary motivation to have each test worker running its own console
is to allow the windows_mb_path tests to run in parallel. A nice side
effect is that this also prevents changing the code page of the
tester's console window (which can even cause its font to be changed).
To be able to do so, we introduce the `create_new_console` option for
`proc_open()`, which might occasionally be useful for other purposes
than testing.
Máté Kocsis [Wed, 29 Jan 2020 19:06:13 +0000 (20:06 +0100)]
Make type error messages more consistent
Closes GH-5092
Nikita Popov [Thu, 6 Feb 2020 10:13:13 +0000 (11:13 +0100)]
Improve generated names for anonymous classes
In order of preference, the generated name will be:
new class extends ParentClass {};
// -> ParentClass@anonymous
new class implements FirstInterface, SecondInterface {};
// -> FirstInterface@anonymous
new class {};
// -> class@anonymous
This is intended to display a more useful class name in error messages
and stack traces, and thus make debugging easier.
Closes GH-5153.
Nikita Popov [Tue, 7 Jan 2020 14:06:36 +0000 (15:06 +0100)]
Add static return type
RFC: https://wiki.php.net/rfc/static_return_type
The "static" type is represented as MAY_BE_STATIC, rather than
a class type like "self" and "parent", as it has special
resolution semantics, and cannot be cached in the runtime cache.
Closes GH-5062.
Michael Voříšek [Wed, 12 Feb 2020 11:24:54 +0000 (12:24 +0100)]
Use strlen for INI_* macros
strlen() is resolved at compile time by optimizing compilers.
Prevent mistakes and allow to use INI_* macros with char * variables
which can have sizeof() == 1.
Closes GH-5174.
Dmitry Stogov [Mon, 17 Feb 2020 09:54:11 +0000 (12:54 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Disable instantiation of zero size FFI\CData objects
Fix # 79171: heap-buffer-overflow in phar_extract_file
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Dmitry Stogov [Mon, 17 Feb 2020 09:48:55 +0000 (12:48 +0300)]
Disable instantiation of zero size FFI\CData objects
Dmitry Stogov [Mon, 17 Feb 2020 09:03:49 +0000 (12:03 +0300)]
Fixed bug #79255 (PHP cannot be compiled with enable JIT)
Nikita Popov [Mon, 17 Feb 2020 08:34:56 +0000 (09:34 +0100)]
Revert "Fixed bug #79255 (PHP cannot be compiled with enable JIT)"
This reverts commit
de6984edd5ce7fa2b2f365b5ae770507ef42022d .
Reverting to unbreak 32-bit CI.
Christoph M. Becker [Sun, 26 Jan 2020 15:03:35 +0000 (16:03 +0100)]
Fix # 79171: heap-buffer-overflow in phar_extract_file
We must not access memory outside of the allocated buffer.
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Christoph M. Becker [Sun, 26 Jan 2020 15:03:35 +0000 (16:03 +0100)]
Fix # 79171: heap-buffer-overflow in phar_extract_file
We must not access memory outside of the allocated buffer.
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Christoph M. Becker [Sun, 26 Jan 2020 15:03:35 +0000 (16:03 +0100)]
Fix # 79171: heap-buffer-overflow in phar_extract_file
We must not access memory outside of the allocated buffer.
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
Christoph M. Becker [Mon, 17 Feb 2020 08:10:39 +0000 (09:10 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79271: DOMDocumentType::$childNodes is NULL
Christoph M. Becker [Mon, 17 Feb 2020 08:09:12 +0000 (09:09 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79271: DOMDocumentType::$childNodes is NULL
Christoph M. Becker [Fri, 14 Feb 2020 09:55:17 +0000 (10:55 +0100)]
Fix #79271: DOMDocumentType::$childNodes is NULL
Dom level 2 core, DOM level 3 core and the DOM living standard agree
that `childNodes` always return a `NodeList`, and never `null`.
Christoph M. Becker [Mon, 17 Feb 2020 07:55:18 +0000 (08:55 +0100)]
Revert "Replace @param annotations with type declarations"
This reverts commit
c31029f335ca1b453af799805c43c37e959ad555 .
Nikita Popov [Tue, 19 Mar 2019 14:47:25 +0000 (15:47 +0100)]
Mark bug76348.phpt as online test
Stanislav Malyshev [Sun, 16 Feb 2020 06:17:14 +0000 (22:17 -0800)]
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
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`.
Stanislav Malyshev [Sun, 16 Feb 2020 04:52:19 +0000 (20:52 -0800)]
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
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