From fcc532470aa56e7a2e345f7f2396774787feb2ce Mon Sep 17 00:00:00 2001 From: KWSys Upstream Date: Wed, 24 Aug 2016 10:53:55 -0400 Subject: [PATCH] KWSys 2016-08-24 (8e643b9b) Code extracted from: http://public.kitware.com/KWSys.git at commit 8e643b9b5f24d4cac68d59b1e2be9d161fb75974 (master). Upstream Shortlog ----------------- Brad King (1): 8e643b9b SystemTools: Fix crash in GetShortPath --- SystemTools.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SystemTools.cxx b/SystemTools.cxx index eb2bec65f..1a73b164b 100644 --- a/SystemTools.cxx +++ b/SystemTools.cxx @@ -4725,8 +4725,11 @@ bool SystemTools::GetShortPath(const std::string& path, std::string& shortPath) std::wstring wtempPath = Encoding::ToWide(tempPath); DWORD ret = GetShortPathNameW(wtempPath.c_str(), NULL, 0); std::vector buffer(ret); - ret = GetShortPathNameW(wtempPath.c_str(), - &buffer[0], static_cast(buffer.size())); + if (ret != 0) + { + ret = GetShortPathNameW(wtempPath.c_str(), + &buffer[0], static_cast(buffer.size())); + } if (ret == 0) {