id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 11138,filesystem::path::canonical() failed with junction points on Windows,yanggehua@…,Beman Dawes,"Hi, In my recent use of filesystem in Boost 1.57, the call of path::canonical() on Windows 7 returns an invalid path if part of the path in question is a junction point. This failure can be reproduced with the following code: {{{#!C++ // ""C:\Gehua"" is a junction point of ""D:\Gehua"" fs::path work(""d:/Gehua/work""); fs::path work_canonical(fs::canonical(work)); std::wstring s = fs::canonical(work_canonical).native(); // True path passes assert(s == L""d:/Gehua\\work""); // try the junction path fs::path work_junction(""c:/Gehua/work""); // this passes assert(fs::exists(work_junction)); s = fs::canonical(work_junction).native(); // this one fails! // s has value ""c:/Gehua\\Gehua\\work"" assert(s == L""d:/Gehua\\work""); }}} The call returned a value of ""c:/Gehua\\Gehua\\work"", which was wrong. ",Bugs,new,To Be Determined,filesystem,Boost 1.57.0,Problem,,"filesystem, path, canonical",