Make WordPress Core

Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#20017 closed defect (bug) (fixed)

Reduce memory usage in kses.php

Reported by: duck_ Owned by: duck_
Milestone: 3.4 Priority: normal
Severity: normal Version:
Component: Performance Keywords: has-patch needs-testing
Focuses: Cc:


Our allowed attributes rules in kses.php create a large number of empty arrays. These can all be replaced with true instead. This reduces memory usage by 62 kilobytes - not huge, but it all adds up.

This change is possible because the arrays are only used for attribute value checks, see wp_kses_attr(). Anything other than array just indicates that the attribute is allowed, see kses README and docs/attribute-value-checks for examples.

The block that filters style attributes with safecss_filter_attr() has to be moved out of the is_array() check to accommodate for this.

Attachments (1)

20017.diff (15.7 KB) - added by duck_ 2 years ago.

Download all attachments as: .zip

Change History (6)

duck_2 years ago

comment:1 follow-up: nacin2 years ago

With the patch, array() will still work, right?

comment:2 in reply to: ↑ 1 duck_2 years ago

Replying to nacin:

With the patch, array() will still work, right?


comment:3 duck_2 years ago

  • Owner set to duck_
  • Resolution set to fixed
  • Status changed from new to closed

In [19976]:

Reduce memory usage in wp-includes/kses.php by switching unnecessary empty arrays to boolean. Fixes #20017.

safecss_filter_attr() block for style tags must be moved out of the is_array() only branch of wp_kses_attr() to accommodate for this.

comment:4 duck_2 years ago

  • Milestone changed from Awaiting Review to 3.4

comment:5 westi2 years ago

Great work!

Note: See TracTickets for help on using tickets.