diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-07-01 19:41:18 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-07-01 19:41:18 +0000 |
commit | e4be0eb7e849ea9d132a2bcf1a4ee5087db8bf75 (patch) | |
tree | 17e1dd46d6f82bce4815d4cb96b0b43bdf266983 | |
parent | a1277471c8b9032445714ff0302df907d94414dc (diff) | |
download | brdo-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.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.')); } /** |