RESOLVED FIXED 104307
[curl] Incorrect stripping of query from file URL
https://bugs.webkit.org/show_bug.cgi?id=104307
Summary [curl] Incorrect stripping of query from file URL
Mike Enright
Reported 2012-12-06 14:43:46 PST
CURL: Incorrect stripping of query from file URL: A URL of file:///dir/foo3.html?3 Turns into file:///dir/foo Before being passed to CURL. The cause is in ResourceHandleManager.cpp ResourceHandleManager::initializeHandle. When kurl.isLocalFile() is true, the query string is obtained and then: int queryIndex = url.find(query); if (queryIndex != -1) url = url.left(queryIndex - 1); The fix is to change the find to reverseFind. I have seen that the CURL code is not popular, but it is still in SVN. I looked briefly for equivalent logic in the Soup code but I didn't find query strings being stripped, just fragment identifiers.
Attachments
proposed patch (1.69 KB, patch)
2013-05-30 06:56 PDT, Peter Gal
no flags
Peter Gal
Comment 1 2013-05-30 06:56:58 PDT
Created attachment 203351 [details] proposed patch This is a more robust solution than doing a reverseFind. For example: file:///dir/file3.html?3&3 the reverseFind would end up something with: file:///dir/file3.html?3 but with this patch it'll be: file:///dir/file3.html
WebKit Commit Bot
Comment 2 2013-05-30 08:12:46 PDT
Comment on attachment 203351 [details] proposed patch Clearing flags on attachment: 203351 Committed r150964: <http://trac.webkit.org/changeset/150964>
WebKit Commit Bot
Comment 3 2013-05-30 08:12:48 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.