Fossil

View Ticket
Login

View Ticket

Ticket Hash: c198af688022e3781e69a27d27bc78b03e1fbd5b
Title: url_parse passes paths through mprintf, breaking % encoding (thus ~ too)
Status: Fixed Type: Code_Defect
Severity: Severe Priority:
Subsystem: Resolution: Fixed
Last Modified: 2010-09-23 02:02:45
Version Found In: b24b2e1bba
Description:
fossil test-urlparser http://donkey.vernier.se/~fossil/picmidi
correctly parses and generates http://donkey.vernier.se/%7Efossil/picmidi, which is stored in the fossil.

On loading the remote-url for sync, pull, push, or merely display, this is passed through url_parse again, with devastating results:

fossil test-urlparser http://donkey.vernier.se/%7Efossil/picmidi
g.urlPath      = /-1.094057E-02fossil/picmidi

I believe the failing line is in src/url.c:
    g.urlPath = mprintf(&zUrl[i]);

anonymous added on 2010-09-23 02:02:45:
Fixed in [a203674aa54063b166fe5999dd55c0443ed3f717], although never acknowledged.