Nikita Popov
f0d1a27951
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Avoid float to int cast UB in exif
2019-12-17 13:26:32 +01:00
Nikita Popov
dd997a40d0
Avoid float to int cast UB in exif
2019-12-17 13:26:05 +01:00
Stanislav Malyshev
6556916759
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Test fixes
2019-12-16 10:31:40 -08:00
Stanislav Malyshev
d82a2f6c21
Test fixes
2019-12-16 10:31:22 -08:00
Stanislav Malyshev
0dfff646a2
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix test
Fix bug #78793
Fix build - no model field anymore
Fixed bug #78910
Fix #78878 : Buffer underflow in bc_shift_addsub
Fix test
Fix #78862 : link() silently truncates after a null byte on Windows
Fix #78863 : DirectoryIterator class silently truncates after a null byte
Fix #78943 : mail() may release string with refcount==1 twice
2019-12-16 10:07:15 -08:00
Stanislav Malyshev
6b010b5d86
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix test
Fix bug #78793
2019-12-16 10:05:02 -08:00
Stanislav Malyshev
5cb4686753
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix test
Fix bug #78793
2019-12-16 10:04:03 -08:00
Stanislav Malyshev
6d5cddabaf
Fix test
2019-12-16 10:03:43 -08:00
Stanislav Malyshev
c14eb8de97
Fix bug #78793
2019-12-16 01:14:58 -08:00
Stanislav Malyshev
c85a877577
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix build - no model field anymore
2019-12-16 01:11:01 -08:00
Stanislav Malyshev
b74a300edf
Fix build - no model field anymore
2019-12-16 01:10:42 -08:00
Stanislav Malyshev
d9f57e8316
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #78910
Fix #78878 : Buffer underflow in bc_shift_addsub
Fix test
Fix #78862 : link() silently truncates after a null byte on Windows
Fix #78863 : DirectoryIterator class silently truncates after a null byte
Fix #78943 : mail() may release string with refcount==1 twice
2019-12-16 00:39:37 -08:00
Stanislav Malyshev
a65b8abf2c
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed bug #78910
Fix #78878 : Buffer underflow in bc_shift_addsub
Fix test
Fix #78862 : link() silently truncates after a null byte on Windows
Fix #78863 : DirectoryIterator class silently truncates after a null byte
2019-12-16 00:38:54 -08:00
Stanislav Malyshev
d348cfb96f
Fixed bug #78910
2019-12-16 00:10:39 -08:00
George Peter Banyard
761e8c7707
Remove dead commented code and dead code in-between KALLE_0 ifdefs.
...
Closes GH-4986
2019-12-08 20:21:40 +01:00
Máté Kocsis
27e83d0fb8
Add union return types for function stubs
2019-11-11 14:54:55 +01:00
Fabien Villepinte
a555cc0b3d
Clean DONE tags from tests
...
Remove most of the `===DONE===` tags and its variations.
Keep `===DONE===` if the test output otherwise becomes empty.
Closes GH-4872.
2019-11-07 21:31:47 +01:00
Nikita Popov
80cfd99074
Reduce reallocations in exif parsing
...
Instead of reallocating lists element by element, increase the
allocated list size exponentially.
2019-11-07 21:20:34 +01:00
Nikita Popov
49327e2e15
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Improve exif tag name fetching
Implement a cache for exif tag name lookups
Limit the amount of errors generated during exif parsing
2019-10-18 16:55:46 +02:00
Nikita Popov
650115c827
Improve exif tag name fetching
2019-10-18 16:55:05 +02:00
Nikita Popov
56e3e6f135
Implement a cache for exif tag name lookups
2019-10-18 16:54:56 +02:00
Nikita Popov
e5324a2484
Limit the amount of errors generated during exif parsing
...
Emitting errors is fairly expensive, to the point that parsing
a file with a huge number of invalid tags can take seconds.
Generating ten thousand errors is unlikely to help anybody, but
constitutes a potential DOS vector.
2019-10-18 16:54:49 +02:00
Nikita Popov
b53b2f3e82
Merge branch 'PHP-7.4'
2019-10-09 17:34:00 +02:00
Nikita Popov
5b44560dfc
Merge branch 'PHP-7.3' into PHP-7.4
2019-10-09 17:33:52 +02:00
Nikita Popov
a0163417ef
Merge branch 'PHP-7.2' into PHP-7.3
2019-10-09 17:33:44 +02:00
Nikita Popov
daf1fc6e31
Avoid float to int cast UB in exif
2019-10-09 17:33:29 +02:00
Nikita Popov
cb657440b4
Merge branch 'PHP-7.4'
2019-10-09 14:58:17 +02:00
Nikita Popov
a4d7f4c3e1
Merge branch 'PHP-7.3' into PHP-7.4
2019-10-09 14:58:10 +02:00
Nikita Popov
cbf589b17c
Merge branch 'PHP-7.2' into PHP-7.3
2019-10-09 14:58:01 +02:00
Nikita Popov
d6ca174d5b
Remove redundant components < 0 check
...
components is an unsigned number, it cannot be smaller than zero.
2019-10-09 14:57:24 +02:00
Christoph M. Becker
a11f85805a
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Add missing SKIPIFs in exif tests
2019-10-08 14:13:23 +02:00
Christoph M. Becker
d1de1777e9
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Add missing SKIPIFs in exif tests
2019-10-08 14:12:50 +02:00
Christoph M. Becker
9fd555f99e
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Add missing SKIPIFs in exif tests
2019-10-08 14:12:12 +02:00
Fabien Villepinte
46894580b0
Add missing SKIPIFs in exif tests
2019-10-08 14:11:32 +02:00
peter279k
1ea329d457
Fix bug #77204
...
Include opened path in getimagesize() error message
2019-10-02 11:21:17 +02:00
Gabriel Caruso
5d6e923d46
Remove mention of PHP major version in Copyright headers
...
Closes GH-4732.
2019-09-25 14:51:43 +02:00
Nikita Popov
c6315f86c9
Merge branch 'PHP-7.4'
2019-09-22 12:13:22 +02:00
Nikita Popov
5e48bb7e1f
Merge branch 'PHP-7.3' into PHP-7.4
2019-09-22 12:10:49 +02:00
Nikita Popov
9cd365e571
Merge branch 'PHP-7.2' into PHP-7.3
2019-09-22 12:10:42 +02:00
Nikita Popov
f989a4cd44
Fix leak of temporary buffer during exif tag reading
2019-09-22 12:10:17 +02:00
Nikita Popov
0a6291b81a
Merge branch 'PHP-7.4'
2019-09-22 10:27:21 +02:00
Nikita Popov
0508a70640
Merge branch 'PHP-7.3' into PHP-7.4
2019-09-22 10:27:07 +02:00
Nikita Popov
623d897998
Merge branch 'PHP-7.2' into PHP-7.3
2019-09-22 10:26:57 +02:00
Nikita Popov
0701835c01
Fix multiple leaks in exif_read_data()
...
This fixes two leaks related to duplicate tags, as well as a leak
of zero-length FMT_(S)BYTE with non-null value. This can show up
for MAKERNOTE values where the original length is non-zero, but
the first character is a null byte.
2019-09-21 20:40:03 +02:00
Nikita Popov
6a21804b83
Merge branch 'PHP-7.4'
2019-09-19 21:14:54 +02:00
Nikita Popov
f0f84adf2b
Merge branch 'PHP-7.3' into PHP-7.4
2019-09-19 21:14:46 +02:00
Nikita Popov
e76dea4283
Merge branch 'PHP-7.2' into PHP-7.3
2019-09-19 21:14:40 +02:00
Nikita Popov
0fa13028cb
Fix out-of-bounds read in exif tag reading
...
This issue was recently introduced in c739023a50
,
when the restriction that components>0 has been relaxed. We now need
to make sure that any tags that expect at least one component check
that this is the case.
2019-09-19 21:11:57 +02:00
Nikita Popov
975ef6ea9c
Merge branch 'PHP-7.4'
2019-09-19 14:20:38 +02:00
Nikita Popov
8a599c7b74
Merge branch 'PHP-7.3' into PHP-7.4
2019-09-19 14:20:13 +02:00
Nikita Popov
6bf5c8508a
Merge branch 'PHP-7.2' into PHP-7.3
2019-09-19 14:20:04 +02:00
Nikita Popov
3e139a4653
Fix exif leak on duplicate copyright tags
2019-09-19 14:19:31 +02:00
Christoph M. Becker
b59f6e4fb1
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix exif build
NEWS
2019-09-12 09:14:27 +02:00
Christoph M. Becker
679cbee870
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix exif build
NEWS
2019-09-12 09:14:08 +02:00
Christoph M. Becker
31f617d9bc
Fix exif build
...
As of PHP 7.3.0 the `model` field is removed.
2019-09-12 09:13:27 +02:00
Kalle Sommer Nielsen
c2d661c2e1
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
2019-09-12 06:34:35 +03:00
Kalle Sommer Nielsen
89227fba99
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
2019-09-12 06:33:40 +03:00
Kalle Sommer Nielsen
6f0e5a45ff
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
2019-09-12 06:31:52 +03:00
Kalle Sommer Nielsen
2823e938d4
Fixed bug #78442 ('Illegal component' on exif_read_data since PHP7)
2019-09-12 06:21:39 +03: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
Stanislav Malyshev
e043025fda
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #77919 : Potential UAF in Phar RSHUTDOWN
Update NEWS
Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)
Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
2019-07-29 13:20:59 -07:00
Stanislav Malyshev
4adf3dc109
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #77919 : Potential UAF in Phar RSHUTDOWN
Update NEWS
Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)
Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
2019-07-29 13:20:52 -07:00
Stanislav Malyshev
d69894734d
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #77919 : Potential UAF in Phar RSHUTDOWN
Update NEWS
Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)
Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
2019-07-29 13:20:44 -07:00
Stanislav Malyshev
284fb08fdc
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fix #77919 : Potential UAF in Phar RSHUTDOWN
Update NEWS
Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)
Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
2019-07-29 13:19:16 -07:00
Nikita Popov
68fd435ba8
Fixed bug #78333
...
Don't dereference float/double values at unknown address, instead
memcpy it into an aligned stack slot and dereference that.
2019-07-29 11:27:21 +02:00
Nikita Popov
2b10f6299b
Merge branch 'PHP-7.4'
2019-07-29 11:26:36 +02:00
Nikita Popov
2eb159d589
Merge branch 'PHP-7.3' into PHP-7.4
2019-07-29 11:26:31 +02:00
Nikita Popov
727929765b
Merge branch 'PHP-7.2' into PHP-7.3
2019-07-29 11:26:09 +02:00
Nikita Popov
d142dfc93d
Fixed bug #78333
...
Don't dereference float/double values at unknown address, instead
memcpy it into an aligned stack slot and dereference that.
2019-07-29 11:25:27 +02:00
Stanislav Malyshev
aeb6d13185
Fix bug #78256 (heap-buffer-overflow on exif_process_user_comment)
2019-07-29 00:53:37 -07:00
Stanislav Malyshev
dea2989ab8
Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail)
2019-07-29 00:53:28 -07:00
Nikita Popov
a1e2c8870e
Merge branch 'PHP-7.4'
2019-07-22 17:26:01 +02:00
Nikita Popov
d59aac58b3
Report errors from stream read and write operations
...
The php_stream_read() and php_stream_write() functions now return
an ssize_t value, with negative results indicating failure. Functions
like fread() and fwrite() will return false in that case.
As a special case, EWOULDBLOCK and EAGAIN on non-blocking streams
should not be regarded as error conditions, and be reported as
successful zero-length reads/writes instead. The handling of EINTR
remains unclear and is internally inconsistent (e.g. some code-paths
will automatically retry on EINTR, while some won't).
I'm landing this now to make sure the stream wrapper ops API changes
make it into 7.4 -- however, if the user-facing changes turn out to
be problematic we have the option of clamping negative returns to
zero in php_stream_read() and php_stream_write() to restore the
old behavior in a relatively non-intrusive manner.
2019-07-22 17:17:28 +02:00
Nikita Popov
eb766751dc
Merge branch 'PHP-7.4'
2019-07-19 10:06:30 +02:00
rjhdby
d574df63dc
Deprecate alternative array access syntax
...
RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
2019-07-19 10:06:10 +02:00
Stanislav Malyshev
27b6d36f98
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Simplify expression and remove the possibility of div by 0
2019-07-07 16:21:06 -07:00
Stanislav Malyshev
57e7c3aac1
Simplify expression and remove the possibility of div by 0
...
Maybe should use exp2() but not sure about how supported it is.
2019-07-07 16:16:05 -07:00
Nikita Popov
3645292235
Merge branch 'PHP-7.4'
2019-06-19 15:09:39 +02:00
Nikita Popov
1c018af682
Fix shift UB in php_ifd_get32s
2019-06-19 15:09:00 +02:00
twosee
63171d88f2
Add do...while(0) for RETURN_* and ZVAL_* APIs
...
Closes GH-4255.
2019-06-12 16:17:16 +02:00
Nikita Popov
859e3f36f9
Merge branch 'PHP-7.4'
2019-06-12 15:40:23 +02:00
Nikita Popov
7b8299893e
Fix ext/exif/tests/bug76557.phpt for 32-bit builds
...
The error message is different there.
2019-06-12 15:40:18 +02:00
Nikita Popov
7686b0b889
Merge branch 'PHP-7.4'
2019-06-05 14:53:50 +02:00
Nikita Popov
a31f46421d
Allow exceptions in __toString()
...
RFC: https://wiki.php.net/rfc/tostring_exceptions
And convert some object to string conversion related recoverable
fatal errors into Error exceptions.
Improve exception safety of internal code performing string
conversions.
2019-06-05 14:25:07 +02:00
Stanislav Malyshev
d99de36e53
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix bug #77988 - heap-buffer-overflow on php_jpg_get16
2019-05-27 17:28:34 -07:00
Stanislav Malyshev
670c2ee685
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix bug #77988 - heap-buffer-overflow on php_jpg_get16
2019-05-27 17:28:29 -07:00
Stanislav Malyshev
13dffa9d32
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix bug #77988 - heap-buffer-overflow on php_jpg_get16
2019-05-27 17:28:25 -07:00
Stanislav Malyshev
dc1d99e772
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fix bug #77988 - heap-buffer-overflow on php_jpg_get16
2019-05-27 17:28:20 -07:00
Stanislav Malyshev
73ff4193be
Fix bug #77988 - heap-buffer-overflow on php_jpg_get16
2019-05-27 17:28:09 -07:00
Peter Kokot
2cf90bb2f0
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Normalize comments in *nix build system m4 files
2019-05-12 18:51:50 +02:00
Peter Kokot
75fb74860d
Normalize comments in *nix build system m4 files
...
Normalization include:
- Use dnl for everything that can be ommitted when configure is built in
favor of the shell comment character # which is visible in the output.
- Line length normalized to 80 columns
- Dots for most of the one line sentences
- Macro definitions include similar pattern header comments now
2019-05-12 18:43:03 +02:00
Peter Kokot
9604e2f28f
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Rename *.jpeg files to *.jpg
2019-05-11 03:28:11 +02:00
Peter Kokot
a68e0767b3
Rename *.jpeg files to *.jpg
...
These file extensions are not part of these tests and *.jpg is more
common.
2019-05-11 03:22:19 +02:00
Peter Kokot
49a0792d64
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Rename uppercase JPG file to lowercase jpg
2019-05-06 05:21:00 +02:00
Peter Kokot
c025cf47c0
Rename uppercase JPG file to lowercase jpg
...
To not introduce new file type and since it is not related to a test.
Lowercase JPG file type more common and recommended to use.
2019-05-06 05:18:27 +02:00
Stanislav Malyshev
bc8822361a
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:06:15 -07:00
Stanislav Malyshev
db0de953ba
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:06:10 -07:00
Stanislav Malyshev
66b32f25d5
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:05:43 -07:00
Stanislav Malyshev
cb5af4e8a0
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:05:32 -07:00
Stanislav Malyshev
f80ad18afa
Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
...
I do not completely understand what is going on there, but I am pretty
sure dir_entry <= offset_base if not a normal situation, so we better not
to rely on such dir_entry.
2019-04-30 00:05:23 -07:00