parse_url incorrect when ? in fragment

Bug #50073 parse_url incorrect when ? in fragment
Submitted: 2009-11-04 09:01 UTC Modified: 2009-11-04 13:44 UTC
From: kurt at blackwell dot id dot au Assigned: iliaa (profile)
Status: Closed Package: URL related
PHP Version: 5.*, 6 OS: *
Private report: No CVE-ID: None

 [2009-11-04 09:01 UTC] kurt at blackwell dot id dot au

Description:
------------
parse_url incorrectly parses URLs with no query and a '?' in the 
fragment.  It will either interpret the fragment as the query, or split 
the fragment between the host and query.

Reproduce code:
---------------
print_r(parse_url('http://www.example.com/#a?b'));
print_r(parse_url('http://www.example.com#a?b'));

Expected result:
----------------
Array
(
    [scheme] => http
    [host] => www.example.com
    [path] => /
    [fragment] => a?b
)
Array
(
    [scheme] => http
    [host] => www.example.com
    [fragment] => a?b
)

Actual result:
--------------
Array
(
    [scheme] => http
    [host] => www.example.com
    [path] => /
    [query] => a?b
)
Array
(
    [scheme] => http
    [host] => www.example.com#a
    [query] => b
)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2009-11-04 13:44 UTC] iliaa@php.net

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.