| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
We use the proper type for size calculations, which is `size_t`.
(cherry picked from commit 3c8582ca4b8e84e5647220b647914876d2c3b124)
|
|
|
|
|
|
|
|
| |
We must not cast `size_t` to `int` (unless the `size_t` value is
guaranteed to be less than or equal to `INT_MAX`). In this case we can
declare `array_len` as `size_t` in the first place.
(cherry picked from commit 1c9bd513ac5c7c1d13d7f0dfa7c16a7ad2ce0f87)
|
| |
|
|
|
|
|
|
|
|
| |
Revert "Fix #61597: SXE properties may lack attributes and content"
This reverts commit 7c081db885756d7b176a55b90b8746f664d1e042.
(cherry picked from commit 54148fd68677e8b13b5a11c309c601d1248fb78b)
|
| |
|
| |
|
|
|
|
|
| |
We add support for Activision HSM (`IO_REPARSE_TAG_ACTIVISION_HSM`) and
VFS for Git (`IO_REPARSE_TAG_PROJFS`). The latter fixes bug #78784.
|
| |
|
|
|
|
|
| |
(cherry picked from commit a1a044dcc74379fafb2b63db5ab033aa062aada7
on author's explicit request)
|
|
|
|
|
| |
Duplicate metadata can only happen if someone tampers with the phar, so
we can and should treat that as error.
|
|
|
|
|
|
|
|
|
|
| |
The `start` parameter of `php_cgi_ini_activate_user_config` is supposed
to hold the byte offset of the doc root in the given `path`. However,
the current expression which fixes a potential type incompatibility
will ever only evaluate to zero or one, because it uses the *logical*
and operator (`&&`). Furthermore we notice that subtracting one from
`doc_root_len` is not necessary, so there is even no need for the
`start` parameter at all.
|
|
|
|
|
|
| |
This is the change from GH-5417 but for FPM. This was stripping the
last character from the doc_root. Given how it is used, this should
be harmless, but let's make it less confusing...
|
|
|
|
|
|
|
|
|
| |
I stumbled upon this while debugging a strange issue with
stream_socket_client() where it randomly throws out errors when
the connection timeout is set to below 1s. The logic to calculate
time difference in php_openssl_subtract_timeval() is wrong when
a.tv_usec < b.tv_usec, causing connection errors before the timeout
is reached.
|
| |
|
|
|
|
|
|
| |
Make sure pointer types match what is used by libmysql everywhere.
Closes GH-5380.
|
|
|
|
| |
Make sure to deindirect properties when creating array.
|
| |
|
|\
| |
| |
| |
| |
| | |
* PHP-7.2:
Fixed bug #79468
NEWS
|
| |
| |
| |
| | |
Close the stream filter resources when removing them from the stream.
|
| | |
|
| |
| |
| |
| | |
Even if the accept fails, the peername may be populated.
|
| | |
|
| |
| |
| |
| | |
Close the stream filter resources when removing them from the stream.
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
* PHP-7.2:
Fix bug #79465 - use unsigneds as indexes.
Fix bug #79330 - make all execution modes consistent in rejecting \0
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have to free the retrieved text content; to keep the code readable,
we extract a helper function to check for empty nodes. Unfortunately,
we cannot use xmlIsBlankNode(), because that also recognizes whitespace
only text content.
We also make sure to properly handle NULL returns from
xmlNodeGetContent().
|
| |
| |
| |
| | |
This reverts commit 656eac74fa6074aebc087bb73d2e4651f7dc8c9e.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mb_substitute_character(0) fails"
This commit brings some substantial changes in behaviour due to the weird implementation.
This will be fixed in master due to BC concerns.
This reverts commit 1333b46d6dc0c293c1fd626803f91bc69743eb79.
|
| |
| |
| |
| |
| | |
If a text node is not followed by another text node, we remove it, if
its textContent is empty.
|
| |
| |
| |
| | |
However due to the really lax conversion to integer all strings pass as 0
|
| |
| |
| |
| | |
mb_substitute_character(0) fails
|
| |
| |
| |
| |
| |
| |
| |
| | |
In commit a7305eb539596e175bd6c3ae9a20953358c5d677 the last_message
field of the connection object was changed to be always non-persistent.
But there is a place on change_user path that still treats it
depending on conn->persistent flag. This will cause PHP crash after
com_change_user success when there is last_message set
|
| | |
|
| |
| |
| |
| |
| | |
For the sake of simplicity I'm using a separate hashtable, rather
than trying to do hash perturabation on the double strings.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The comment on `PS_VALIDATE_SID_FUNC(files)` is very clear that the
function is supposed to return `SUCCESS` if the session already exists.
So to detect a collision, we have to check for `SUCCESS`, not
`FAILURE`.
We also fix the wrong condition in session_regenerate_id() as well.
|
| |
| |
| |
| |
| |
| | |
If `shm.shm_segsz > ZEND_LONG_MAX` the assignment to `shmop->size` a
few lines below would overflow, so we catch that early and bail out if
necessary.
|
| |
| |
| |
| |
| | |
This breaks on Linux with the musl libc, since it zeroes out gl_pathc during
globfree.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The skip message must start with the word 'skip', otherwise the test will not be skipped.
*Before:*
Running selected tests.
TEST 1/1 [ext/com_dotnet/tests/bug79332.phpt]
========DIFF========
001+ Fatal error: Uncaught Error: Class 'COMPersistHelper' not found in /srv/php/ext/com_dotnet/tests/bug79332.php:2
001- A com_exception has been thrown
002+ Stack trace:
003+ #0 {main}
004+ thrown in /srv/php/ext/com_dotnet/tests/bug79332.php on line 2
========DONE========
FAIL Bug #79332 (php_istreams are never freed) [ext/com_dotnet/tests/bug79332.phpt]
*After:*
Running selected tests.
SKIP Bug #79332 (php_istreams are never freed) [ext/com_dotnet/tests/bug79332.phpt] reason: com_dotnet extension not available
|
| | |
|
| |
| |
| |
| |
| |
| | |
without newline)
Closes GH-5292.
|
| |
| |
| |
| | |
Forgot the git add again...
|
| |
| |
| |
| |
| | |
This can happen if there is an EXIT in the call arguments, in which
case the DO_CALL opcode may be eliminated as unreachable.
|
| |
| |
| |
| |
| | |
Windows filenames may very well contain a colon, so we adjust the test
accordingly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To cater to potentially state-dependent encodings, we have to reset the
conversion descriptor into its initial shift state to properly finish
the conversion. Furthermore, state-dependent encodings may not show
progress when comparing `in_left` before and after the conversion; we
rather have to see whether `out_left` has decreased. Also we have to
cater to the fact that the final potentially state resetting call does
not signal failure, but we still have to break respective loops
afterwards.
|
| |
| |
| |
| |
| |
| |
| | |
We favor the KISS principle over optimization[1] – SPL is already
special enough.
[1] <https://github.com/php/php-src/pull/2489/commits/352f3d4476a79bb86136b431719df7394e5a8d4e#r112498098>ff
|