WordPress.org

Make WordPress Core

#23201 closed defect (bug) (duplicate)

post-template.php calls in_array() without checking args

Reported by: gcrumb Owned by:
Milestone: Priority: normal
Severity: normal Version:
Component: Template Keywords: reporter-feedback
Focuses: Cc:

Description

Line 1039 of wp-includes/post-template looks like:

if ( in_array( $page->ID, $_current_page->ancestors ) )

... but in some circumstances, $_current_page->ancestors is null, which results in an error being thrown. I suggest testing the variable before passing it:

if ( gettype($_current_page->ancestors) === 'array' && in_array( $page->ID, $_current_page->ancestors ) )

Change History (4)

comment:1 kovshenin15 months ago

  • Cc kovshenin added
  • Keywords reporter-feedback added; has-patch removed

Hey there!

in some circumstances, $_current_page->ancestors is null

Can you elaborate on that? Under what circumstances will ancestors be null? Also, you can use is_array rather than gettype. Thanks!

comment:3 johnbillion15 months ago

I believe this was fixed in r23213.

comment:4 SergeyBiryukov15 months ago

  • Milestone Awaiting Review deleted
  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #22882.

Note: See TracTickets for help on using tickets.