summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-07-01 19:41:18 +0000
committerDries Buytaert <dries@buytaert.net>2010-07-01 19:41:18 +0000
commite4be0eb7e849ea9d132a2bcf1a4ee5087db8bf75 (patch)
tree17e1dd46d6f82bce4815d4cb96b0b43bdf266983
parenta1277471c8b9032445714ff0302df907d94414dc (diff)
downloadbrdo-e4be0eb7e849ea9d132a2bcf1a4ee5087db8bf75.tar.gz
brdo-e4be0eb7e849ea9d132a2bcf1a4ee5087db8bf75.tar.bz2
- Patch #327331 by mr.baileys, wrwrwr: fix filter_xss() to not allow empty style/on* attributes at end of opening tag.
-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.'));
}
/**