pajoye Wed, 27 Jan 2010 16:46:43 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=294102
Log: - don't go through the reparse code when we have a share or DFS path (should fix #50542) Bug: http://bugs.php.net/50542 (Feedback) scandir() cannot open UNC paths since PHP 5.3.1 Changed paths: U php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c U php/php-src/trunk/TSRM/tsrm_virtual_cwd.c Modified: php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c =================================================================== --- php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c 2010-01-27 16:44:48 UTC (rev 294101) +++ php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c 2010-01-27 16:46:43 UTC (rev 294102) @@ -714,7 +714,9 @@ 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; Modified: php/php-src/trunk/TSRM/tsrm_virtual_cwd.c =================================================================== --- php/php-src/trunk/TSRM/tsrm_virtual_cwd.c 2010-01-27 16:44:48 UTC (rev 294101) +++ php/php-src/trunk/TSRM/tsrm_virtual_cwd.c 2010-01-27 16:46:43 UTC (rev 294102) @@ -714,7 +714,9 @@ 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;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php