From e130a31441459d22ac646e1f80ae75ccda27aa61 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Wed, 27 Jan 2010 16:46:43 +0000 Subject: [PATCH] - don't go through the reparse code when we have a share or DFS path (should fix #50542) --- TSRM/tsrm_virtual_cwd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index ed4e5a3d71..66949fabcc 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; -- 2.40.0