diff --git a/Zend/zend_virtual_cwd.c b/Zend/zend_virtual_cwd.c index f0cbd971a86..a2f1e075e50 100644 --- a/Zend/zend_virtual_cwd.c +++ b/Zend/zend_virtual_cwd.c @@ -53,6 +53,14 @@ #define IO_REPARSE_TAG_ONEDRIVE (0x80000021L) #endif +# ifndef IO_REPARSE_TAG_ACTIVISION_HSM +# define IO_REPARSE_TAG_ACTIVISION_HSM (0x00000047L) +# endif + +# ifndef IO_REPARSE_TAG_PROJFS +# define IO_REPARSE_TAG_PROJFS (0x9000001CL) +# endif + # ifndef VOLUME_NAME_NT # define VOLUME_NAME_NT 0x2 # endif @@ -747,7 +755,9 @@ retry: else if (pbuffer->ReparseTag == IO_REPARSE_TAG_DEDUP || /* Starting with 1709. */ (pbuffer->ReparseTag & ~IO_REPARSE_TAG_CLOUD_MASK) == IO_REPARSE_TAG_CLOUD || - IO_REPARSE_TAG_ONEDRIVE == pbuffer->ReparseTag) { + IO_REPARSE_TAG_ONEDRIVE == pbuffer->ReparseTag || + IO_REPARSE_TAG_ACTIVISION_HSM == pbuffer->ReparseTag || + IO_REPARSE_TAG_PROJFS == pbuffer->ReparseTag) { isabsolute = 1; substitutename = malloc((len + 1) * sizeof(char)); if (!substitutename) {