e74e66e3 | 16-Sep-2024 |
David Carlier |
Fix oss-fuzz report triggered by GH-15712 commit. It triggered allocation overflow which, even fixed, in turn gives memory leak on 32 bits but the allocator relies on signed integers.
Fix oss-fuzz report triggered by GH-15712 commit. It triggered allocation overflow which, even fixed, in turn gives memory leak on 32 bits but the allocator relies on signed integers. close GH-15915
show more ...
|
4dc0b40f | 04-Nov-2024 |
Michael Orlitzky |
ext/standard/crypt.c: handle musl failure tokens Musl's crypt() returns "*" to indicate failure in contrast with the "*0" returned by PHP/libxcrypt. This causes test failures, but more
ext/standard/crypt.c: handle musl failure tokens Musl's crypt() returns "*" to indicate failure in contrast with the "*0" returned by PHP/libxcrypt. This causes test failures, but more importantly, is a pretty silly thing to expect the user to know. This commit catches the musl value and turns it into "*0".
show more ...
|
8a712003 | 04-Nov-2024 |
Michael Orlitzky |
ext/standard/tests/strings/crypt_sha256.phpt: fix on musl Among other things, this test tries to run too few and too many rounds of SHA256. In both cases, it is expecting an error, but t
ext/standard/tests/strings/crypt_sha256.phpt: fix on musl Among other things, this test tries to run too few and too many rounds of SHA256. In both cases, it is expecting an error, but that behavior depends on the implementation: * PHP's own implementation raises an error in either case * libxcrypt raises an error in either case * Older versions of glibc would clamp the number of rounds to a valid amount (newer versions don't have libcrypt) * Musl libc clamps values that are too low, but raises an error for values that are too high If PHP is built with --with-external-libcrypt, the musl implementation above can be used. Even if libxcrypt is installed, PHP will notice that no additional -lfoo flags are needed to use the crypt implementation in musl. To pass on such a system, we must not test for the "too few rounds" behavior.
show more ...
|
5c76ef78 | 04-Nov-2024 |
Christoph M. Becker |
Fix GH-10992: Improper long path support for relative paths Relative paths are passed to the ioutils APIs, these are not properly converted to long paths. If the path length already exc
Fix GH-10992: Improper long path support for relative paths Relative paths are passed to the ioutils APIs, these are not properly converted to long paths. If the path length already exceeds a given threshold (usually 259 characters, but only 247 for `mkdir()`), the long path prefix is prepended, resulting in an invalid path, since long paths have to be absolute. If the path length does not exceed that threshold, no conversion to a long path is done, although that may be necessary. Thus we take the path length of the current working directory into account when checking the threshold, and prepend it to the filename if necessary. Since this is only relevant for NTS builds, and using the current working directory of the process would be erroneous for ZTS builds, we skip the new code for ZTS builds. Closes GH-16687.
show more ...
|