1
0
mirror of https://github.com/php/php-src.git synced 2026-03-31 20:53:00 +02:00
Commit Graph

115036 Commits

Author SHA1 Message Date
Nikita Popov
085ddd0cde Fix chunk_split test on i386 release 2019-08-27 09:09:03 +02:00
Jakub Zelenka
71e2c97ffb Merge branch 'PHP-7.4' 2019-08-26 18:12:35 +01:00
Jakub Zelenka
302a1400f3 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-26 18:11:04 +01:00
Tsuyoshi Sadakata
ffcf57fa18 Fix bug #78334 (fpm log prefix message includes wrong stdout/stderr notation) 2019-08-26 18:05:11 +01:00
Craig Duncan
4836660b90 Convert fileinfo functions arginfo to php stubs
We also allow the context for finfo to be null.
2019-08-26 18:13:58 +02:00
Nikita Popov
38c2230d07 Merge branch 'PHP-7.4' 2019-08-26 17:54:00 +02:00
Nikita Popov
fa8565a0f1 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-26 17:52:56 +02:00
Nikita Popov
461db52400 Merge branch 'PHP-7.2' into PHP-7.3 2019-08-26 17:52:37 +02:00
Nikita Popov
589542f50c Remove properties HT from nested GC data
The properties HT may be a GC root itself, so we need to remove it.
I'm not sure this issue actually applies to PHP 7.2, but committing
it there to be safe. As seen from the test case, the handling here
is rather buggy on 7.2.
2019-08-26 17:49:37 +02:00
Craig Duncan
743591458c Convert exif functions arginfo to php stubs
We also allow sections needed to be null.
2019-08-26 17:25:12 +02:00
George Peter Banyard
5b09e6043c Remove memory exhaustion checks in php_chunk_split() 2019-08-26 17:14:49 +02:00
George Peter Banyard
6d578482a9 Improve strpos and strstr function family implementation 2019-08-26 17:11:37 +02:00
Nikita Popov
ade97c207c Merge branch 'PHP-7.4' 2019-08-26 16:12:47 +02:00
Nikita Popov
e2b49d6c45 Don't use needs_live_range hook for "special" live ranges
In particular we were disgarding SILENCE live ranges in opcache,
because we decided that a MAY_BE_LONG type does not need a live
range.
2019-08-26 16:12:03 +02:00
Christoph M. Becker
0ab4fca8e3 Add ext\opcache stubs 2019-08-26 16:05:01 +02:00
Burak Çakırel
d2210dc2ea Add assert arginfo stubs
Closes GH-4619.
2019-08-26 15:41:31 +02:00
Nikita Popov
a98307df87 Make arginfo printing of prefer-ref arguments nicer 2019-08-26 15:39:39 +02:00
Christoph M. Becker
e047e9d893 Add ext/ffi stubs 2019-08-26 15:25:27 +02:00
Nikita Popov
0c2d4d698c Make sure that params with null default are marked nullable 2019-08-26 14:34:28 +02:00
Nikita Popov
a47f170a75 Assert that symbol table is available in compact()
I believe NULL here is no longer possible due to the dynamic call
check. A similar assumption already exists in the extract()
implementation.
2019-08-26 14:25:48 +02:00
Christoph M. Becker
99c57b33cf Merge branch 'PHP-7.4'
* PHP-7.4:
  Replace deprecated libzip functions
2019-08-26 14:06:08 +02:00
Christoph M. Becker
8f897f1040 Replace deprecated libzip functions
We replace all deprecated libzip functions with their recommended
substitutes, and add proper comment length checks including a test
case.
2019-08-26 14:05:28 +02:00
George Peter Banyard
c1c8538f95 Promote warnings to errors in array_rand() 2019-08-26 13:31:02 +02:00
Nikita Popov
0038db2251 Avoid duplicate "non well-formed" warning
The arginfo checking code for internal functions should not generate
this warning, as it will be thrown by zpp.
2019-08-26 13:16:02 +02:00
Theodore Brown
d5f42d68c8 Convert remaining array function arginfo to PHP stubs 2019-08-26 12:53:00 +02:00
viest
48040cf345 Remove deprecated getaddrinfo flags
The AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES have
been deprecated by glibcs, and PHP 7.4 follows this deprecation.

This removes the offending flags for PHP 8.0.
2019-08-26 11:45:31 +02:00
George Peter Banyard
91f4e2e614 Promote warnings to errors in explode() 2019-08-26 11:35:03 +02:00
Nikita Popov
06a4a9ba42 Merge branch 'PHP-7.4' 2019-08-26 11:33:38 +02:00
viest
5703943081 Deprecate AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
These flags have been deprecated in glibc 2.28, so we also
deprecate them in PHP.

As we can't deprecate constants, we can only check for their use
in socket_addrinfo_lookup().
2019-08-26 11:33:18 +02:00
Nikita Popov
e57034a89b Merge branch 'PHP-7.4' 2019-08-26 11:15:18 +02:00
Nikita Popov
774cdb1d59 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-26 11:13:57 +02:00
Nikita Popov
e4ecadcb62 Merge branch 'PHP-7.2' into PHP-7.3 2019-08-26 11:13:49 +02:00
Tyson Andre
1e82a2d659 Also fix signature for passthru
Backported from a1a8d14485
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues

`passthru()` is false with invalid args
`passthru('command')` is null.
2019-08-26 11:13:26 +02:00
Tyson Andre
f5bccc0eb5 Fix opcache optimizer info for time_nanosleep
This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues

> If the delay was interrupted by a signal, an associative array will be
returned with the components:
>
> - seconds - number of seconds remaining in the delay
> - nanoseconds - number of nanoseconds remaining in the delay

Sending a SIGUSR1 to the below program would trigger this behavior.

```
pcntl_signal(\SIGUSR1, function ($signo, $signinfo) {
    echo "Handling a signal $signo\n";
});
echo "Sleeping for 100 seconds\n";
var_export(time_nanosleep(100, 0));
```

The incomplete signature existed since c88ffa9a5.
No phpt tests existed for time_nanosleep returning an array
2019-08-26 11:13:26 +02:00
Nikita Popov
e28cb9d04e Merge branch 'PHP-7.4' 2019-08-26 11:10:07 +02:00
Nikita Popov
9483c50772 Fixed bug #78456 2019-08-26 11:08:42 +02:00
Nikita Popov
4c70a585b7 Merge branch 'PHP-7.4' 2019-08-26 10:28:14 +02:00
Nikita Popov
bad49e55b9 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-26 10:27:08 +02:00
Nikita Popov
a26f63213d Merge branch 'PHP-7.2' into PHP-7.3 2019-08-26 10:26:49 +02:00
Nikita Popov
16d35eb643 Fix overflow in memory limit checks
Due to overflows in the memory limit checks, we were missing cases
where the allocation size was close to the address space size, and
caused an OOM condition rather than a memory limit error.
2019-08-26 10:25:30 +02:00
Stanislav Malyshev
5a77831a53 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix test
2019-08-25 20:06:50 -07:00
Stanislav Malyshev
c810d3d6ad Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix test
2019-08-25 20:06:43 -07:00
Stanislav Malyshev
d1646e328a Fix test
Not sure why offset changed... probably different PCRE version calculates
them in different way.
2019-08-25 20:06:02 -07:00
Stanislav Malyshev
c176c666e3 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:21:13 -07:00
Stanislav Malyshev
9f269d0d27 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:21:08 -07:00
Stanislav Malyshev
5d25ebb0dd Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:21:04 -07:00
Stanislav Malyshev
4b4a656d9e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75457: heap-use-after-free in php7.0.25
2019-08-25 19:20:59 -07:00
Christoph M. Becker
7bf1f9d561 Fix #75457: heap-use-after-free in php7.0.25
Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
2019-08-25 19:19:50 -07:00
Christoph M. Becker
c8ec166cda Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78454: Consecutive numeric separators cause OOM error
2019-08-25 22:46:55 +02:00
Theodore Brown
1a78bdab27 Fix #78454: Consecutive numeric separators cause OOM error
Resolves out of memory error when consecutive numeric separators follow a binary/hex literal.
2019-08-25 22:46:18 +02:00