| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The slower I/O as a traditional bottleneck on Windows which is
the target of this patch. The recursive path resolution, while being
an allround solution, is expensive when it comes to the common case.
Files with proper ACLs set can be resolved in one go by usage of specific
API. Those are available since Vista, so actually can be called old. Those
simpler api is used for the cases where no CWD_EXPAND is requested. For
the cases where ACLs are improper, the existing solution based on
FindFirstFile still does good job also partially providing quirks. Cases
involing reparse tags and other non local filesystems are also partially
server by new APIs.
The approach uses both APIs - the quick one for the common case still
integrating realpath cache, and the existing one as a fallback. The tests
show the I/O load drop on the realpath resolution part due to less
system calls for the sub part resolution of paths. In most case it is
justified, as the sub parts were otherwise cached or unused as well. The
realpath() implementation in ioutil is also closer to the POSIX.
|
|
|
|
|
|
| |
This effectively allows a UNIX like semantics for deleting files
with an open handle. Some OS related limitations still persist,
but the Windows 95 times can be considered as definitely over.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix unsigned comparison
Cleanup never executed block
Fix unsigned comparison
Fix unsigned comparison, diff can't be < 0
Fix unsigned comparison
Fix unsigned comparison
Remove dead code
|
|\
| |
| |
| |
| |
| |
| | |
* PHP-7.2:
Fixed #75384 PHP seems incompatible with OneDrive files on demand
bump versions
Fixed ext/date tests due to changes in Olson database
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-7.1:
Fixed #75384 PHP seems incompatible with OneDrive files on demand
bump versions
Fixed ext/date tests due to changes in Olson database
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
* PHP-7.0:
Fixed #75384 PHP seems incompatible with OneDrive files on demand
Fixed ext/date tests due to changes in Olson database
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-7.2:
Fix datatype
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
* PHP-7.2:
Fixed bug #75063
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
* PHP-7.1:
Fixed bug #75063
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.
basic move tsrm_realpath_r to size_t
fix conditions and sync with affected places
touch ocurrences of php_sys_readlink usage
follow up on phar path handling
remove duplicated check
move zend_resolve_path and related pieces to size_t
touch yet resolve path related places
remove cast
missing pieces
missing piece
yet cleanups for php_sys_readlink for ssize_t
fix wrong return
|
| | |
| | |
| | |
| | | |
which is the case when there's no impersonation.
|
| | | |
|
| | |
| | |
| | |
| | | |
That omits querying of short names, thus improving perf.
|
| | |
| | |
| | |
| | | |
rename to pathw_len
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.1:
fix possible out of bounds buffer access
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.0:
fix possible out of bounds buffer access
|
| | | |
|
| | |
| | |
| | |
| | | |
This reverts commit 8da87563122e4d14208b2827fd6b2807578677ec.
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.1:
make length check more robust
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
* PHP-7.1:
exclude debug code
ensure the string for conversion is \0 terminated and integrade additional path length check
|
| | | |
|
| | |
| | |
| | |
| | | |
additional path length check
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.1:
Fixed bug #73962 bug with symlink related to cyrillic directory
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.1:
fix edge case leak
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.1:
Fixed bug #73877 readlink() returns garbage for UTF-8 paths
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Primarily related to the path handling datatypes, to avoid unnecessary
casts, where possible. Also some rework to avoid code dup. Probably
more places are to go, even not path related, primarily to have less
casts and unsigned integers where possible. That way, we've not only
less warnings and casts, but are also safer with regard to the
integer overflows. OFC it's not a panacea, but still significantly
reduces the vulnerability potential.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This limits the path length to 64kb which is already far above the
use case. In return, the whole path cache storage size is reduced
by 8kb.
|
| | |
| | |
| | |
| | | |
If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.
|
| | | |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`command_length` is retrieved via strlen() and later passed to emalloc()
and memcpy(), so the appropriate type is `size_t`.
We don't add a regression test, because that would need to allocate a string
of at least 2 GiB.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* PHP-5.5:
fix #72519, possible OOB using imagegif
fix #72512, invalid read or write for palette image when invalid transparent index is used
Apparently some envs miss SIZE_MAX
Fix tests
Fix bug #72618: NULL Pointer Dereference in exif_process_user_comment
Partial fix for bug #72613 - do not treat negative returns from bz2 as size_t
Fix bug #72606: heap-buffer-overflow (write) simplestring_addn simplestring.c
Fix for bug #72558, Integer overflow error within _gdContributionsAlloc()
Fix bug #72603: Out of bound read in exif_process_IFD_in_MAKERNOTE
Fix bug #72562 - destroy var_hash properly
Fix bug #72533 (locale_accept_from_http out-of-bounds access)
Fix fir bug #72520
Fix for bug #72513
CS fix and comments with bug ID
Fix for HTTP_PROXY issue.
add tests for bug #72512
Fixed bug #72512 gdImageTrueColorToPaletteBody allows arbitrary write/read access
Fixed bug #72479 - same as #72434
Conflicts:
ext/bz2/bz2.c
main/SAPI.c
main/php_variables.c
|