From: Pierre Joye Date: Thu, 4 Feb 2010 09:29:24 +0000 (+0000) Subject: - don't go through the reparse code when we have a share or DFS path X-Git-Tag: php-5.3.2RC2~46 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=67ec39e86b5a9440146fc13a9081f69508637c63;p=php - don't go through the reparse code when we have a share or DFS path --- diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index a076ea99d9..dd3d123a18 100644 --- a/TSRM/tsrm_virtual_cwd.c +++ b/TSRM/tsrm_virtual_cwd.c @@ -714,7 +714,9 @@ static int tsrm_realpath_r(char *path, int start, int len, int *ll, time_t *t, i tmp = tsrm_do_alloca(len+1, use_heap); memcpy(tmp, path, len+1); - if(save && (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) { + if(save && + !(IS_UNC_PATH(path, len) && len >= 3 && path[2] != '?') && + (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)) { /* File is a reparse point. Get the target */ HANDLE hLink = NULL; REPARSE_DATA_BUFFER * pbuffer;