From: Anatol Belski Date: Wed, 8 Nov 2017 11:01:39 +0000 (+0100) Subject: Merge branch 'PHP-7.2' X-Git-Tag: php-7.3.0alpha1~1066 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61259d692ef0a302dd9eaaba6b25e75850499f6d;p=php Merge branch 'PHP-7.2' * 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 --- 61259d692ef0a302dd9eaaba6b25e75850499f6d diff --cc Zend/zend_virtual_cwd.c index 475613daa9,ee49c7d161..5f578fb4a2 --- a/Zend/zend_virtual_cwd.c +++ b/Zend/zend_virtual_cwd.c @@@ -868,10 -877,10 +881,10 @@@ static size_t tsrm_realpath_r(char *pat if(++(*ll) > LINK_MAX) { free_alloca(tmp, use_heap); FREE_PATHW() - return -1; + return (size_t)-1; } - hLink = CreateFileW(pathw, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, NULL); + hLink = CreateFileW(pathw, 0, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, NULL); if(hLink == INVALID_HANDLE_VALUE) { free_alloca(tmp, use_heap); FREE_PATHW() @@@ -961,10 -970,14 +974,14 @@@ free(printname); #endif FREE_PATHW() - return -1; + return (size_t)-1; } } - else if (pbuffer->ReparseTag == IO_REPARSE_TAG_DEDUP) { + else if (pbuffer->ReparseTag == IO_REPARSE_TAG_DEDUP || + /* Starting with 1709. */ + (pbuffer->ReparseTag & IO_REPARSE_TAG_CLOUD_MASK) != 0 && 0x90001018L != pbuffer->ReparseTag || + IO_REPARSE_TAG_CLOUD == pbuffer->ReparseTag || + IO_REPARSE_TAG_ONEDRIVE == pbuffer->ReparseTag) { isabsolute = 1; substitutename = malloc((len + 1) * sizeof(char)); if (!substitutename) {