Commit graph

653 commits

Author SHA1 Message Date
Dmitry Stogov
c706adaaab Added missing invalidations. 2018-12-28 00:14:49 +03:00
Dmitry Stogov
675a8a64c3 Use HT_IS_INITIALIZED() and HT_INVALIDATE() macros instead of hackish HT_FLAGS assumtions. 2018-12-27 22:48:25 +03:00
Stanislav Malyshev
3d8d13f7b9 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
  Don't need interactive progress on git clones in Travis
  Fix TSRM signature - php_stream_stat macro has it's own TSRM
  Regenerate certificates for openssl tests
  Improve test for bug77022
2018-12-03 00:42:55 -08:00
Stanislav Malyshev
8fff90250b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:42:50 -08:00
Stanislav Malyshev
8ab5d22332 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #77143 - add more checks to buffer reads
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:42:45 -08:00
Stanislav Malyshev
5718d73dbb Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77143 - add more checks to buffer reads
2018-12-03 00:42:35 -08:00
Stanislav Malyshev
48f0f73f75 Fix bug #77143 - add more checks to buffer reads 2018-12-03 00:41:46 -08:00
Stanislav Malyshev
66a0f061f6 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #77143 - add more checks to buffer reads
  Fix #77020: null pointer dereference in imap_mail
2018-12-03 00:39:03 -08:00
Stanislav Malyshev
54212674b9 Fix bug #77143 - add more checks to buffer reads 2018-12-03 00:03:10 -08:00
Nikita Popov
4cbabb6852 Merge branch 'PHP-7.2' into PHP-7.3 2018-09-04 05:32:52 +02:00
Nikita Popov
08addfea86 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 05:32:42 +02:00
Nikita Popov
f1f39d7ed7 Fix parenthesis warning 2018-09-04 05:32:25 +02:00
Anatol Belski
1ccc4ff260 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix stack underflow in phar
2018-08-30 19:34:01 +02:00
Anatol Belski
7fb7869e13 Fix stack underflow in phar
The checks can issue reads below and above the temporary buffer. A read
itself doesn't seem dangerous, but the condition result can be
arbitrary. Such reads have to be avoided. Likely this patch should be
backported.

(cherry picked from commit b053beee7e)
2018-08-30 19:33:07 +02:00
Anatol Belski
b053beee7e Fix stack underflow in phar
The checks can issue reads below and above the temporary buffer. A read
itself doesn't seem dangerous, but the condition result can be
arbitrary. Such reads have to be avoided. Likely this patch should be
backported.
2018-08-06 22:43:45 +02:00
Dmitry Stogov
b6fb584505 Replace zval_dtor() with specialized destructors 2018-07-05 13:32:39 +03:00
Peter Kokot
7c04219098 Fix pecl vs ext typo in phar
Phar phpinfo output lists also info about bz2 extension if it's
disabled and a quick info about installation. Instead of not maintained
pecl package bz2 the ext/bz2 should be mentioned. Also some outdated
pecl/phar are updated to ext/phar instead in test comments.
2018-06-30 15:35:43 +02:00
Peter Kokot
3f96f01e9e Bump phar and hash extension version to match PHP version 2018-06-21 13:15:32 +02:00
David Carlier
80bb649ad1 phar module, unsignedness check changes.
while at it, correcting seemingly subtle bug when checking
extension validity.
2018-06-18 14:08:50 +00:00
Peter Kokot
7bf091c5c2 Remove SVN revision from phar phpinfo output
The SVN revision was utilized with Subversion. The Git ident
attribute applies only for particular file and since other core
extensions don't output this information anymore this patch
removes it from the phpinfo output to sync and make the phpinfo
core extensions more consistent.
2018-06-16 12:47:33 +02:00
Dmitry Stogov
5eb1f92f31 Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence. 2018-05-28 16:27:12 +03:00
Stanislav Malyshev
03108697b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add a bit of defensive conding for bug #76155
2018-04-22 20:28:44 -07:00
Stanislav Malyshev
83e7618f05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add a bit of defensive conding for bug #76155
2018-04-22 20:28:35 -07:00
Stanislav Malyshev
ff83c00715 Add a bit of defensive conding for bug #76155
Even though it should not be ever negative, since strlen() is size_t
better to be safe than sorry.
2018-04-22 20:27:42 -07:00
Anatol Belski
2e5ac355b9 Move to unsigned types in phar
Preventing integer overflows in principle, which allows to avoid additional
range checks. The phar format is based on 32-bit lengths, so the storage
sizes was kept same.
2018-04-18 20:15:05 +02:00
Niklas Keller
e459d27315 Drop double CHECK_NULL_PATH check for PHARs 2018-03-23 19:04:47 +01:00
Dmitry Stogov
9cbb521094 Access HashTable.u.flags through HT_FLAGS() macro. 2018-01-22 13:36:15 +03:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Dmitry Stogov
9e709e2fa0 Move constants into read-only data segment 2017-12-14 18:43:44 +03:00
Dmitry Stogov
238916b5c9 Use persistent strings for preloaded phar files 2017-11-02 19:28:34 +03:00
Kalle Sommer Nielsen
cf1d42e001 Kill compiler warnings in ext/phar 2017-08-24 02:31:52 +02:00
Anatol Belski
49d9b3013f Move cwd_state and path related routines to size_t
Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.

basic move tsrm_realpath_r to size_t

fix conditions and sync with affected places

touch ocurrences of php_sys_readlink usage

follow up on phar path handling

remove duplicated check

move zend_resolve_path and related pieces to size_t

touch yet resolve path related places

remove cast

missing pieces

missing piece

yet cleanups for php_sys_readlink for ssize_t

fix wrong return
2017-07-27 20:11:21 +02:00
Christoph M. Becker
583950336a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70417: PharData::compress() doesn't close temp file
2017-01-05 18:52:03 +01:00
Christoph M. Becker
e7ce861def Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix #70417: PharData::compress() doesn't close temp file
2017-01-05 18:51:04 +01:00
Christoph M. Becker
995ecffbb2 Fix #70417: PharData::compress() doesn't close temp file
According to the comment, it has not been deemed necessary to close compressed
files. However, we don't want to keep unclosed file handles to save ressources.
So we're also closing compressed archives, if they're not aliased.
2017-01-05 14:12:31 +01:00
Sammy Kaye Powers
dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
1e3624290a Resolve conflict 2017-01-03 08:01:05 -06:00
Stanislav Malyshev
0de25147d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73737 FPE when parsing a tag format
  Fix bug #73773 - Seg fault when loading hostile phar
  Fix bug #73825 - Heap out of bounds read on unserialize in finish_nested_data()
  Fix bug #73768 - Memory corruption when loading hostile phar
  Fix int overflows in phar (bug #73764)
2017-01-02 21:26:20 -08:00
Stanislav Malyshev
2075fb2b73 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73737 FPE when parsing a tag format
  Fix bug #73773 - Seg fault when loading hostile phar
  Fix bug #73825 - Heap out of bounds read on unserialize in finish_nested_data()
  Fix bug #73768 - Memory corruption when loading hostile phar
  Fix int overflows in phar (bug #73764)
2017-01-02 21:07:01 -08:00
Stanislav Malyshev
7f0de1a138 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix bug #73737 FPE when parsing a tag format
  Fix bug #73773 - Seg fault when loading hostile phar
  Fix bug #73825 - Heap out of bounds read on unserialize in finish_nested_data()
  Fix bug #73768 - Memory corruption when loading hostile phar
  Fix int overflows in phar (bug #73764)
2017-01-02 21:01:35 -08:00
Sammy Kaye Powers
9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Stanislav Malyshev
e5246580a8 Fix bug #73773 - Seg fault when loading hostile phar 2016-12-31 18:47:50 -08:00
Stanislav Malyshev
b28b8b2fee Fix bug #73768 - Memory corruption when loading hostile phar 2016-12-30 15:57:24 -08:00
Stanislav Malyshev
ca46d0acbc Fix int overflows in phar (bug #73764) 2016-12-30 15:39:48 -08:00
Sara Golemon
5004ae2b62 Silence warning from unhandled enum
(cherry picked from commit 57bbe2c140)
2016-12-17 00:12:33 +01:00
Anatol Belski
2f9e928af8 fix leaking streams and memory mapped files
(cherry picked from commit f1ff23095b)
2016-12-17 00:12:19 +01:00
Sara Golemon
587f1b2427 Silence warning from unhandled enum
(cherry picked from commit 57bbe2c140)
2016-12-16 22:55:13 +01:00