diff options
author | Anatoliy Belsky <ab@php.net> | 2012-10-31 22:55:32 +0100 |
---|---|---|
committer | Anatoliy Belsky <ab@php.net> | 2012-10-31 22:55:32 +0100 |
commit | 24e4af0b8f8ca86e26a6e536c3827ae3f33bfebc (patch) | |
tree | 7ef9b86e5bdc4101ec8b94f7a5cb90e450077576 | |
parent | 965bd32fec803c4ca20157c621ee663dccfaeb29 (diff) | |
parent | a2e4404bc8155e6b6d9deefa22a172857d4b5e08 (diff) | |
download | php-git-24e4af0b8f8ca86e26a6e536c3827ae3f33bfebc.tar.gz |
Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
Fixed bug #63241 PHP fails to open Windows deduplicated files.
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | TSRM/tsrm_virtual_cwd.c | 9 |
2 files changed, 11 insertions, 0 deletions
@@ -6,6 +6,8 @@ PHP NEWS . Fixed bug #63305 (zend_mm_heap corrupted with traits). (Dmitry, Laruence) . Fixed bug #63369 ((un)serialize() leaves dangling pointers, causes crashes). (Tony, Andrew Sitnikov) + . Fixed bug #63241 PHP fails to open Windows deduplicated files. + (daniel dot stelter-gliese at innogames dot de) - Curl: . Fixed bug #63363 (Curl silently accepts boolean true for SSL_VERIFYHOST). diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index 683d6a4d52..6779b56974 100644 --- a/TSRM/tsrm_virtual_cwd.c +++ b/TSRM/tsrm_virtual_cwd.c @@ -40,6 +40,10 @@ # define IO_REPARSE_TAG_SYMLINK 0xA000000C # endif +# ifndef IO_REPARSE_TAG_DEDUP +# define IO_REPARSE_TAG_DEDUP 0x80000013 +# endif + # ifndef VOLUME_NAME_NT # define VOLUME_NAME_NT 0x2 # endif @@ -945,6 +949,11 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i return -1; }; substitutename[substitutename_len] = 0; + } + else if (pbuffer->ReparseTag == IO_REPARSE_TAG_DEDUP) { + isabsolute = 1; + memcpy(substitutename, path, len + 1); + substitutename_len = len; } else { tsrm_free_alloca(pbuffer, use_heap_large); return -1; |