1
0
mirror of https://github.com/php/php-src.git synced 2026-04-06 15:43:13 +02:00
Commit Graph

132991 Commits

Author SHA1 Message Date
Eric Mann
4733be4439 Update versions for PHP 8.3.0beta3 php-8.3.0beta3 2023-08-15 11:27:43 -07:00
George Peter Banyard
82972f448f Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix various bugs related to DNF types
2023-08-15 17:01:51 +01:00
George Peter Banyard
02a80c5b82 Fix various bugs related to DNF types
- GH-11958: DNF types in trait properties do not get bound properly
 - GH-11883: Memory leak in zend_type_release() for non-arena allocated DNF types
 - Internal trait bound to userland class would not be arena allocated
 - Property DNF types were not properly deep copied during lazy loading

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: ju1ius <jules.bernable@gmail.com>
2023-08-15 15:34:33 +01:00
Niels Dossche
63a7f225ea Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix #81992: SplFixedArray::setSize() causes use-after-free
2023-08-14 21:38:36 +02:00
Niels Dossche
0b516aea25 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix #81992: SplFixedArray::setSize() causes use-after-free
2023-08-14 21:34:04 +02:00
Niels Dossche
b71c6b2c6c Fix #81992: SplFixedArray::setSize() causes use-after-free
Upon resizing, the elements are destroyed from lower index to higher
index. When an element refers to an object with a destructor, it can
refer to a lower (i.e. already destroyed) element, causing a uaf.
Set refcounted zvals to NULL after destroying them to avoid a uaf.

Closes GH-11959.
2023-08-14 21:32:22 +02:00
Kamil Tekiela
0b887042ae mysqli_field_seek return type changed to true (#11948) 2023-08-14 19:04:34 +01:00
Ayesh Karunaratne
27fb8d1c0c Fix DateTime exception hierarchy for DateInvalidTimeZoneException (#11970)
`DateInvalidTimeZoneException` is supposed to inherit from `DateException`, but the current stub has `Exception`.
2023-08-14 18:55:38 +02:00
Ilija Tovilo
09e63e4a09 Merge branch 'PHP-8.2'
* PHP-8.2:
  ci update freebsd image to the 13.2 image (#11110)
2023-08-14 16:30:23 +02:00
Ilija Tovilo
231a1f81c6 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  ci update freebsd image to the 13.2 image (#11110)
2023-08-14 16:30:14 +02:00
David CARLIER
2012fd3f04 ci update freebsd image to the 13.2 image (#11110) 2023-08-14 16:30:01 +02:00
Niels Dossche
17b3af2958 GH-11964: In ext/date/php_date.stub.php, DateRangeError extends itself
According to the RFC[1] it's supposed to extend DateError.

[1] https://wiki.php.net/rfc/datetime-exceptions
2023-08-14 13:57:09 +02:00
Máté Kocsis
67ab2b7d87 Align the return type of snmp_set_oid_numeric_print() to its aliased funtion 2023-08-14 12:43:33 +02:00
Ilija Tovilo
7fcfaae006 Merge branch 'PHP-8.2'
* PHP-8.2:
  Use per-branch matrix for windows nightly
2023-08-14 11:42:26 +02:00
Ilija Tovilo
e11b55d219 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Use per-branch matrix for windows nightly
2023-08-14 11:40:56 +02:00
Ilija Tovilo
902d39d57c Use per-branch matrix for windows nightly
I forgot this in the last PR.
2023-08-14 11:38:59 +02:00
Ilija Tovilo
ee000ea186 Fix uouv on oom on object allocation
We may OOM during object initialization. In this case, free_obj needs to guard
against NULL values. There may be more cases where this is an issue, these were
the ones I was able to discover via script.

Fixes GH-11734
2023-08-14 11:10:00 +02:00
Cristian Rodríguez
2196e2299f Use zend_ast_size consistenly (#11955)
* opcache: use zend_ast_size helper in zend_persist_ast

* opcache: use zend_ast_size helper in zend_persist_ast_calc

* Zend: fix zend_ast_size definition

It is better not to use sizeof(struct_with_flexible_array)
and instead rely on offsetof(type, member) like most
other similar wrappers do.
2023-08-14 00:51:14 +02:00
Jorg Adam Sowa
e56ed6e1ab BCmath extension code reformatting (#11896)
Re-formats the BCmath extension to have consistent formatting.

Mostly, it adds the spaces in calculations to have them more readable.

Also:

   -  removes unused headers
   -  removes few variables which are used only once in the code

Co-authored-by: George Peter Banyard <girgias@php.net>
2023-08-13 16:17:36 +01:00
Niels Dossche
bb092ab4c6 Fix #80927: Removing documentElement after creating attribute node: possible use-after-free
Closes GH-11892.
2023-08-12 18:49:12 +02:00
Kamil Tekiela
f907a009f9 Align highlight_string|file with HTML standard and modern browsers
Closes GH-11913
2023-08-12 15:08:28 +01:00
Kamil Tekiela
4a77a1ec08 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix error checking in mysqlnd
2023-08-10 15:26:14 +01:00
Kamil Tekiela
7a4b213c1f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix error checking in mysqlnd
2023-08-10 15:25:37 +01:00
Kamil Tekiela
0d922aa595 Fix error checking in mysqlnd
Closes GH-11925
2023-08-10 15:23:54 +01:00
Ilija Tovilo
fad4ea1790 Merge branch 'PHP-8.2'
* PHP-8.2:
  Remove i386 Linux from push
2023-08-10 16:00:12 +02:00
Ilija Tovilo
241510c454 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Remove i386 Linux from push
2023-08-10 15:59:42 +02:00
Ilija Tovilo
248e6b0404 Remove i386 Linux from push
Testing this in nightly is sufficient. 32-bit problems are rare.

Closes GH-11922
2023-08-10 15:59:17 +02:00
Ilija Tovilo
fa8b4e15bd Merge branch 'PHP-8.2'
* PHP-8.2:
  Add Windows build to nightly
2023-08-10 15:57:17 +02:00
Ilija Tovilo
b23423528f Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Add Windows build to nightly
2023-08-10 15:56:20 +02:00
Ilija Tovilo
90f514cf21 Add Windows build to nightly
Also stop running 32-bit in push, it's really not necessary.
2023-08-10 15:56:08 +02:00
Ilija Tovilo
2b2d2b04e7 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix EXPECT for bug52820.phpt on newer curl versions
  Fix curl_basic_009.phpt for newer curl versions
2023-08-10 15:52:21 +02:00
Ilija Tovilo
1aae59cf43 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix EXPECT for bug52820.phpt on newer curl versions
  Fix curl_basic_009.phpt for newer curl versions
2023-08-10 15:52:14 +02:00
Ilija Tovilo
0e843c5d82 Fix EXPECT for bug52820.phpt on newer curl versions
New curl versions have a "processing: url" line. The connection number in
"Closing connection" is apparently also dropped.
2023-08-10 15:51:53 +02:00
Ilija Tovilo
3af76b2302 Fix curl_basic_009.phpt for newer curl versions 2023-08-10 15:51:49 +02:00
Derick Rethans
1bddd4ef44 Merge branch 'PHP-8.2' 2023-08-10 12:11:35 +01:00
Derick Rethans
57417bbc3f Merge remote-tracking branch 'derickr/issue11416-php82-unserialize' into PHP-8.2 2023-08-10 12:11:04 +01:00
Kamil Tekiela
788540ef2c Remove remnant of COM_FIELD_LIST 2023-08-10 00:38:37 +01:00
Niels Dossche
620b6220c2 Optimize checks for DOMParentNode and DOMChildNode
Because we check the list with dom_sanity_check_node_list_for_insertion()
before dom_is_node_in_list(), then we don't have to check the object
type anymore in dom_is_node_in_list(), because
dom_sanity_check_node_list_for_insertion() will have already done that.

Closes GH-11914.
2023-08-09 21:31:40 +02:00
Niels Dossche
23ba4cde53 Align DOMChildNode parent checks with spec
Closes GH-11905.
2023-08-09 21:24:33 +02:00
Derick Rethans
e157da11f3 Update initialisation check for new PHP-8.3 API 2023-08-09 20:12:41 +01:00
Derick Rethans
b71d2e16e6 Fix GH-11416: Crash with DatePeriod when uninitialised objects are passed in (PHP 8.2+) 2023-08-09 16:10:14 +01:00
Derick Rethans
f8b42da3a4 Merge branch 'PHP-8.2' 2023-08-09 15:39:31 +01:00
Derick Rethans
7f6e98cec7 Merge branch 'PHP-8.1' into PHP-8.2 2023-08-09 15:39:25 +01:00
Derick Rethans
4833b84854 Fix GH-11416: Crash with DatePeriod when uninitialised objects are passed in 2023-08-09 15:39:13 +01:00
Ilija Tovilo
fc9266a5fc Move ASAN built to GitHub actions
Cirrus will no longer offer unlimited free builds starting next month. We don't
have an alternative for FreeBSD and ARM, so move what we can for now.

Closes GH-11898
2023-08-09 14:06:36 +02:00
Ilija Tovilo
db4dba6702 Move opnum_start for goto for clarification (#11911)
opnum_start denotes the start of the ZEND_FREE block of skipped consuming
opcodes. Storing the number before zend_compile_expr(..., label_ast) makes it
seem like it denotes the start of the label block. However, label_ast must only
be a zval string AST, and as such never results in an actual opcode.
2023-08-09 11:38:54 +02:00
Niels Dossche
cb927e0fc0 Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix segfault when DOMParentNode::prepend() is called when the child disappears
2023-08-08 20:09:08 +02:00
Niels Dossche
8f1cbc8dea Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix segfault when DOMParentNode::prepend() is called when the child disappears
2023-08-08 20:07:11 +02:00
Niels Dossche
d19e4da125 Fix segfault when DOMParentNode::prepend() is called when the child disappears
Closes GH-11906.
2023-08-08 20:06:39 +02:00
Máté Kocsis
038b2ae254 Make the $enable parameter of odbc_autocommit() nullable (#11909)
Co-authored-by: George Peter Banyard <girgias@php.net>
2023-08-08 15:31:58 +02:00