Bug 56003 - URI returns wrong absolute path on OSX when File name is UTF-8
Summary: URI returns wrong absolute path on OSX when File name is UTF-8
Status: RESOLVED FIXED
Alias: None
Product: Class Libraries
Classification: Mono
Component: System (show other bugs)
Version: master
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Alexis Christoforides
URL:
Depends on:
Blocks:
 
Reported: 2017-05-04 19:14 UTC by Michael DeRoy
Modified: 2017-10-19 20:32 UTC (History)
3 users (show)

See Also:
Tags: bugpool
Is this bug a regression?: ---
Last known good build:


Attachments
Visual Studio Project REPRO (10.96 KB, application/zip)
2017-05-04 19:14 UTC, Michael DeRoy
Details

Description Michael DeRoy 2017-05-04 19:14:24 UTC
Created attachment 21959 [details]
Visual Studio Project REPRO

To Repro, download the attached Visual Studio for mac project
The English File's excURL will be correct
"file:///Users/Text.txt"
The Others Will repeat the path once after returning it
"file:///Users/%D0%A2%D0%B5%D0%BA%D1%81%D1%82.txt/Users/%D0%A2%D0%B5%D0%BA%D1%81%D1%82.txt"
Comment 1 Alexis Christoforides 2017-10-12 20:37:25 UTC
Update: The bug involves parsing the "path" section as both path and host. CreateHostString() returns an empty string for the non-UTF8 path.

The URI construction reaches CreateHostString() with these extra flags on the UTF-8 case: HasUnicode, HostUnicodeNormalized, UseOrigUncdStrOffset, PathIriCanonical. The first one is trivially set by CheckForUnicode(), I am looking into how the process is affected the rest.
Comment 2 Alexis Christoforides 2017-10-12 20:54:40 UTC
This seems to be a regression from: https://github.com/mono/mono/commit/b5dc9a4951bd35b61b29faa4df93bca3c31bfa3e

Commenting out the "newHost = null" fixes the issue.  The fix may be to adjust CreateUriInfo instead of removing the host.
Comment 3 Alexis Christoforides 2017-10-19 20:32:15 UTC
Fixed with https://github.com/mono/mono/pull/5778

Note You need to log in before you can comment on or make changes to this bug.