diff options
-rw-r--r-- | includes/common.inc | 2 | ||||
-rw-r--r-- | modules/filter/filter.test | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/includes/common.inc b/includes/common.inc index fdd5f64d6..3cd3fa149 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -1441,7 +1441,7 @@ function _filter_xss_attributes($attr) { } // The attribute list ends with a valueless attribute like "selected". - if ($mode == 1) { + if ($mode == 1 && !$skip) { $attrarr[] = $attrname; } return $attrarr; diff --git a/modules/filter/filter.test b/modules/filter/filter.test index 954c7eaa8..973a0b779 100644 --- a/modules/filter/filter.test +++ b/modules/filter/filter.test @@ -912,6 +912,9 @@ class FilterUnitTestCase extends DrupalUnitTestCase { $f = _filter_html('<p onerror="alert(0);" />', $filter); $this->assertNoNormalized($f, 'onerror', t('HTML filter should remove on* attributes on default.')); + + $f = _filter_html('<code onerror> </code>', $filter); + $this->assertNoNormalized($f, 'onerror', t('HTML filter should remove empty on* attributes on default.')); } /** |