swiftlang / swift

The Swift Programming Language
https://swift.org
Apache License 2.0
67.3k stars 10.34k forks source link

[SR-14626] Initializing a URL(string:) with a Google static maps URL's returns nil #56978

Open BrentMifsud opened 3 years ago

BrentMifsud commented 3 years ago
Previous ID SR-14626
Radar rdar://problem/77930421
Original Reporter @BrentMifsud
Type Bug
Additional Detail from JIRA | | | |------------------|-----------------| |Votes | 0 | |Component/s | | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: 57b196d67ba737690cd54b1eab651417

Issue Description:

Some URLs from google maps are returning null when initializing using:

URL(string:)

I know the URLs are valid because they work in a browser.

Here is a sample google maps URL that is experiencing this issue (can be pasted into a browser):

https://maps.google.com/maps/api/staticmap?sensor=false&size=635x300&markers=color:red%7Clabel:A%7C43.6321918,-79.4114418&markers=color:red%7Clabel:Z%7C43.6474556,-79.4882329&maptype=roadmap&path=color:0x0000ff%7Cweight:4%7Cenc:e|hiGn`ucNHh@Hj@Hl@Jn@Lp@Nr@Nt@Nv@Nv@Pv@Pv@Nv@Nv@Lt@Jv@Jv@Hv@Hv@Fv@Fv@Fv@Fv@Fv@Ft@Ft@Ft@Ft@Ft@Ft@Ft@Ft@Dt@Dv@Dv@Dv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bt@Br@Bp@@p@?n@An@El@Il@Kj@Mh@Oh@Of@Od@Od@Od@Od@Ob@Od@Od@Md@Qb@Q`@Q^S^U`@U`@U`@S`@S^Q\Q\QZOZOXOXOZOXOXMXMXMZK\I\G^G`@Eb@Eb@Cb@Cb@Cd@Cd@Cf@Ef@Ef@Ef@Ed@Eb@Cf@Cd@Ad@Ad@Ad@Ad@Ad@Af@Af@Ah@Ch@Gh@Gd@Ih@Kf@Mb@O`@O^MXO\O^Q^Q`@Q`@Qb@Qd@Qf@Qf@Sh@Sh@Sj@Sj@Sj@Sj@Qj@Uh@Sh@Sh@Qj@Ql@On@Op@Qr@Qr@St@St@Sr@Sp@Sn@Ql@Qj@Oj@Oj@Mh@Mh@Kf@Kf@If@Ih@Ij@Il@In@Kp@Kt@Kv@Kx@Kx@Kz@Iz@Iz@Iz@Gx@Gx@Gv@Gt@Ep@En@El@Ch@Cf@A`@A\?X?T?P?L????????????????????????????????????????????????????????????????????????????????????????????????????????????????@T??????????????????NE@O?`@?X@X??@d@Bx@@`@@b@?d@?f@?f@?h@?j@?j@?l@?l@?n@@n@@n@@n@Bn@Bn@Bl@Dj@Dj@Df@D`@DZDT??BP????D`@????????????????????DR??????????????????????????????????????????????????????????????????????????Aa@?A@N@NBVDZD\D^D`@Fb@Fb@Dd@Dd@Bd@@d@@f@?d@?d@?b@?b@@b@B`@B`@D^D^F\H\HZJ\L\NZPZPZNVPZNXLXJXJVHTFP??DN??????????????????????????J\??EBCEBJBN??H\Jh@Jb@Jb@Ld@Ld@Ld@Lf@Ld@Lf@Ld@Lb@J`@J\HXHVHRFNFL??@V?`@MJQJSJULWLWLWLULULSLSL??WPg@\QLQLOLOLMLKLMLML??GVId@DVFXHXHXHX??J^Pp@LVLXJXJXJVJVJVJVJTJRJPHNHLHLFJDJ?PANENGPGRGRET??AXAd@??@N????BZ??????DV???????????????????????????????????n@GPEBGFIHMLONOROR??SX]d@MRMRMPMPMPMPMLOLOLOJMLKNINIPIRKTMVMVOXOXQZOZOZQZQZSZSZUZUZUZUXUXUXUXSXSXQXQXQTQRQNSLSHUDSDSFQHQJONOPMPMTMVKXKXKZKZK\M\M\M\MZMZMXMXMXMXMVKVKVKVKVIVIVIVGT??KXSh@INKPMPORORQTQVQVOTMTKP??IN??????SZ??YRCSCOGKKIMIOIOIQIQIQIQIQIQGQEQC??U?_@@MFMHMLONOPOROROTOTOTOTMRMRKPKNINININIRITIVGXEXEXCXEZCVETGRGPGNGLGJ??IJ??QT????????????????????????????????????????????????????&key=AIzaSyDK8vE3Oox35In0S70nREYJs0i4sumUjLo

Here is the same URL with escape characters (can be pasted into URL(string🙂 for testing):

https://maps.google.com/maps/api/staticmap?sensor=false&size=635x300&markers=color:red%7Clabel:A%7C43.6321918,-79.4114418&markers=color:red%7Clabel:Z%7C43.6474556,-79.4882329&maptype=roadmap&path=color:0x0000ff%7Cweight:4%7Cenc:e|hiGn`ucNHh@Hj@Hl@Jn@Lp@Nr@Nt@Nv@Nv@Pv@Pv@Nv@Nv@Lt@Jv@Jv@Hv@Hv@Fv@Fv@Fv@Fv@Fv@Ft@Ft@Ft@Ft@Ft@Ft@Ft@Ft@Dt@Dv@Dv@Dv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bv@Bt@Br@Bp@@p@?n@An@El@Il@Kj@Mh@Oh@Of@Od@Od@Od@Od@Ob@Od@Od@Md@Qb@Q`@Q^S^U`@U`@U`@S`@S^Q\\Q\\QZOZOXOXOZOXOXMXMXMZK\\I\\G^G`@Eb@Eb@Cb@Cb@Cd@Cd@Cf@Ef@Ef@Ef@Ed@Eb@Cf@Cd@Ad@Ad@Ad@Ad@Ad@Af@Af@Ah@Ch@Gh@Gd@Ih@Kf@Mb@O`@O^MXO\\O^Q^Q`@Q`@Qb@Qd@Qf@Qf@Sh@Sh@Sj@Sj@Sj@Sj@Qj@Uh@Sh@Sh@Qj@Ql@On@Op@Qr@Qr@St@St@Sr@Sp@Sn@Ql@Qj@Oj@Oj@Mh@Mh@Kf@Kf@If@Ih@Ij@Il@In@Kp@Kt@Kv@Kx@Kx@Kz@Iz@Iz@Iz@Gx@Gx@Gv@Gt@Ep@En@El@Ch@Cf@A`@A\\?X?T?P?L????????????????????????????????????????????????????????????????????????????????????????????????????????????????@T??????????????????NE@O?`@?X@X??@d@Bx@@`@@b@?d@?f@?f@?h@?j@?j@?l@?l@?n@@n@@n@@n@Bn@Bn@Bl@Dj@Dj@Df@D`@DZDT??BP????D`@????????????????????DR??????????????????????????????????????????????????????????????????????????Aa@?A@N@NBVDZD\\D^D`@Fb@Fb@Dd@Dd@Bd@@d@@f@?d@?d@?b@?b@@b@B`@B`@D^D^F\\H\\HZJ\\L\\NZPZPZNVPZNXLXJXJVHTFP??DN??????????????????????????J\\??EBCEBJBN??H\\Jh@Jb@Jb@Ld@Ld@Ld@Lf@Ld@Lf@Ld@Lb@J`@J\\HXHVHRFNFL??@V?`@MJQJSJULWLWLWLULULSLSL??WPg@\\QLQLOLOLMLKLMLML??GVId@DVFXHXHXHX??J^Pp@LVLXJXJXJVJVJVJVJTJRJPHNHLHLFJDJ?PANENGPGRGRET??AXAd@??@N????BZ??????DV???????????????????????????????????n@GPEBGFIHMLONOROR??SX]d@MRMRMPMPMPMPMLOLOLOJMLKNINIPIRKTMVMVOXOXQZOZOZQZQZSZSZUZUZUZUXUXUXUXSXSXQXQXQTQRQNSLSHUDSDSFQHQJONOPMPMTMVKXKXKZKZK\\M\\M\\M\\MZMZMXMXMXMXMVKVKVKVKVIVIVIVGT??KXSh@INKPMPORORQTQVQVOTMTKP??IN??????SZ??YRCSCOGKKIMIOIOIQIQIQIQIQIQGQEQC??U?_@@MFMHMLONOPOROROTOTOTOTMRMRKPKNINININIRITIVGXEXEXCXEZCVETGRGPGNGLGJ??IJ??QT????????????????????????????????????????????????????&key=AIzaSyDK8vE3Oox35In0S70nREYJs0i4sumUjLo
typesanitizer commented 3 years ago

@swift-ci create