summaryrefslogtreecommitdiff
path: root/sal/osl/w32
diff options
context:
space:
mode:
authorIsamu Mogi <saturday6c@gmail.com>2013-06-04 13:10:44 +0000
committerMiklos Vajna <vmiklos@suse.cz>2013-06-10 09:00:10 +0000
commitd074556e5a62d3b0029babcb02a3b7955a9eb084 (patch)
tree17b07f34da0ba60eb3724be8d1153bd667896871 /sal/osl/w32
parent0cdb92107647d1e1571675b21d421d618ad90c35 (diff)
fdo#41226 Add error handling of recursed GetCaseCorrectPathNameEx()
This is a cherry-pick of 6d2e3bdac27ade56031d930c85e906c0d35877bc . GetCaseCorrectPathNameEx() with bCheckExistence = true doesn't support windows share path but occasionally it doesn't return failure and returns broken result. For example, when we call with "\\USER-PC\Users\foo" then it converts the path to "\Users\foo". And when "\Users\foo" exists, it returns "\Users\foo". It is caused by missing error handling of searching for file "\\USER-PC". Also similar bug possibly occurs even for local file path. This commit fixes these bugs. Change-Id: If4e390fa99f27fcc2d458bc0f2f53d83bd03719b Reviewed-on: https://gerrit.libreoffice.org/4211 Reviewed-by: Miklos Vajna <vmiklos@suse.cz> Tested-by: Miklos Vajna <vmiklos@suse.cz>
Diffstat (limited to 'sal/osl/w32')
-rw-r--r--sal/osl/w32/file_url.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/sal/osl/w32/file_url.cxx b/sal/osl/w32/file_url.cxx
index fb1fa459a61f..e9be89598768 100644
--- a/sal/osl/w32/file_url.cxx
+++ b/sal/osl/w32/file_url.cxx
@@ -486,7 +486,8 @@ static DWORD GetCaseCorrectPathNameEx(
else
bSkipThis = FALSE;
- GetCaseCorrectPathNameEx( lpszPath, cchBuffer, nSkipLevels, bCheckExistence );
+ if ( !GetCaseCorrectPathNameEx( lpszPath, cchBuffer, nSkipLevels, bCheckExistence ) )
+ return 0;
PathAddBackslash( lpszPath, cchBuffer );