Niels Dossche
75cd8fbb55
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
Fix crash in property existence test in ext/zip
2025-11-16 21:29:16 +01:00
Niels Dossche
9db074d2ad
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix crash in property existence test in ext/zip
2025-11-16 21:28:57 +01:00
Niels Dossche
46a15ed439
Fix crash in property existence test in ext/zip
...
When type == 2, the zval is not initialized, so zval_ptr_dtor() on it
will crash.
Unfortunately couldn't test with property_exists() or Reflection because
they have fast paths that go through the property info, but fortunately
there are paths that don't implement a fast path (e.g. because it
doesn't make sense at that point), like with array_column().
So we use array_column() to trigger the crash.
Closes GH-20496.
2025-11-16 21:28:30 +01:00
David Carlier
0e9c39deb9
Merge branch 'PHP-8.4' into PHP-8.5
...
* PHP-8.4:
ext/zip: fix memory leak when encryption is passed as userland array option.
2025-11-02 21:17:05 +00:00
David Carlier
6d12688c9e
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
ext/zip: fix memory leak when encryption is passed as userland array option.
2025-11-02 21:16:55 +00:00
David Carlier
55f7303d73
ext/zip: fix memory leak when encryption is passed as userland array option.
...
Similar issue fixed in GH-19936.
close GH-20363
2025-11-02 21:15:07 +00:00
David Carlier
2c4f4e0ee6
Merge branch 'PHP-8.4' into PHP-8.5
2025-09-29 22:11:49 +01:00
David Carlier
4e00b14029
Merge branch 'PHP-8.3' into PHP-8.4
2025-09-29 22:10:46 +01:00
David Carlier
3ee56f68ed
Fix GH-19932: Zip::setEncryptionName()/setEncryptionIndex() memory leak.
...
On successive usage, the password is copied as much but the older
address is never freed. Thus, we are hinting a password reset to address
it.
close GH-19936
2025-09-29 22:10:17 +01:00
Niels Dossche
2d545dd1b7
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-19688: Remove pattern overflow in zip addGlob()
2025-09-10 23:48:22 +02:00
Niels Dossche
98aba6c165
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-19688: Remove pattern overflow in zip addGlob()
2025-09-10 23:48:16 +02:00
Niels Dossche
901f71e6e3
Fix GH-19688: Remove pattern overflow in zip addGlob()
...
memcmp() can overread the filename if the filename is shorter than the
pattern.
Closes GH-19689.
2025-09-10 23:47:52 +02:00
Gina Peter Banyard
0992265611
main: refactor userstream method calling
...
Closes GH-19312
2025-08-15 18:41:17 +02:00
Niels Dossche
5f97728780
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix IntlDateFormatter::parseToCalendar() reference type system breaks
datefmt_parse/datefmt_localtime references type system fixes
Fix GH-18438: Handling of empty data and errors in ZipArchive::addPattern
2025-04-27 11:33:33 +02:00
Niels Dossche
d00adca199
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
datefmt_parse/datefmt_localtime references type system fixes
Fix GH-18438: Handling of empty data and errors in ZipArchive::addPattern
2025-04-27 11:32:57 +02:00
Niels Dossche
2eb3100dca
Fix GH-18438: Handling of empty data and errors in ZipArchive::addPattern
...
There is a ZPP arginfo violation because the empty return or error
return is not always properly handled.
And there is also a memory leak if creating the regular expression
instance fails.
Closes GH-18438.
2025-04-27 11:30:57 +02:00
Niels Dossche
1ec9041bf8
Fix reference handling in cancel callback ( #18439 )
...
Broke in 8765e9f5e7
2025-04-27 11:27:18 +02:00
Niels Dossche
a7cc447b28
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix GH-18431: Registering ZIP progress callback twice doesn't work
2025-04-26 14:27:15 +02:00
Niels Dossche
5b8db66227
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-18431: Registering ZIP progress callback twice doesn't work
2025-04-26 14:23:54 +02:00
Niels Dossche
b066ac0b23
Fix GH-18431: Registering ZIP progress callback twice doesn't work
...
Libzip already cleans up the previous callback, so when that means:
1. The callback zval being already copied over the previous one causes
libzip to clean up the new callback object. This is the root cause.
2. Our own code to clean the old callback is redundant.
Closes GH-18432.
2025-04-26 14:21:03 +02:00
Niels Dossche
b50f7c22c3
Merge branch 'PHP-8.4'
...
* PHP-8.4:
Fix memory leak when handling a too long path in ZipArchive::addGlob()
Fix uouv when handling empty options in ZipArchive::addGlob()
2025-04-16 10:46:23 +02:00
Niels Dossche
ecd2872cf4
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix memory leak when handling a too long path in ZipArchive::addGlob()
Fix uouv when handling empty options in ZipArchive::addGlob()
2025-04-16 10:46:17 +02:00
Niels Dossche
91c6c727d5
Fix memory leak when handling a too long path in ZipArchive::addGlob()
...
Closes GH-18330.
2025-04-16 10:45:35 +02:00
Niels Dossche
0a6326c6ac
Fix uouv when handling empty options in ZipArchive::addGlob()
...
Reported by OpenAI AARDVARK.
php_zip_parse_option is only called when options are passed to the function.
Prior to this patch, php_zip_parse_option was responsible for zeroing the
opts variable. So in the case when php_zip_parse_option is not called,
opts remains uninitialized yet it is being used anyway.
By just always zeroing opts at declaration time, we avoid this issue
and we are unlikely to reintroduce this in the future.
Closes GH-18329.
2025-04-16 10:44:59 +02:00
Gina Peter Banyard
8765e9f5e7
ext/zip: Throw a TypeError if the return value of the cancel callback is not an int
2025-01-17 16:48:28 +00:00
Gina Peter Banyard
dccd4af9aa
ext/zip: Cancel operation if user callback throws an exception
2025-01-17 16:48:28 +00:00
Gina Peter Banyard
08784ed58a
ext/zip: Add some tests for methods taking callbakcs
2025-01-17 16:48:28 +00:00
Niels Dossche
fd0cabbbe4
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-17139: Fix zip_entry_name() crash on invalid entry
2025-01-12 20:42:53 +01:00
Niels Dossche
d08a9e0010
Fix GH-17139: Fix zip_entry_name() crash on invalid entry
...
Don't increment the refcount, but latter remember the ID to check
afterwards whether the resource still exists.
Replaces GH-17142.
Closes GH-17439.
2025-01-12 20:37:51 +01:00
Gina Peter Bnayard
5853cdb73d
Use "must not" instead of "cannot" wording
2024-08-21 21:12:17 +01:00
Tim Düsterhus
29f98e7485
Replace @deprecated by #[\Deprecated] for internal functions / class constants ( #14750 )
...
Co-authored-by: Gina Peter Banyard <girgias@php.net >
Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com >
2024-07-10 16:47:31 +02:00
Peter Kokot
085da2725f
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Use EXTENSIONS instead of SKIPIF sections in *.phpt
2024-01-31 11:20:56 +01:00
Peter Kokot
8d5fc8d23f
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Use EXTENSIONS instead of SKIPIF sections in *.phpt
2024-01-31 11:20:44 +01:00
Peter Kokot
218a93b898
Use EXTENSIONS instead of SKIPIF sections in *.phpt
...
This also fixes skipped tests due to different naming "zend-test"
instead of "zend_test" and "PDO" instead of "pdo":
- ext/dom/tests/libxml_global_state_entity_loader_bypass.phpt
- ext/simplexml/tests/libxml_global_state_entity_loader_bypass.phpt
- ext/xmlreader/tests/libxml_global_state_entity_loader_bypass.phpt
- ext/zend_test/tests/observer_sqlite_create_function.phpt
EXTENSIONS section is used for the Windows build to load the non-static
extensions.
Closes GH-13276
2024-01-31 11:18:21 +01:00
haszi
90800b62bb
Change PHP_ZTS and PHP_DEBUG to bool to match their ZEND equivalents ( #13079 )
...
Co-authored-by: haszi <haszika80@gmail.com >
2024-01-07 13:38:26 +00:00
Remi Collet
6cbb075ffa
Merge branch 'PHP-8.3'
...
* PHP-8.3:
NEWS
NEWS
fix GH-12661 (Inconsistency in ZipArchive::addGlob remove_path Option Behavior)
2023-11-14 14:58:11 +01:00
Remi Collet
14f10ec761
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
NEWS
NEWS
fix GH-12661 (Inconsistency in ZipArchive::addGlob remove_path Option Behavior)
2023-11-14 14:57:14 +01:00
Remi Collet
ddb887ffc8
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
NEWS
fix GH-12661 (Inconsistency in ZipArchive::addGlob remove_path Option Behavior)
2023-11-14 14:56:29 +01:00
Remi Collet
6625226074
fix GH-12661 (Inconsistency in ZipArchive::addGlob remove_path Option Behavior)
2023-11-14 14:54:20 +01:00
Ilija Tovilo
f39b5c4c25
Close PHP tags in tests
...
Closes GH-12422
2023-10-18 17:34:10 +02:00
Remi Collet
57123ee489
zip: add new test for dynamic files
2023-09-12 11:18:18 +02:00
Remi Collet
0893b4bed5
add ZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED constants
2023-07-28 15:56:31 +02:00
Remi Collet
b406f7c67a
zip extension version 1.22.1
...
- add ZipArchive::FL_OPEN_FILE_NOW to open the file when added
instead of waiting for archive to be closed
2023-06-29 15:21:15 +02:00
Remi Collet
1358b435c6
more tests for zip with libzip 1.10
2023-06-27 10:52:33 +02:00
Remi Collet
b5638a1202
zip extension version 1.22.0 for libzip 1.10.0
...
- add new error macros (ER_DATA_LENGTH and ER_NOT_ALLOWED)
- add new archive global flags (ER_AFL_*)
- add ZipArchive::setArchiveFlag and ZipArchive::getArchiveFlag methods
New methods are available since libzip 0.11,
but really usable with new global flags
2023-06-26 16:39:22 +02:00
Remi Collet
b972af9589
adapt test expectation with libzip 1.10
2023-06-26 09:10:40 +02:00
Ilija Tovilo
574d780a2f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[skip ci] Fix tmp file clash in ext/zip/tests/oo_cancel.phpt
2023-05-01 15:29:45 +02:00
Ilija Tovilo
8fc023cbae
[skip ci] Fix tmp file clash in ext/zip/tests/oo_cancel.phpt
2023-05-01 15:28:59 +02:00
Remi Collet
2223853c58
implement fseek for zip stream when possible with libzip 1.9.1
2022-06-28 15:17:27 +02:00
Remi Collet
a46e87aa12
Merge branch 'PHP-8.1'
...
* PHP-8.1:
NEWS
NEWS
Fix GH-8781 ZipArchive::close deletes zip file without updating stat cache
2022-06-15 15:39:39 +02:00