GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||
GeezerVison is showing github.com — [3.9] bpo-43882 Remove the newline, and tab early. From query and fragments. by orsenthil · Pull Request #25853 · python/cpython Conversation
|
| def test_urlsplit_remove_unsafe_bytes(self): | ||
| # Remove ASCII tabs and newlines from input | ||
| url = "http://www.python.org/java\nscript:\talert('msg\r\n')/#frag" | ||
| url = "http\t://www.python.org/java\nscript:\talert('msg\r\n')/?query\n=\tsomething#frag\nment" |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
i suggest also adding a \r in the middle of the netloc for good measure. www.python\r.org perhaps?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
When you're done making the requested changes, leave the comment: |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
fwiw this PR is against 3.9. i assume you'll "backport to main and 3.10" once those aren't actively being release branched and renamed? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Yes, exactly. I wanted to time window to be utilized for 3.9 and 3.8. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@orsenthil: Please replace |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| for b in _UNSAFE_URL_BYTES_TO_REMOVE: | ||
| url = url.replace(b, "") | ||
| scheme = scheme.replace(b, "") |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
According to the typeshed, the scheme argument to urlparse is Optional. However, with this change, a value of None will result in an error like:
AttributeError: 'NoneType' object has no attribute 'replace'
I'm not sure whether the typeshed is wrong or if this line should be guarded with if scheme is not None, but we should definitely fix one or the other and perhaps improve the documentation on this option.
Thanks to @branchvincent for doing the digging and reporting this issue to me.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.