Skip to content

Commit b40582c

Browse files
authored
Merge pull request #681 from Automattic/fix/680-properescapingfunctions-match-precision
ProperEscapingFunction: further improve attribute matching
2 parents 7666bf2 + a2ab688 commit b40582c

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

WordPressVIPMinimum/Sniffs/Security/ProperEscapingFunctionSniff.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class ProperEscapingFunctionSniff extends Sniff {
2323
*
2424
* @var string
2525
*/
26-
const ATTR_END_REGEX = '`(?<attrname>href|src|url|(^|\s+)action)?=(?:\\\\)?["\']*$`i';
26+
const ATTR_END_REGEX = '`(?<attrname>href|src|url|(^|\s+)action)?(?<=[a-z0-9_-])=(?:\\\\)?["\']*$`i';
2727

2828
/**
2929
* List of escaping functions which are being tested.

WordPressVIPMinimum/Tests/Security/ProperEscapingFunctionUnitTest.inc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,10 @@ echo '<a href="', esc_html($url), '">'; // Error.
106106
<div>html</div>
107107
<?= '<h1 class="', esc_attr( $test ), '">'; ?><!-- OK -->
108108
<div>html</div>
109+
110+
// Issue #680 - only match = when preceeded by something which could be an HTML attribute.
111+
<option value="<?php echo esc_attr( $i ); ?>" <?php echo ( $filter_importance === $i ) ? 'selected' : ''; ?> >
112+
&gt;=<?php echo esc_html( $i ); ?>
113+
</option>
114+
115+
<A HREF="<?= esc_url($url) ?>" data-num2=<?= esc_attr( $num2 )><?php echo esc_html( $link ); ?><a/>

0 commit comments

Comments
 (0)