1
0
mirror of https://github.com/php/php-src.git synced 2026-04-06 07:32:54 +02:00
Commit Graph

14353 Commits

Author SHA1 Message Date
Ilija Tovilo
aa52c29f28 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix clean for higher branches
2023-12-13 15:22:09 +01:00
Ilija Tovilo
23ea89404b Fix clean for higher branches 2023-12-13 15:21:19 +01:00
Ilija Tovilo
cb38d7b23f Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Disambiguate fileVar8 test folder
2023-12-13 14:31:56 +01:00
Ilija Tovilo
cda7718f51 Disambiguate fileVar8 test folder
Closes GH-12951
2023-12-13 14:31:40 +01:00
Niels Dossche
cd179171cc Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12936: hash() function hangs endlessly if using sha512 on strings >= 4GiB
2023-12-12 19:57:47 +01:00
Niels Dossche
2b8c00850b Fix GH-12936: hash() function hangs endlessly if using sha512 on strings >= 4GiB
There's two problems:
- Some loops used `unsigned int` instead of `size_t`.
- The 2*N-bit addition that is emulated using 2 N bit numbers has a bug:
  it first truncated the number to 32/64 bit and only then shifted. This
  resulted in the wrong length info stored inside the resulting hash.

Closes GH-12937.
2023-12-12 19:57:06 +01:00
Niels Dossche
0e69329bb0 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Add missing NULL checks for spl autoload table
  Add missing NULL pointer checks related to the previous call frame
2023-12-01 09:09:58 +01:00
Niels Dossche
bedf1083f3 Add missing NULL pointer checks related to the previous call frame 2023-12-01 09:08:47 +01:00
Gina Peter Banyard
af155cf2dc Mention correct bug number
I'm tired
2023-11-22 04:14:37 +00:00
Gina Peter Banyard
37f67a9a98 ext/standard: Fix GH-9316
http_build_query() default null argument for  is implicitly coerced to string

Closes GH-9316
2023-11-22 04:09:40 +00:00
Ilija Tovilo
8828d6ac1d Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix more test tmp file conflicts
2023-11-16 16:28:40 +01:00
Ilija Tovilo
d5c6633bd1 [skip ci] Fix more test tmp file conflicts 2023-11-16 16:28:12 +01:00
Ilija Tovilo
3060edf6af Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix file test race condition
2023-11-16 15:40:41 +01:00
Ilija Tovilo
a742010a0a Fix file test race condition
005_variation2.phpt creates files with special names, and
filesize_variation5.phpt checks for filesize of inexistent files with special
names. Create the files in a separate directory to avoid these tests clashing.

Closes GH-12692
2023-11-16 15:40:16 +01:00
Jakub Zelenka
945c512a4e Merge branch 'PHP-8.2' into PHP-8.3 2023-11-16 14:37:10 +00:00
Jakub Zelenka
bf250e9f88 Merge branch 'PHP-8.1' into PHP-8.2 2023-11-16 14:36:16 +00:00
Jakub Zelenka
b4208c8f96 Initialize syslog device in GINIT
Closes GH-12663
2023-11-16 14:31:44 +00:00
Ilija Tovilo
aa452ed315 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Further increase allowable atime deviation
2023-11-14 18:37:17 +01:00
Ilija Tovilo
9b07b013fc [skip ci] Further increase allowable atime deviation
MSAN is slow in particular, leading to potentially higher deviations.
2023-11-14 18:36:07 +01:00
Niels Dossche
5c25742c26 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12655: proc_open() does not take into account references in the descriptor array
2023-11-13 19:34:40 +01:00
Niels Dossche
86c7d3ed1f Fix GH-12655: proc_open() does not take into account references in the descriptor array
Closes GH-12658.
2023-11-13 19:29:44 +01:00
Ilija Tovilo
a687465c45 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix astat imperciseness excemption in test
2023-11-12 14:07:10 +01:00
Ilija Tovilo
d224faa10f Fix astat imperciseness excemption in test 2023-11-12 14:06:02 +01:00
Ilija Tovilo
85107c94d1 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix undeclared variable in stat tests
2023-11-11 21:01:19 +01:00
Ilija Tovilo
7440a1bd1f Fix undeclared variable in stat tests
Closes GH-12645
2023-11-11 21:00:50 +01:00
Niels Dossche
1fb73463d3 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12621: browscap segmentation fault when configured in the vhost
2023-11-11 18:36:32 +01:00
Niels Dossche
7353c7ce17 Fix GH-12621: browscap segmentation fault when configured in the vhost
The temporary HashTable has a destructor that releases the string held
by the entry's value. However, browscap_intern_str(_ci) only incremented
the refcount for the reference created by the return value. As the
HashTable is only used during parsing, we don't need to manage the
reference count of the value anyway, so get rid of the destructor.

This is triggerable in two cases:
 - When using php_admin_value to set the ini at the activation stage
 - When running out of space for the opcache-interned strings

Closes GH-12634.
2023-11-11 18:35:57 +01:00
Jakub Zelenka
42ea0ca3db Merge branch 'PHP-8.2' into PHP-8.3 2023-11-09 13:38:55 +00:00
Jakub Zelenka
c6eeb83e1f Merge branch 'PHP-8.1' into PHP-8.2 2023-11-09 13:32:33 +00:00
Daniil Gentili
10b2b4a52c Fix memory leak in standard syslog device handling
The BG(syslog_device) is leaked in RINIT.

Closes GH-12501
2023-11-09 13:29:09 +00:00
Jakub Zelenka
e170b14277 Merge branch 'PHP-8.2' into PHP-8.3 2023-10-22 15:31:23 +01:00
Jakub Zelenka
006032b6f0 Fix failing test for bug #75708 2023-10-22 15:31:00 +01:00
Jakub Zelenka
82e9ba2bb3 Merge branch 'PHP-8.2' into PHP-8.3 2023-10-22 13:27:45 +01:00
Jakub Zelenka
275d36ea2f Merge branch 'PHP-8.1' into PHP-8.2 2023-10-22 13:27:19 +01:00
Jakub Zelenka
52aa0d9ecc Fix bug #75708: getimagesize with "&$imageinfo" fails on StreamWrappers
Closes GH-12444
2023-10-22 13:26:18 +01:00
Ilija Tovilo
b35e0c3069 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Move ARM build to CircleCI
2023-10-12 13:14:52 +02:00
Ilija Tovilo
9c3d3be8bd Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Move ARM build to CircleCI
2023-10-12 13:13:34 +02:00
Ilija Tovilo
4332546bbf Move ARM build to CircleCI
Closes GH-12415
2023-10-12 13:11:38 +02:00
Ilija Tovilo
b31a5b2731 Fix str_decrement() on "1"
Closes GH-12339
2023-10-02 16:42:04 +02:00
Remi Collet
80266f80d4 Fix port conflict 64324 used in bug51056.phpt 2023-09-29 14:02:42 +02:00
Jakub Zelenka
5e8c992c78 Reduce impact of stream file path check in filestat
Fix for #76857 introduced slight perf regression so this is an attempt
to fix it. The idea is to re-use stream path check from ZendAccelerator
that should be quicker than strstr.

Signed-off-by: Jakub Zelenka <bukka@php.net>
2023-09-24 16:50:01 +01:00
David Carlier
4400eb270f Merge branch 'PHP-8.2' into PHP-8.3 2023-09-24 15:20:24 +01:00
David Carlier
4bfd3459fe Merge branch 'PHP-8.1' into PHP-8.2 2023-09-24 15:19:02 +01:00
David Carlier
d65c80031a Fix GH-12190: stream_context_create with address and port at 0.
Prior to the 8.1 rewrite, inet_aton was used for ipv4 addresses
therefore addresses like `0` passed.
For the bindto's case where both ip and port are set as such, we discard
the address binding.

Close GH-12195
2023-09-24 15:17:53 +01:00
Ilija Tovilo
88f6b5288f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  support running testsuite with negative niceness (#11481)
2023-09-22 11:33:36 +02:00
divinity76
4f044e9238 support running testsuite with negative niceness (#11481)
* support running testsuite with negative niceness

a bug in the regex would break getNice() if the current niceness was negative, which would make the whole test fail.

Previously:
this would fail:
time sudo nice --adjustment=-19 ./php run-tests.php -j$(nproc) -x --offline ext/standard/tests/general_functions/proc_nice_basic.phpt --color --show-all

and this would work: 
time sudo ./php run-tests.php -j$(nproc) -x --offline ext/standard/tests/general_functions/proc_nice_basic.phpt --color --show-all

* Update ext/standard/tests/general_functions/proc_nice_basic.phpt

Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz>

---------

Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz>
2023-09-22 11:33:25 +02:00
Niels Dossche
b08802d160 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (<= PHP 8.3)
  Fix bug #55098: SimpleXML iteration produces infinite loop
2023-09-20 20:59:22 +02:00
Niels Dossche
84fae4a160 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (<= PHP 8.3)
  Fix bug #55098: SimpleXML iteration produces infinite loop
2023-09-20 20:58:08 +02:00
Niels Dossche
da6097ffc8 Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (<= PHP 8.3)
When we try to load an extension multiple times, we still overwrite the
type, module number, and handle. If the module number is used to
indicate module boundaries (e.g. in reflection and in dom, see e.g.
dom_objects_set_class_ex), then all sorts of error can happen.

In the case of ext/dom, OP's error happens because the following
happens:
- The property handler is set up incorrectly in
  dom_objects_set_class_ex() because the wrong module number is
  specified. The class highest in the hierarchy is DOMNode, so the
  property handler is incorrectly set to that of DOMNode instead of
  DOMDocument.
- The documentElement property doesn't exist on DOMNode, it only exists
  on DOMDocument, so it tries to read using zend_std_read_property().
  As there is no user property called documentElement, that read
  operation returns an undef value.
  However, the type is still checked, resulting in the strange exception.

Closes GH-12219.
2023-09-20 20:57:04 +02:00
Jakub Zelenka
64ebadcac5 Fix GH-12151: str_getcsv ending with escape zero segfualt
Closes GH-12152
2023-09-08 10:58:55 +01:00