Commit Graph

1578 Commits

Author SHA1 Message Date
Cristian Rodríguez
8e62e2b829
Mark multple functions as static (#13864)
* Mark many functions as static

Multiple functions are missing the static qualifier.

* remove unused struct sigactions

struct sigaction act, old_term, old_quit, old_int;
all unused.

* optimizer: minXOR and maxXOR are unused
2024-05-22 13:11:46 +02:00
Niels Dossche
304f19b139
Remove unused fields from phar_entry_data() (#14144)
These fields are only ever written to, but never read.
2024-05-07 18:23:47 +02:00
Niels Dossche
e218ca2161
Improve error message in Phar::buildFromIterator() (#14145) 2024-05-07 18:23:28 +02:00
Niels Dossche
79af2ad9bf Remove unused return value from phar_entry_delref() 2024-05-06 19:50:22 +02:00
Niels Dossche
f0f05c7923 Introduce some const pointers 2024-05-06 19:50:22 +02:00
Niels Dossche
35f30b388a Fix implementation-defined conversion warning 2024-05-06 19:50:22 +02:00
Niels Dossche
e575ab5b77 Remove redundant check
There's no point in checking the length, this just wastes time.
2024-05-06 19:50:22 +02:00
Niels Dossche
edf9c4de3d Remove prototypes for non-existent functions 2024-05-06 19:50:22 +02:00
Niels Dossche
9102e97fec Use bool in globals where possible 2024-05-06 19:50:22 +02:00
Niels Dossche
4cbe88b220 Remove unused typedefs in phar.c 2024-05-06 19:50:22 +02:00
Niels Dossche
07e1bcae2f Use bool instead of int in _phar_zip_pass 2024-05-06 19:50:22 +02:00
Niels Dossche
7b60f53f07
Remove unused field from _phar_archive_data (#14146)
This field is only ever written to, but never read.
2024-05-06 19:50:12 +02:00
Niels Dossche
9b5749a97e
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix potential NULL pointer dereference before calling EVP_SignInit
2024-04-08 19:31:20 +02:00
Niels Dossche
07fe3b2920
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix potential NULL pointer dereference before calling EVP_SignInit
2024-04-08 19:31:13 +02:00
icy17
6f8bda0582
Fix potential NULL pointer dereference before calling EVP_SignInit
Closes GH-13870.
2024-04-08 19:30:26 +02:00
Niels Dossche
2d83b60b6c
Merge branch 'PHP-8.3'
* PHP-8.3:
  Skip test on Windows because of different error output
2024-03-31 16:56:27 +02:00
Niels Dossche
b34e838874
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Skip test on Windows because of different error output
2024-03-31 16:56:21 +02:00
Niels Dossche
5ed5d37f25
Skip test on Windows because of different error output 2024-03-31 16:56:14 +02:00
Niels Dossche
f590df442f
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix GH-13833: Applying zero offset to null pointer in zend_hash.c
2024-03-31 14:25:47 +02:00
Niels Dossche
b1a6832287
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-13833: Applying zero offset to null pointer in zend_hash.c
2024-03-31 14:25:39 +02:00
Niels Dossche
47bb6c1b79
Fix GH-13833: Applying zero offset to null pointer in zend_hash.c
MAPPHAR_FAIL will call the destructor of the manifest, mounted_dirs, and
virtual_dirs tables. When a new phar object is allocated using (p)ecalloc,
the bytes are zeroed, but the flag for an uninitialized table is
non-zero. So we have to manually set the flag in case that we have a
code path that can destroy the tables without first initializing them at
least once.

Closes GH-13847.
2024-03-31 14:25:08 +02:00
Niels Dossche
0c3b389d2c
Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix GH-13836: Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference
2024-03-30 18:04:35 +01:00
Niels Dossche
6a23c7fa91
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-13836: Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference
2024-03-30 18:04:29 +01:00
Niels Dossche
ed8ed714a8
Fix GH-13836: Renaming a file in a Phar to an already existing filename causes a NULL pointer dereference
If the destination already exists, then the `add` function on the
manifest will return NULL, resulting in a NULL entry and therefore a
NULL deref. As `copy()` (not `Phar::copy`) chooses to succeed and
overwrite the destination if it already exists, we should do the same.
Therefore the fix is as simple as changing `add` to `update`.

Closes GH-13840.
2024-03-30 18:03:55 +01:00
Máté Kocsis
b06c95b631
Declare the missing true return types (#13709) 2024-03-16 07:26:37 +01:00
Peter Kokot
ec394cc26a
Fix implicitly marking parameter as nullable deprecation warning (#13714)
A follow up around the php-src code regarding the RFC:
https://wiki.php.net/rfc/deprecate-implicitly-nullable-types
2024-03-14 21:51:55 +01:00
Máté Kocsis
577db99462
Verify stub aliases in CI (#13682)
In the same time, let's not verify implementation aliases since they may now legitimately differ from their aliased function/method counterparts (think about the ext/dom refactoring where e.g. many return type declarations have changed). Additionally, unnecessary `@no-verify` tags are cleaned up.
2024-03-13 23:32:35 +01:00
Máté Kocsis
f2e199e878
Implement "support doc comments for internal classes and functions" (#13266)
Fixes #13130
2024-02-25 08:41:31 +01:00
Máté Kocsis
10957e498c
Do not generate frameless info items when func info generation is disabled
While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
2024-02-18 11:39:00 +01: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
Peter Kokot
52dba99d47 Sync headers installation
This syncs the installed sapi and extension headers on *nix and Windows
systems by installing only what is intended outside of php-src.

- ext/gd: without gd_arginfo.h and gd_compat.h
- ext/hash: php_hash_joaat.h and php_hash_fnv.h added also on Windows
  installation; xxhash/xxhash.h added on both installations as it is
  included in php_hash_xxhash.h; Include path for xxhash.h changed to
  relative so the php_hash_xxhash.h can be included outside of php-src;
  Redundant include flags removed
- ext/iconv: without iconv_arginfo.h
- ext/mysqli: mysqli_mysqlnd.h was missing on Windows
- ext/phar: php_phar.h was missing on Windows
- ext/sodium: php_libsodium.h was missing on *nix
- ext/xml: without xml_arginfo.h
- sapi/cli: cli.h was missing on Windows

Closes GH-13210
Closes GH-13213
2024-01-28 19:50:55 +01:00
Niels Dossche
b8ff8c04f8 Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix GH-10344: imagettfbbox(): Could not find/open font UNC path
  Fix GH-13037: PharData incorrectly extracts zip file
2024-01-25 20:07:52 +01:00
Niels Dossche
78986a6734 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix GH-10344: imagettfbbox(): Could not find/open font UNC path
  Fix GH-13037: PharData incorrectly extracts zip file
2024-01-25 20:07:33 +01:00
Niels Dossche
ba80372a58 Fix GH-13037: PharData incorrectly extracts zip file
The code currently assumes that the extra field length of the central
directory entry and the local entry are the same, but that's not the
case. For example, the "Extended Timestamp extra field" differs in size
for local vs central directory entries. This causes the file contents
offset to be incorrect because it is based on the central directory
length instead of the local entry length. Fix it by reading the local
entry and getting the size from there as well as checking consistency
for the file name length.

Closes GH-13045.
2024-01-25 20:05:45 +01:00
Daniil Gentili
c16ad918ba
Change default method of disabling JIT
https://wiki.php.net/rfc/jit_config_defaults
Closes GH-12678
2024-01-15 09:39:13 +01:00
Niels Dossche
488528d274 Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix phar/tests/bug77432.phpt
2024-01-12 17:24:22 +01:00
Niels Dossche
e062fe02ef Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix phar/tests/bug77432.phpt
2024-01-12 17:24:07 +01:00
Niels Dossche
5a988d5764 Fix phar/tests/bug77432.phpt
- For Windows we just have to set the right error_reporting value
- Test cannot be used repeatedly on Opcache because the unlink will have
  no effect because of caching.

Closes GH-13129.
2024-01-12 17:23:50 +01:00
Peter Kokot
b632528eb3 Merge branch 'PHP-8.3'
* PHP-8.3:
  Update year to 2024
2024-01-04 19:30:19 +01:00
Peter Kokot
bafb17adcf Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Update year to 2024
2024-01-04 19:29:37 +01:00
Peter Kokot
2575e6b88c Update year to 2024 2024-01-04 19:26:32 +01:00
Niels Dossche
ddbc74c419 Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix #71465: PHAR doesn't know about litespeed
2024-01-03 21:35:09 +01:00
Niels Dossche
7525e690f6 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix #71465: PHAR doesn't know about litespeed
2024-01-03 21:34:59 +01:00
Niels Dossche
85dbbe19e2 Fix #71465: PHAR doesn't know about litespeed
We should perhaps look into a generic system to ask the SAPI whether
a feature should be supported or not. Or, we should look into making
a denylist instead of an allowlist.
Anyway, let's not try doing anything fancy on stable branches.

Closes GH-13070.
2024-01-03 21:31:09 +01:00
Niels Dossche
ea6110f52e Merge branch 'PHP-8.3'
* PHP-8.3:
  Skip on Windows
2024-01-01 15:59:01 +01:00
Niels Dossche
b131681d4c Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Skip on Windows
2024-01-01 15:58:52 +01:00
Niels Dossche
0d2c83ef9c Skip on Windows 2024-01-01 15:58:47 +01:00
Niels Dossche
7213e448de Merge branch 'PHP-8.3'
* PHP-8.3:
  Fix test not emitting warning because of Windows paths
2024-01-01 15:27:48 +01:00