[wp-trac] [WordPress Trac] #17670: PHP Notices from get_page_by_path()
WordPress Trac
wp-trac at lists.automattic.com
Fri Oct 28 10:25:56 UTC 2011
#17670: PHP Notices from get_page_by_path()
------------------------------------------------------+------------------
Reporter: dd32 | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 3.3
Component: Warnings/Notices | Version: 3.1
Severity: normal | Resolution:
Keywords: has-patch needs-testing needs-unit-tests |
------------------------------------------------------+------------------
Comment (by duck_):
I was looking at the latest patch again and working through its logic when
I noticed a major problem both with it and the current code in trunk.
Create two similar hierarchies of pages, but with one missing the highest
level page, e.g.
{{{
level-0 > level-1 > level-2
level-1 > level-2
}}}
where > indicates "parent of". Make sure you give them content that you
can distinguish them by, e.g. their slug and the slugs of their ancestors,
and create them in the order displayed so that the deeper "level-2" has a
lower ID.
Now visit /level-1/level-2 and you will receive the wrong level-2 page.
The problem currently in trunk is that when we try to lookup the parent of
level-1 we get NULL as level-0 isn't in the array of pages, so the while
loop (line 3171) stops and the if statement (line 3178) passes since the
count is correct.
17670.6.diff is broken in a similar way, but without the PHP notices.
Attaching 17670.7.diff to check that we've reached the root of a tree of
pages before accepting.
I think that the issue raised in this comment is a blocker for release.
This ticket should either be repurposed to reflect that or closed as dupe
of a new ticket, any preferences?
--
Ticket URL: <http://core.trac.wordpress.org/ticket/17670#comment:21>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list