CURL: Incorrect stripping of query from file URL:
A URL of
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.
Created attachment 203351 [details]
This is a more robust solution than doing a reverseFind.
the reverseFind would end up something with:
but with this patch it'll be:
Comment on attachment 203351 [details]
Clearing flags on attachment: 203351
Committed r150964: <http://trac.webkit.org/changeset/150964>
All reviewed patches have been landed. Closing bug.