@@ -913,7 +913,10 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
913
913
int bufindex = 0 , isabsolute = 0 ;
914
914
wchar_t * reparsetarget ;
915
915
BOOL isVolume = FALSE;
916
- char * printname = NULL , * substitutename = NULL ;
916
+ #if VIRTUAL_CWD_DEBUG
917
+ char * printname = NULL ;
918
+ #endif
919
+ char * substitutename = NULL ;
917
920
size_t substitutename_len ;
918
921
int substitutename_off = 0 ;
919
922
wchar_t tmpsubstname [MAXPATHLEN ];
@@ -951,13 +954,15 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
951
954
if (pbuffer -> ReparseTag == IO_REPARSE_TAG_SYMLINK ) {
952
955
reparsetarget = pbuffer -> SymbolicLinkReparseBuffer .ReparseTarget ;
953
956
isabsolute = (pbuffer -> SymbolicLinkReparseBuffer .Flags == 0 ) ? 1 : 0 ;
957
+ #if VIRTUAL_CWD_DEBUG
954
958
printname = php_win32_ioutil_w_to_any (reparsetarget + pbuffer -> MountPointReparseBuffer .PrintNameOffset / sizeof (WCHAR ));
955
959
if (!printname ) {
956
960
free_alloca (pbuffer , use_heap_large );
957
961
free_alloca (tmp , use_heap );
958
962
FREE_PATHW ()
959
963
return -1 ;
960
964
}
965
+ #endif
961
966
962
967
substitutename_len = pbuffer -> MountPointReparseBuffer .SubstituteNameLength / sizeof (WCHAR );
963
968
if (substitutename_len > MAXPATHLEN ) {
@@ -972,21 +977,25 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
972
977
if (!substitutename ) {
973
978
free_alloca (pbuffer , use_heap_large );
974
979
free_alloca (tmp , use_heap );
980
+ #if VIRTUAL_CWD_DEBUG
975
981
free (printname );
982
+ #endif
976
983
FREE_PATHW ()
977
984
return -1 ;
978
985
}
979
986
}
980
987
else if (pbuffer -> ReparseTag == IO_REPARSE_TAG_MOUNT_POINT ) {
981
988
isabsolute = 1 ;
982
989
reparsetarget = pbuffer -> MountPointReparseBuffer .ReparseTarget ;
990
+ #if VIRTUAL_CWD_DEBUG
983
991
printname = php_win32_ioutil_w_to_any (reparsetarget + pbuffer -> MountPointReparseBuffer .PrintNameOffset / sizeof (WCHAR ));
984
992
if (!printname ) {
985
993
free_alloca (pbuffer , use_heap_large );
986
994
free_alloca (tmp , use_heap );
987
995
FREE_PATHW ()
988
996
return -1 ;
989
997
}
998
+ #endif
990
999
991
1000
992
1001
substitutename_len = pbuffer -> MountPointReparseBuffer .SubstituteNameLength / sizeof (WCHAR );
@@ -1002,7 +1011,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
1002
1011
if (!substitutename ) {
1003
1012
free_alloca (pbuffer , use_heap_large );
1004
1013
free_alloca (tmp , use_heap );
1014
+ #if VIRTUAL_CWD_DEBUG
1005
1015
free (printname );
1016
+ #endif
1006
1017
FREE_PATHW ()
1007
1018
return -1 ;
1008
1019
}
@@ -1065,9 +1076,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i
1065
1076
fprintf (stderr , "reparse: print: %s " , printname );
1066
1077
fprintf (stderr , "sub: %s " , substitutename );
1067
1078
fprintf (stderr , "resolved: %s " , path );
1079
+ free (printname );
1068
1080
#endif
1069
1081
free_alloca (pbuffer , use_heap_large );
1070
- free (printname );
1071
1082
free (substitutename );
1072
1083
1073
1084
if (isabsolute == 1 ) {
0 commit comments