summaryrefslogtreecommitdiff
path: root/src/binder/assemblybinder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/binder/assemblybinder.cpp')
-rw-r--r--src/binder/assemblybinder.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/binder/assemblybinder.cpp b/src/binder/assemblybinder.cpp
index 1e68e55002..1e760ee80a 100644
--- a/src/binder/assemblybinder.cpp
+++ b/src/binder/assemblybinder.cpp
@@ -173,9 +173,18 @@ namespace BINDER_SPACE
dwCCFullAssemblyPath,
pwzFullAssemblyPath,
NULL);
+ if (dwCCFullAssemblyPath > MAX_LONGPATH)
+ {
+ fullAssemblyPath.CloseBuffer();
+ pwzFullAssemblyPath = fullAssemblyPath.OpenUnicodeBuffer(dwCCFullAssemblyPath - 1);
+ dwCCFullAssemblyPath = WszGetFullPathName(assemblyPath.GetUnicode(),
+ dwCCFullAssemblyPath,
+ pwzFullAssemblyPath,
+ NULL);
+ }
fullAssemblyPath.CloseBuffer(dwCCFullAssemblyPath);
- if ((dwCCFullAssemblyPath == 0) || (dwCCFullAssemblyPath > (MAX_LONGPATH + 1)))
+ if (dwCCFullAssemblyPath == 0)
{
hr = HRESULT_FROM_GetLastError();
}