summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc2
-rw-r--r--modules/filter/filter.test3
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>&nbsp;</code>', $filter);
+ $this->assertNoNormalized($f, 'onerror', t('HTML filter should remove empty on* attributes on default.'));
}
/**