[php-src] PR #25054: Fix GH-25053: Phar truncates entries of 4 GiB or more
| From: | lazerg | Date: | Fri, 30 Oct 2026 12:12:49 +0000 |
| Subject: | [php-src] PR #25054: Fix GH-25053: Phar truncates entries of 4 GiB or more | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-40091@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/25054
Author: lazerg
phar_entry_info keeps entry sizes in uint32_t, and
addFile()/addFromString(),
buildFromDirectory()/buildFromIterator() and writes through the
phar:// stream assigned the copied length to them without a check. A 4 GiB + 1 byte
file was stored as a 1 byte entry with no error. These paths now throw (or fail the write) once the
entry would not fit in 32 bits. The test needs a 4 GiB temp file, so it only runs with
RUN_RESOURCE_HEAVY_TESTS.
Fixes #25053