<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/ext, branch php-7.3.15</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/'/>
<entry>
<title>Fix # 79171: heap-buffer-overflow in phar_extract_file</title>
<updated>2020-02-18T08:13:40+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-01-26T15:03:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=254a7c245773d0dd16ead79a598f415dd0d6ee92'/>
<id>254a7c245773d0dd16ead79a598f415dd0d6ee92</id>
<content type='text'>
We must not access memory outside of the allocated buffer.

(cherry picked from commit 7df594b9437aa4f127581e4c88da99e7c41a9b14)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We must not access memory outside of the allocated buffer.

(cherry picked from commit 7df594b9437aa4f127581e4c88da99e7c41a9b14)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress</title>
<updated>2020-02-18T08:12:51+00:00</updated>
<author>
<name>Stanislav Malyshev</name>
<email>stas@php.net</email>
</author>
<published>2020-02-16T04:52:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=08b47a3d0fcd16a4a8f351d5ee60bfa64e71b39f'/>
<id>08b47a3d0fcd16a4a8f351d5ee60bfa64e71b39f</id>
<content type='text'>
(cherry picked from commit 409965fe1cfa013abd377a5b567e2d19aac163e8)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 409965fe1cfa013abd377a5b567e2d19aac163e8)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions</title>
<updated>2020-02-18T08:12:09+00:00</updated>
<author>
<name>Stanislav Malyshev</name>
<email>stas@php.net</email>
</author>
<published>2020-02-16T06:17:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=2589f5bd83ff644d8345bb9c684fc4338435a3a3'/>
<id>2589f5bd83ff644d8345bb9c684fc4338435a3a3</id>
<content type='text'>
(cherry picked from commit 6facfa59a5273a7084fabe13f215bb17215218c4)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 6facfa59a5273a7084fabe13f215bb17215218c4)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #78090: bug45161.phpt takes forever to finish</title>
<updated>2020-02-03T23:44:04+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-02-03T10:47:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=079905acd536e772241def9ad098d16f45ef37d8'/>
<id>079905acd536e772241def9ad098d16f45ef37d8</id>
<content type='text'>
Not all systems support the discard protocol (TCP port 9), and since
there is no particular reason to use it, we switch to using actual
server testing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not all systems support the discard protocol (TCP port 9), and since
there is no particular reason to use it, we switch to using actual
server testing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #79191: Error in SoapClient ctor disables DOMDocument::save()</title>
<updated>2020-02-03T22:31:46+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-02-03T22:10:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=fe1bfb78d65d28dd151da417477a0cee51de8afb'/>
<id>fe1bfb78d65d28dd151da417477a0cee51de8afb</id>
<content type='text'>
The culprit is the too restrictive fix for bug #71536, which prevents
`php_libxml_streams_IO_write()` from properly executing when unclean
shutdown is flagged.  A *more* suitable solution is to move the
`xmlwriter_free_resource_ptr()` call from the `free_obj` handler to an
added `dtor_obj` handler, to avoid to write to a closed stream in case
of late object freeing.  This makes the `EG(active)` guard superfluous.

We also fix bug79029.phpt which has to use different variables for the
three parts to actually check the original shutdown issue.

Thanks to bwoebi and daverandom for helping to investigate this issue.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The culprit is the too restrictive fix for bug #71536, which prevents
`php_libxml_streams_IO_write()` from properly executing when unclean
shutdown is flagged.  A *more* suitable solution is to move the
`xmlwriter_free_resource_ptr()` call from the `free_obj` handler to an
added `dtor_obj` handler, to avoid to write to a closed stream in case
of late object freeing.  This makes the `EG(active)` guard superfluous.

We also fix bug79029.phpt which has to use different variables for the
three parts to actually check the original shutdown issue.

Thanks to bwoebi and daverandom for helping to investigate this issue.
</pre>
</div>
</content>
</entry>
<entry>
<title>Relax test expectation</title>
<updated>2020-02-03T12:03:54+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-02-03T12:02:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=b93e4aa11c409ae34c9088ba976117438fc80b9c'/>
<id>b93e4aa11c409ae34c9088ba976117438fc80b9c</id>
<content type='text'>
Since we're dealing with floating point numbers, precision issues may
hit us, and actually it's not necessary to check for the exact number
anyway, because it is not exact in the first place.  Therefore, we
relax the test expectations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we're dealing with floating point numbers, precision issues may
hit us, and actually it's not necessary to check for the exact number
anyway, because it is not exact in the first place.  Therefore, we
relax the test expectations.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #79212: NumberFormatter::format() may detect wrong type</title>
<updated>2020-02-03T11:28:32+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-02-02T12:38:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=c2935499b14ee605452016ea00f3c0a94c0a1943'/>
<id>c2935499b14ee605452016ea00f3c0a94c0a1943</id>
<content type='text'>
We have to convert to number *before* detecting the type, to cater to
internal objects implementing `cast_object`.

We also get rid of the fallback behavior of using `FORMAT_TYPE_INT32`,
because that can no longer happen; after `convert_scalar_to_number_ex`
the type is either `IS_LONG` or `IS_DOUBLE`.  We cater explicitly to
the `IS_ARRAY` case what also avoids triggering a type confusion when
`::TYPE_INT64` is passed as `$type`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have to convert to number *before* detecting the type, to cater to
internal objects implementing `cast_object`.

We also get rid of the fallback behavior of using `FORMAT_TYPE_INT32`,
because that can no longer happen; after `convert_scalar_to_number_ex`
the type is either `IS_LONG` or `IS_DOUBLE`.  We cater explicitly to
the `IS_ARRAY` case what also avoids triggering a type confusion when
`::TYPE_INT64` is passed as `$type`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #70078: XSL callbacks with nodes as parameter leak memory</title>
<updated>2020-01-30T12:04:57+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-01-29T17:23:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=8226e704e4e6066a5bd41b57b2934a3371896be2'/>
<id>8226e704e4e6066a5bd41b57b2934a3371896be2</id>
<content type='text'>
The fix for bug #49634 solved a double-free by copying the node with
`xmlDocCopyNodeList()`, but the copied node is later freed by calling
`xmlFreeNode()` instead of `xmlFreeNodeList()`, thus leaking memory.
However, there is no need to treat the node as node list, i.e. to copy
also the node's siblings; just creating a recursive copy of the node
with `xmlDocCopyNode()` is sufficient, while that also avoids the leak.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fix for bug #49634 solved a double-free by copying the node with
`xmlDocCopyNodeList()`, but the copied node is later freed by calling
`xmlFreeNode()` instead of `xmlFreeNodeList()`, thus leaking memory.
However, there is no need to treat the node as node list, i.e. to copy
also the node's siblings; just creating a recursive copy of the node
with `xmlDocCopyNode()` is sufficient, while that also avoids the leak.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix leak in DateTimeImmutable::modify()</title>
<updated>2020-01-30T11:16:56+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-01-30T11:16:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=494615fcb8c1fb5984e0e7d666e51a2dfc6bee55'/>
<id>494615fcb8c1fb5984e0e7d666e51a2dfc6bee55</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add SKIPIF to test requiring mbregex</title>
<updated>2020-01-30T10:20:42+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-01-30T10:20:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=6ccd67577696b9c8bf3d88b521320720771dfc09'/>
<id>6ccd67577696b9c8bf3d88b521320720771dfc09</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
