Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed bug #63241 PHP fails to open Windows deduplicated files.

Fix by (daniel dot stelter-gliese at innogames dot de).
No test is supplied because the issue addresses
the new feature of the Windows Server 2012 and
would need a very specific filesystem setup.
  • Loading branch information...
commit a2e4404bc8155e6b6d9deefa22a172857d4b5e08 1 parent a17559d
Anatol Belski weltling authored
Showing with 13 additions and 0 deletions.
  1. +4 −0 NEWS
  2. +9 −0 TSRM/tsrm_virtual_cwd.c
4 NEWS
View
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2012, PHP 5.3.19
+- Core
+ . Fixed bug #63241 PHP fails to open Windows deduplicated files.
+ (daniel dot stelter-gliese at innogames dot de)
+
- Libxml
. Fixed bug #63389 (Missing context check on libxml_set_streams_context()
causes memleak). (Laruence)
9 TSRM/tsrm_virtual_cwd.c
View
@@ -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
@@ -958,6 +962,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;
Please sign in to comment.
Something went wrong with that request. Please try again.